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";
        }

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

相关文章推荐

c#如何获取指定容器控件下的所有同类型控件

在进行c#进行项目开发的时候,有时候经常要在程序中获取相同类型的一些控件进行操作,比如容器中有多个复选框,在程序初始化的时候,我们可能要全部选中或者不选中,那么如此在程序中获取这些控件。以下给出实现过...

C#如何获得动态生成的控件

在c#中很多时候都会动态生成一些控件,但又想对这些控件进行一些其他的操作。该如何获取这些控件了,其实方法很简单。 以textBox为例: foreach(System.Windows.Form...

C# 获取其它程序控件

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; ...

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

///         /// 根据控件的Name获取控件对象         ///         /// 控件类型         /// Name         ///  ...

WPF遍历界面控件

需求是这样的,系统要监测风,雨,雪多个自然灾害。在界面上有这些灾害突发的报警框。本来报警框的背景是由于级别不同显示不同的颜色,但是现在发现,当报警背景为蓝色是,黑色字体 看不出来。又由于技术文档上规定...

C#中Find及Findindex用法

Findindex及find中需要一个参数,可用一个Lambda表达式来表示。 Findindex返回查找内容在列表中的位置,find返回参数相同类型的对象。 注意,如果找不到会报错哦,所以最好加...

[WPF 容易忽视的细节] —— x:Name与Name属性

http://www.cnblogs.com/ColdJokeLife/p/3368683.html 一、前言 WPF使用XAML来对界面进行编写,界面与后台逻辑分离。我们也可以写Styl...

关于如何获取当前焦点控件并判断控件类型

Part1 测试代码,通过分析可以知道焦点变换过程和相关函数作用 [cpp] view plaincopy QLineEdit *lineedit; ...

VS2010的MFC的CMFCButton等类的疑惑

以下CMFCButton类,包含类似的MFC类及其子类。如果有不对的地方,或者更好的用法,麻烦尽快告诉我。刚用到这些控件,没有深入研究。谢:) 新建一个对话框程序,拖一个CMFCButton控件上去(...
  • crybird
  • crybird
  • 2010年11月12日 08:38
  • 6713

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

C#中,遍历窗体上的控件,并显示在ListBox1中: private void button1_Click(object sender, EventArgs e)         {     ...
  • lockelk
  • lockelk
  • 2012年04月25日 21:26
  • 1148
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#根据控件名获取控件对象
举报原因:
原因补充:

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