C#如何反射获取一个winform上的所有的控件的值

现在创建了一个winform;如何通过反射获取其包含的控件的属性值?

0

3个回答

 void button1_Click()
{
findallctrls(this, x => { MessageBox.Show(x.Name); });
}
void findallctrls(Control c, Action<Control> a)
{
foreach (Control c1 in c.Controls) findallctrls(c1, a);
a();
}
0

不需要反射,用controls集合就可以。
void button1_Click()
{
findallctrls(this, x => { MessageBox.Show(x.Name); });
}
void findallctrls(Control c, Action a)
{
foreach (Control c1 in c.Controls) findallctrls(c1, a);
a();
}

0
caozhy
贵阳挖掘机马善福,自备车辆专业挖游泳池 回复wild84: 看楼下,这个代码的<Control>被编辑器吃了。我重新贴了。
一年多之前 回复
wild84
wild84 这个程序运行出错,提示a方法没有参数;老师要求这样做,说敏捷开发用的多
一年多之前 回复

控件的属性倒是需要反射
void enumallprop(object obj)
{
foreach (var item in obj.GetType().GetProperties())
{
MessageBox.Show(item + "," + item.GetValue(obj, null));
}
}

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C#-使用反射取得窗体上的所有控件,针对部分控件初始化样式
  在作系统软件时,经常有某些模块或者整个软件都会有一个固定的风格。这些风格就凸显了界面的样式,需要去设置一些控件的属性之类的去实现。   面对这种有统一样式的界面时,避免每个程序员在作界面都要每一个界面去设置相同的属性,我这里整理了一个公共方法。该方法通过传窗体对象,通过反射机制取得窗体上的每一个控件,通过循环判断控件类型,对这些不同类型的控件设置它们的属性。   /// &amp;lt;sum...
winform中如何获得窗体中所有的控件
<br />winform中如何获得窗体中所有的控件(button)<br />http://topic.csdn.net/u/20080331/09/485e5651-b2f3-41d5-833f-8b65deef8b52.html
C#获取页面上的所有checkbox控件对象并设置属性
测试系统:win10 64.net版本:4.5.2测试平台:vs2017测试语言:C# .net核心代码: void 设置TextBox属性(Control control, bool enable)///// 界面中所有的TextBox,并设置可读写属性 { if (control is TextBox)//判断是否是TextBox控件 ...
遍历窗体中的所有TextBox控件,并为其赋值
这是我自己在编程过程中遇到的问题,在这里总结一下。遍历窗体中的所有TextBox控件,并为其赋值为Coool。1.C#方法定义一个函数,使用递归的方法,将页面中所有的TextBox控件都找出来 void FindTextBox(Control ctl)    {        foreach (Control parent in ctl.Controls)        {      
Winform遍历窗口的所有控件(两种方式)
博文主要以下图中的控件来比较这两种方式获取控件的方式: 1. 最简单的方式: private void GetControls1(Control fatherControl) { Control.ControlCollection sonControls = fatherControl.Controls; //遍历所有控件 foreach (Control contro
通过属性名利用反射给控件赋值或者取值
//取出指定对象指定属性名的属性值 public object GetProperty()         {             Type type = BindingControl.GetType(); //获取类型(BindingControl,对象)             PropertyInfo  proinfo=type.GetPrope
WinForm 清空界面控件值的小技巧
在WinForm里面有时候需要清空自己输入内容或是选择的选项,以便重新操作流程,那么一般你是怎么清空界面各个控件值的呢?如果窗体里面控件,尤其是TextBox控件比较多的时候,代码里面是不是要设置每个控件的Text属性值为空呢?下面我用这个例子,来探讨下清空界面控件值的小技巧。而且还能复用。不必每个窗体都做这些枯燥、无聊的工作。一般的做法是在清除控件的事件里面添加下面这样的代码: priva
遍历winform窗体上的所有控件(包括DevExpress.XtraEditors控件)且对其做相应的处理
例一:遍历   private void Enabled_Control(Control.ControlCollection con)         {             foreach (Control c in con) //获取页面中的所有控件             {                 if (c.GetType() == typeof(DevExpres
c#遍历form窗体上的所有控件
//遍历Form上的所有控件foreach (System.Windows.Forms.Control control in this.Controls){ if (control is System.Windows.Forms.Button) { System.Windows.Forms.Button btn = (System.Windows
c#WinForm下窗体权限设计(遍历菜单下的所有菜单及所有form、form中的控件)
c#WinForm下窗体权限设计(遍历菜单下的所有菜单及所有form、form中的控件) WinForm下窗体权限设计   一、   描述 管理员通过控制窗体中的某个控件的Enable和visable来达到应用程序的权限控制 二、   设计思路 (一) 读取控件 将menustrip菜单选项绑定到treeview中,根据菜单选项的名称跟窗体名称相等,去
c#的winform,怎么根据控件的名字获取控件属性!
Control control = Controls.Find("button1", true)[0]; object o = control.GetType().GetProperty("PropertyName").GetValue(control, null); System.Reflection.EventInfo ev = control.GetType().G
C# .NET 遍历一个Web页面中所有的TextBox控件 并设置读写属性
在项目开发的实际应用中,有很多“找到一个容器内的XX控件,为他们设置相同的属性或者行为”,而这些XX控件可能位于这个容器的不同层次,即某个容器中可能还有容器,对于这种情况,这明显就是递归的用武之地嘛!! protected void Page_Load(object sender, EventArgs e) { SetTextBoxEn
winform遍历groupbox下的控件
https://www.cnblogs.com/chucklu/p/4010472.html
c# 利用反射给控件加载事件(以button为例)
具体的理论就不说了,上一篇博文大概介绍了,这里就直接上主要的代码吧:              Control _Button = this.Controls["button1"]; //获取窗体中的button1              System.Reflection.MethodInfo _Info = this.GetType().GetMethod("button1_Click"
c#利用反射轻松遍历类获取其所有属性及属性值
利用反射可以轻松的获取这些信息类的写法:namespace ClassLibrary1{    public class Class1    {        public string Name        {            get { return "name"; }        }        public string Title        {            get { return "title"; }        }    }}使用的时候private void si
Winform中怎样在一个窗体中获得另一个窗体中的控件的值?
Winform中怎样在一个窗体中获得另一个窗体中的控件的值? 有两个窗体:一个是Form1.cs的主窗体,另一个是Login.cs的登录窗口,现在在login.cs窗口中有一个combobox控件(JSXZ),想在Form1.cs中获取它的值,应该怎样做? 请多指教/     对我有用[0]丢个板砖[0]引用举报管理TOP
C#-获取布局下的所有子控件
public static List&amp;lt;T&amp;gt; GetChildObjects&amp;lt;T&amp;gt;(DependencyObject obj, string name) where T : FrameworkElement { DependencyObject child = null; List&amp;lt;T&amp;gt...
遍历GroupBox上的所有的textbox
遍历GroupBox上的所有的textbox foreach (Control c in groupBox1.Controls) { if (c is TextBox) { //这里写代码逻辑 } }遍历的时候,需要用Control遍历;如果直接使用for...
c#如何获取某一命名空间下的所有的类的信息
如果是当前下的。用Assembly.GetExecutingAssembly().GetTypes(); 如果是外部DLL,用Assembly.Load("namespace").GetTypes(); 原理是反射,所以上面一定要加上using System.Reflection; 示例代码: var classes = Assembly.Load("test").GetTypes()
c# asp.net 遍历母板下所有控件,获取获得遍历母板下所有Label控件,后台递归获取前台控件...
遍历母板下所有控件,递归方式 [code=&quot;c#&quot;]private void GetControls(Control c) { if (c is Label) Response.Write(c.ID + &quot;&quot;); if (c.HasControls()) foreach (Control con in c.Controls) GetControls(con); ...
C# Winform遍历控件(窗体、Panel的子控件)Controls
C# Winform遍历控件(窗体、Panel的子控件)Controls ,适合快速上手及运用
Winform遍历窗口的所有控件(几种方式实现)
扣扣技术交流群:460189483 C#遍历窗体所有控件或某类型所有控件 //遍历窗体所有控件, foreach (Control control in this.Controls) { //遍历后的操作... control.Enabled = false; } 遍历某个panel的所有控件 foreach (Control control in this.panel...
C#反射取得方法、属性、变量
C#反射(取得方法、属性、变量) 程序结构: 学生字典类(S0001): using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; namespace Dictionary.Class.S0001 {    
WinForm母窗体获取子窗体的值
原文     using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; name
winform 如何获取某个子控件的子控件并操作它
一、 panel1.Controls["button1"]或 panel1.Controls[0] 二、 比如某窗体的子控件为UserControl,且UserControl上有n多个n种控件,那么可以再UserControl里写属性获取
asp.net(C#)遍历页面上所有的TextBox控件并给它赋值
最近要做SQL注入的验证,所以要遍历页面所有的TextBox 过滤,发现很多博客写的方法都有问题。。。只有一个循环,懂的人都知道,代码肯定有问题,之前都是用2个循环,但是看到网上有新的方法了private void InitialControl(ControlCollection objControlCollection) { foreach (System.Web.UI.Control objControl in objControlCollection) {
C#开发学习笔记:动态绑定控件事件
C#开发学习笔记:控件动态订阅事件
利用反射获取类或者方法或者字段上的注解的值
从JDK1.5之后,注解在各大框架上得到了广泛的应用。下面这个例子中,你可以判断一个类或者方法或者字段上有没有注解,以及怎么获取上面的注解值。话不多说,代码如下: AnnotationTest01.java package com.zkn.newlearn.annotation; import java.lang.annotation.ElementType; import java.l
c# winform中,怎样得到另一窗体的值(总结)
c#中如何得到子窗口上的控件值?   方法1:将textBox1定义为public,不推荐 (在A项目中用一个内存变量存值.并设为PUBLIC. 在B项目中引用A项目。获取需要的值。 用的时候注意 using A的命名空间。)   方法2:给form2增加一个属性,推荐 如名为 TextBoxValue public string TextBoxValue{ get { retu...
C# 利用反射查看程序集下的类
1.主窗体下的代码 namespace TestReflection { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void simpleButton1_Click(ob
Winform清空容器中所有控件中的值
在Winfrom开发中,在用户提交数据后,有时需要清空界面的值 可以使用下面的函数进行清空 /// &amp;lt;summary&amp;gt; /// 清除容器里面某些控件的值 /// &amp;lt;/summary&amp;gt; /// &amp;lt;param name=&quot;parContainer&quot;&amp;gt;容器名称&amp;lt;/param&amp;gt; ...
遍历Panel组件上的所有控件:
procedure frmMain.CLS; //主窗体自定义事件CLS var i:integer; begin   for i:=0 to panel5.ControlCount -1 do   begin     if panel5.Controls[i] is TEdit then  //Edit组件     begin        ((panel5.Controls[i]
winform程序遍历子控件
https://www.cnblogs.com/dengfzj/p/7604765.html
c#获得控件绑定所有的事件并执行源码
c# 开发中,对于控件所绑定的事件需要仔细检查,有时候会将相同的事件绑定多次,会导致多次执行,从而形成很难跟踪的bug,有时候编写自动测试程序时也需要自动执行事件,本程序提供了这方面的范例,仅供参考.
C#:通过反射动态窗体的名字打开MDI窗体,且唯一打开一个
private void showForm(object sender) { //每个Menu字项的名字与Form的名字是有关联的,举个例子 //Menu名字:m_DataShow,Form的名字:m_DataShowForm string formName; formName =(se
C#Chart控件 获取曲线上点的信息
使用Chart控件实时画线时,鼠标知道某个点上时,要提示这个点的坐标信息。我对曲线的ToolTip属性进行了设置,结果是除了X轴上的点,其他的点都无法提示信息。如下图所示:此时可以用GetToolTipText事件来获取信息并提示。private void chart_GetToolTipText(object sender, ToolTipEventArgs e) { ...
c# 清空窗体上所有控件内容
        protected void Clear(Control ctrl)        {            //ctrl.Text = "";            foreach (Control c in ctrl.Controls)            {                if (c is TextBox)                {         
C# 利用反射,遍历获得一个类的所有属性名,方法名,成员名.
using System.Reflection;      private void button1_Click(object sender, EventArgs e)      {          Type t = typeof(System.Drawing.Color);          string className = t.Name;          Messag
通过反射获取prefab的参数的名字和引用
Type t = prefab.GetType(); FieldInfo[] fiArray = t.GetFields(); if (fiArray != null) { for (int i = 0; i &amp;lt; fiArray.Length; i++) { //获取引用 var targetValue= fiArray[i].GetValue(pref...
C# 反射获取项目下要运行的类
C# 通过反射获取项目下要运行的类
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 学习java所有的单词 java如何学习反射