は、同じ形式のパネルで ボタンなどのフォーム内のすべてのボタンを取得します。..どのように私は、Windowsフォームでのボタンコントロールを取得することができます - パネル
6
A
答えて
9
List<Control> list = new List<Control>();
GetAllControl(this, list);
foreach (Control control in list)
{
if (control.GetType() == typeof(Button))
{
//all btn
}
}
private void GetAllControl(Control c , List<Control> list)
{
foreach (Control control in c.Controls)
{
list.Add(control);
if (control.GetType() == typeof(Panel))
GetAllControl(control , list);
}
}
1
この
foreach (var control in this.Controls)
{
if (control.GetType()== typeof(Button))
{
//do stuff with control in form
}
else if (control.GetType() == typeof(Panel))
{
var panel = control as Panel;
foreach (var pan in panel.Controls)
{
if (pan.GetType() == typeof(Button))
{
//do stuff with control in panel
}
}
}
}
+1
ボタンのあるパネルがパネルに含まれている場合、再帰が使用できます。 –
+0
@Nakul:ああ、あなたは正しい答えを@hashi Rは完全にOKです。 –
5
を試してみてください
これは私が行ったことです ボタンをクリックすると簡単な関数を書いて、パネルコントロールのみを選択して、そのパネル上のコントロールをさらにループする関数に渡します。
private void cmdfind_Click(object sender, EventArgs e)
{
try
{
foreach (Control control in this.Controls)
{
if (control.GetType() == typeof(Panel))
//AddToList((Panel)control); //this function pass the panel object so further processing can be done
}
}
catch (System.Exception ex)
{
MessageBox.Show(ex.Message);
}
}
関連する問題
- 1. どのように私はこのようなボタンをWindowsのフォームで作ることができますか?
- 2. どのように私はこのcollallibleパネルをデフォルトで閉じることができますか?
- 3. どのように私は正しい順序で私のリストを取得することができます
- 4. は、どのように私は、テキストを取得することができます前に、と後に「 - 」(ダッシュ)
- 5. は、私は私が得るような値を置き換えることができますどのよう
- 6. どのように私はhtmlイメージタグアンドロイドを得ることができますか?
- 7. はどのように私はHandlerInterceptor.postHandleでRedirectAttributesを取得することができます()メソッド
- 8. どのように私はasp.netでマップ上のデータベースアドレスを取得することができます
- 9. どのようにオブジェクトの値を取得することができます@
- 10. は、どのように私は、テキストの装飾を取得することができます:ディセンダー
- 11. は、どのように私は「System.Drawing.Color」文字列からのSystem.Typeを取得することができます
- 12. angularjs - どのように私はコンテンツの長さのヘッダーを取得することができます
- 13. どのように私は枝のキーの名前を取得することができます
- 14. どのように私はWin2D Windows 10ユニバーサルアプリケーションで別のメニューをオフにすることができます
- 15. どのように私はPythonのuuidモジュールを取得することができます2.4.3
- 16. Pythonの - どのように私はクラスメソッド内からクラス名を取得することができます -
- 17. AngularJS、ui.grid:どのように私は、選択した行のデータを取得することができます
- 18. どのように私はWSO2 ESBにレスポンスボディを取得することができます
- 19. Windowsフォームでツリービューのフルサイズを取得するにはどうすればよいですか?
- 20. 私はどのように私のHTMLフォームを自動化することができますか?Larvel 5
- 21. は、どのように私は私が行うことができますマップ
- 22. どのように私はJSの機能を実行することができますが、フォームが
- 23. 私はテキストの結果を得ることができますどのように私はそれらを配列にプッシュすることができます
- 24. どのように私はrefsを使用することができますマルチレベルコンポーネントを取得することができます
- 25. 私はこの警告を私のプロジェクトからどのように得ることができますか?
- 26. どのように私はサーバーからデータを取得することができますか?
- 27. どのようにWindowsサービスがそのハンドルを取得できますか?
- 28. どのように私はタイプ入力に.LENGTH取得することができます
- 29. Windowsのタイムゾーンをタイムゾーンに変換するにはどうすればいいですか?私はこのようなローカルタイムゾーンを取得することができますが、それはpytzと使用できないのWindows Python環境で
- 30. どのように私のグリッドビュー内のセルの値を取得することができます
WPF、Windowsフォーム、...? –
あなたの質問には、十分に明確ではありません。 – pRimE
質問......? – hcb