C#根据控件名获取控件对象

原创 2014年11月07日 11:05:57

需求:在一个项目中,要实现一个控件选择功能,如果一个个的去判断,代码会十分难看,由于控件名有规律,是否可以根据控件直接找到对应的控件对象?

实现:利用反射

可用于WPF:

object o = this.GetType().GetField(name, System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.IgnoreCase).GetValue(this);   
            return ((Control)o); 

可用于Winform:

        private void button2_Click(object sender, EventArgs e)
        {
            ((Button)(this.Controls.Find("button1", false)[0])).Text = "123";
        }


WPF类似于Controls.Find:

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            ((Button)this.FindName("Button1")).Content = "123";
        }

版权声明:本文为博主原创文章,未经博主允许不得转载。

wpf 根据控件的Name 通过反射获取控件对象

///         /// 根据控件的Name获取控件对象         ///         /// 控件类型         /// Name         ///  ...
  • lifeng_beijing
  • lifeng_beijing
  • 2015年11月11日 18:04
  • 3377

WPF如何获取控件之间的相对位置

关于wpf控件的坐标,Canvas中的元素最简单,我们可以直接通过其GetLeft()与GetTop方法来获取,但其它布局面板中的,以及存在于不同布局面 板中的元素中间的相对位置就比较让我们头疼...
  • u013519551
  • u013519551
  • 2014年06月27日 10:59
  • 819

C# 遍历界面指定控件

查找界面上所有的TextBox控件,并给他赋初始值为 "aaa"  public void SetText(Control cc) { foreach ...
  • taoerit
  • taoerit
  • 2016年11月18日 14:38
  • 1373

c# WinForm中查找控件,动态赋值

// /// 在winform中查找控件 /// /// /// /// private System....
  • yinxing408033943
  • yinxing408033943
  • 2012年01月17日 10:01
  • 4202

C#学习笔记:控件的Location属性值的设置与获取

用C#语言设计界面时,常常要设置或者获取控件的位置,这就需要用到Location属性。如果在窗口设计器的属性栏中设置属性值,那么再简单不过了。可是有时候,想要在程序运行时动态设置或获取控件的Locat...
  • qq_28249373
  • qq_28249373
  • 2017年05月26日 19:33
  • 2327

C#中如何遍历窗口中的控件!

private void button1_Click(object sender, EventArgs e)              {                  listBox1.Item...
  • DaChu
  • DaChu
  • 2008年03月02日 13:42
  • 7953

winform 如何获取某个子控件的子控件并操作它

一、 panel1.Controls["button1"]或 panel1.Controls[0] 二、 比如某窗体的子控件为UserControl,且UserControl上有n多个n种控件...
  • u012744024
  • u012744024
  • 2014年03月31日 16:40
  • 2017

C#根据控件名获取控件对象

C#根据控件名获取控件对象
  • socoola
  • socoola
  • 2011年05月18日 11:34
  • 8208

C#控件遍历(获取控件名)

C#中,遍历窗体上的控件,并显示在ListBox1中: private void button1_Click(object sender, EventArgs e)         {     ...
  • lockelk
  • lockelk
  • 2012年04月25日 21:26
  • 1289

winform中如何获得窗体中所有的控件

winform中如何获得窗体中所有的控件(button)http://topic.csdn.net/u/20080331/09/485e5651-b2f3-41d5-833f-8b65deef8b52...
  • lieryan1006
  • lieryan1006
  • 2010年11月26日 15:00
  • 4458
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#根据控件名获取控件对象
举报原因:
原因补充:

(最多只允许输入30个字)