动态控件C#无名称属性访问

时间:2009-09-24 09:24:08

标签: c# user-controls

我有一个面板,我的程序正在添加动态控件。要么我想在运行时访问这些控件以更改其颜色或文本。

我知道的唯一方法是:

Control [] myControls = myPanel.Controls.Find( name , true );

问题在于,我的动态控件没有任何名称!他们的名字是“无效的”。 如果我尝试将名称作为空值,则会出错。我怎样才能实现它?我必须给 每个添加控件的名称?

感谢。

3 个答案:

答案 0 :(得分:1)

您可以遍历Controls集合:

 foreach(var control in myPanel.Controls) {

    //Here you do something with the appropriate control.
 }

答案 1 :(得分:1)

可以做这样的事情:

foreach(Control control in myPanel.Controls)
  control.Backcolor=Color.Black;

答案 2 :(得分:0)

也许你可以在每个动态添加的控件中保留一个引用(例如实例字段,在字典中等),并在以后需要访问控件时使用它。