2010-11-22 75 views
1

我有這種情況,我有一個winform,其中有10到15個標籤和組合框,都是不可見的。現在在運行時我傳遞了多少個這些被激活?他們的名字屬性從lable1到lable16,combobox1到combobox16。我只使用下面的代碼來測試我是否可以找到控件,但它似乎失敗了所有,浩和這些控件和組合框是在一個面板上。在winform上找到隱藏的控件,並使它們在運行時可見?

以下是我使用的代碼:

foreach (Control ctrl in this.Controls) 
      { 
       if (ctrl is Label) 
       { 
        MessageBox.Show(((Label)ctrl).Text); 
       } 
      } 
+0

在'else',調用此方法遞歸。 – 2010-11-22 08:38:52

回答

1

您實際上已經有點回答了自己的問題...... 你沒有找到控制在this.Control秒,但Panel1.Controls :)

2

你必須做這個遞歸。

ctrl本身也有一個Controls。如果你只是走遍整個樹,你最終會找到所有的控制。

0

可以檢查電流控制(CTRL)是否有控制或不爲了遍歷他們

如:

if (ctrl.Controls.Count >0) 
{ 
//do your logic here 
} 
相關問題