-3

重複の可能性:
勝利フォームのすべてのコントロールを取得する方法は?

下の写真のようなWinFormがあります。
ここに画像の説明を入力してください
MainFormのすべてのコントロールのリストが必要です。
このように:
MainForm
Button1
Panel1
TextBox1
Panel2
Button2
TextBox2

4

1 に答える 1

7

このようなものは機能するはずです(決して完璧なコードではありません...アイデアを伝えることだけを目的としています):

public IEnumerable<Control> GetSelfAndChildrenRecursive(Control parent)
{
    List<Control> controls = new List<Control>();

    foreach(Control child in parent.Controls)
    {
        controls.AddRange(GetSelfAndChildrenRecursive(child));
    }

    controls.Add(parent);

    return controls;
}

var result = GetSelfAndChildrenRecursive(topLevelControl)
于 2012-12-18T12:41:09.000 に答える