Windows Formsフォームから利用可能なコントロールをC#で取得するにはどうすればよいですか?C#を使用してフォームから利用可能なコントロールを入手する#
0
A
答えて
1
フォーム上のすべてのコントロールを意味すると思います。 フォームオブジェクト内にControls
プロパティを使用するだけです。
foreach(Control c in this.Controls)
{
//TODO:
}
+1
これは、他のコントロールのコンテナである子コントロールに対して再帰的でなければなりません。 – ProfK
5
フォームでこの方法をお試しください。
public static List<Control> GetControls(Control form)
{
var controlList = new List<Control>();
foreach (Control childControl in form.Controls)
{
// Recurse child controls.
controlList.AddRange(GetControls(childControl));
controlList.Add(childControl);
}
return controlList;
}
その後
それを呼び出す:
List<Control> availControls = GetControls(this);
20
それとも、列挙構文でProfKのソリューション:何
public static IEnumerable<Control> GetControls(Control form) {
foreach (Control childControl in form.Controls) { // Recurse child controls.
foreach (Control grandChild in GetControls(childControl)) {
yield return grandChild;
}
yield return childControl;
}
}
+0
+1のための 'yield' :) –
+0
menuitemsだけでなく(コントロールではなく)が含まれますが、それでも何か? –
関連する問題
- 1. 利用可能なアパートを入手
- 2. 再利用可能なコントロール
- 3. ASP.NET MVC再利用可能なコントロールが
- 4. 利用可能なスペースをすべて入力欄に記入してフォームを作成できますか?
- 5. Zendのフォーム再利用可能なデコレータ
- 6. スピーチテキスト(TTS)の使用可能なロケールを入手する
- 7. SharePointで利用可能なサイトの一覧をユーザーに入手する
- 8. コントロールが利用可能かどうかを確認する
- 9. 利用可能なフィルタリング利用可能なタスクグループ別のギャラリストタスク
- 10. ASP.net C#グローバルに利用可能なオブジェクト
- 11. 再利用可能なコンストラクタC++
- 12. 再利用可能なhtmlコントロールについてjavascriptコード
- 13. Pythonで利用可能なシステムメモリを使用していますか?
- 14. Cocoaバインディングを使用して再利用可能なフォームを作成するには?
- 15. jQueryUIを使用してソート可能なリストをフォームで使用する
- 16. 利用可能な場合にゲームセンターを使用する
- 17. ジェネリックを使用する再利用可能なインタフェース
- 18. Solrで利用可能なLuceneインデックスを使用する
- 19. ロールバックを使用した再利用可能なJPAトランザクションメソッドのヘルプ
- 20. ANT - Javaを使用してAntライブラリから利用可能なタスクのリストを取得するには
- 21. 利用可能なすべての印刷/ FAXドライバのリストを入手するには
- 22. ソケット、利用可能なバイト数を取得する(C#)
- 23. Interface Builderを使用して再利用可能な日付ピッカーが可能ですか?
- 24. PythonまたはC++から利用可能な帯域幅を見つける
- 25. 再利用可能なプリプロセッサ__COUNTER__
- 26. 再利用可能なコンポーネント
- 27. 利用可能なデータ
- 28. Java - 利用可能なガベージコレクションアルゴリズム
- 29. 利用可能なCRANビネット
- 30. 再利用可能なコードを作る
それは再帰的にすべてのフォーム上のコントロール、そして子供たちを取得しますあなたは "Available"を意味しますか? – Peter
あなたの質問にフレーズを付ける方法を考えてみることをお勧めします。私たちはここでテレパシーではありません。 – Cerebrus
@Cerebrus:私は質問の質が本当にひどいことに同意しますが、英語の技能が非常に悪く、このような質問を書くことが手近な辞書で30分かかった人が多くいます。悲しい、私は知っている。 –