动态访问表单元素

时间:2012-03-01 14:06:19

标签: c# winforms reflection

在我的winforms应用程序中,我动态创建表单元素(Radiobutton,Label等)。我需要使用其name属性访问特定的表单元素。一个简单的解决方案是使用Form1.Controls迭代每个表单元素并检查其name属性。但在我看来,这个解决方案并没有效果。是否可以使用反射访问特定的表单元素?

1 个答案:

答案 0 :(得分:4)

如果您有权访问控件集合,则可以使用提供的Find()方法

myForm.Controls.Find("ControlName",true);

如果您知道它的类型 - 您也可以将其转换为

TextBox t = (TextBox)myForm.controls.Find("txtFirstName",false);

true或false将指示函数搜索任何子控件。