c#的winform,怎么根据控件的名字获取控件属性!

2024-12-12 08:13:53
推荐回答(5个)
回答1:

1、使用C# 窗体中自带的方法public Control[] Find(string key, bool searchAllChildren)。

2、自己写个foreach 循环方法 foreach (Control control in this.Controls)。

3、直接父级查找子控件this.Controls[key];如果是嵌套的子控件,则需在自己写个递归方法方法获取。

4、最后运行,根据自己的实际需要选择查找方式。


注意事项:

C#使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,而绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。

回答2:

Control control = Controls.Find("button1", true)[0];
//object o = control.GetType().GetProperty("PropertyName").GetValue(control, null);
System.Reflection.EventInfo ev = control.GetType().GetEvent("Click");
你这是要获取事件吧,第二行是获取属性,第三行是获取事件

回答3:

单击你需要的控件或者右键你的控件选择属性,然后在右下角属性中找到事件,在事件中选择你需要的,双击空白处编写。系统会自己在设计器中添加对于该事件的引用。

回答4:

/*[控件名称]:button1*/
Control control = Controls.Find("button1", true)[0];
/*[控件属性]:PropertyName */
object o = control.GetType().GetProperty("PropertyName").GetValue(control, null);
/*[控件事件]:Click */
System.Reflection.EventInfo ev = control.GetType().GetEvent("Click");

回答5:

我也是来问这个问题的,看了有些人的评论不得不说一句,你要是会就把问题给人说清楚讲明白解决掉,要是不想说就不要给人留言回复。