c# - 动态访问表单元素

标签 c# winforms reflection

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

最佳答案

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

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

如果你知道它的类型——你也可以转换它

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

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

关于c# - 动态访问表单元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9517599/

相关文章:

c# - .NET c# - 自定义显示属性

c# - Backgroundworker 内存泄漏和 "using"语句

c# - 使用 Linq 关闭所有 MDI 子窗口

c# - 使用 IS 运算符来识别 Form 的类型

c# - 任何具有跨平台 WP7 Android iOS 移动开发架构经验的人(monotouch、monodroid、C#)

c# - 处理队列中或每个接收到的数据包的 UDP 数据包

c# - Windows 消息 0x02c8 和 0x02c9 是什么?

c# - 如何通过键盘快捷键打开工具栏菜单?

scala - 如何使用新的反射 API 来判断数组的组件类型是否符合类型参数?

go - 在运行时以编程方式创建结构 - 可能吗?