FolderBrowseDialog
をエミュレートするフォームを作成しましたが、追加したい機能がいくつかあります。それはテストされ、働いているので、今私はコントロールにしたいです。 私の問題は、Form
の代わりにUserControl
から継承すると、Close()
メソッドがなくなり、FormClosing
というイベントがなくなったということです。 [OK]または[キャンセル]ボタンをクリックすると、フォームを閉じて呼び出し元オブジェクトに制御を戻すにはどうすればよいですか?FolderBrowserのような再利用可能なコントロールとしてフォームを作成する
0
A
答えて
0
再利用可能なコンポーネントにするには、Control
から派生させるのではなく、そのフォームを使用するComponent
を作成します。これにより、ツールボックスに表示され、他のコンポーネントと同様にコンポーネントのインスタンスをデザイン面にドロップできます。
コンポーネントにはダイアログから公開したいプロパティが含まれている必要があります。また、タイトル、初期ディレクトリなどのプロパティを使用してフォームを作成し、カスタムフォームをダイアログとして表示してプロパティを設定するShowDialog
メソッドもあります。 (選択したフォルダのように)、ダイアログの結果を返します。例:
using System.ComponentModel;
using System.Windows.Forms;
public partial class MyFolderBrowser : Component
{
public string Text { get; set; }
public string SelectcedFolder { get; set; }
public DialogResult ShowDialog()
{
using (var f = new YourCustomForm() { Text = this.Text })
{
var result = f.ShowDialog();
if (result == DialogResult.OK)
SelectcedFolder = f.SelectedFolder;
return result;
}
}
}
関連する問題
- 1. 再利用可能なコントロール
- 2. Xamarin.Formsで再利用可能なXAMLコントロール
- 3. ASP.NET MVC再利用可能なコントロールが
- 4. Zendのフォーム再利用可能なデコレータ
- 5. Google AdWordsで再利用可能な機能を作成する
- 6. 再利用可能なコードを作る
- 7. ストーリーボードを使用した再利用可能なUITableViewの作成
- 8. 再利用可能なiOSコントロールを作成するにはどうすればよいですか?
- 9. ObjectをRealmに渡して再利用可能な関数を作成しようとすると、エラー
- 10. 再利用可能なメソッドを作成する際の問題
- 11. 再利用可能なLinqをストアドプロシージャのSQLに作成する
- 12. LINQ to SQLの再利用可能なチャンクを作成する
- 13. 再利用可能なデータオブジェクトを作成します。
- 14. C#を使用してフォームから利用可能なコントロールを入手する#
- 15. デフォルトの動作でより再利用可能なUITableViewサブクラスを作成する
- 16. JavaScriptを使用して再利用可能なUIコントロールを作成する方法
- 17. クリアボタンで再利用可能なEditTextを作成するには?
- 18. React.jsで再利用可能なヘルパー関数を作成する
- 19. 再利用可能なmatAutocompleteディレクティブを作成する
- 20. Vue.js再利用可能な関数を作成する
- 21. 再利用可能なコンポーネントを作成するreactys
- 22. 再利用可能なコントローラーコンポーネントをリチウムで作成する
- 23. 再利用可能なAsyncTasksをアンドロイドで作成するには?
- 24. 再利用可能なig-gridを作成する方法
- 25. 再利用可能なコンコースパイプラインを作成する
- 26. jQueryで再利用可能なコードを作成するには?
- 27. KnockoutJSで再利用可能なコンポーネントを作成する
- 28. Vue.jsで再利用可能なコンポーネントを作成する方法
- 29. Jqueryで再利用可能な関数を作成する
- 30. Cycle.js再利用可能なモジュールを作成する
ありがとうございます。それは動作します。 – Orcbighter
ありがとうございました。 しかし、私は別の解決策を見つけました。私はクラスライブラリを作成し、 で作成されたトークンclass.csを私のフォームのクラスに置き換えて、名前空間を変更しました。 それは動作しますが、私はあなたのソリューションがより好きです。少し清潔です。 – Orcbighter
コンポーネントを作成しない場合は、設計時にコンポーネントを使用することはできず、コードでのみ使用する必要があります。しかし、コンポーネントを作ることで、実際のフォルダブラウザコンポーネント、タイマーなどのフォームにそのインスタンスをドロップすることができます。 –