C#.NET反射枚举窗体字段成员变量
C#.NET反射枚举窗体字段成员变量
如下窗体上拖放了大量控件,通过反射枚举窗体的字段成员变量。 打开Fom1.Designer.cs文件: C# Code: private System.Windows.Forms.Button button1; private System.Windows.Forms.Button button2; private System.Windows.Forms.Button button3; private DevExpress.XtraEditors.PanelControl panelControl1; private System.Windows.Forms.Panel panel1; private System.Windows.Forms.CheckBox checkBox1; private System.Windows.Forms.CheckedListBox checkedListBox1; private DevExpress.XtraBars.BarManager barManager1; private DevExpress.XtraBars.Bar bar1; private DevExpress.XtraBars.BarButtonItem barButtonItem1; private DevExpress.XtraBars.Bar bar2; private DevExpress.XtraBars.Bar bar3; private DevExpress.XtraBars.BarDockControl barDockControlTop; private DevExpress.XtraBars.BarDockControl barDockControlBottom; private DevExpress.XtraBars.BarDockControl barDockControlLeft; private DevExpress.XtraBars.BarDockControl barDockControlRight; private DevExpress.XtraTab.XtraTabControl xtraTabControl1; private DevExpress.XtraTab.XtraTabPage xtraTabPage1; private DevExpress.XtraTab.XtraTabPage xtraTabPage2; private DevExpress.XtraEditors.LabelControl labelControl1; private DevExpress.XtraEditors.LabelControl labelControl2; private DevExpress.XtraEditors.MemoEdit memoEdit1; private DevExpress.XtraEditors.MemoEdit memoEdit2; private DevExpress.XtraEditors.LabelControl labelControl3; private DevExpress.XtraBars.BarButtonItem btnZoomIn; private DevExpress.XtraBars.BarButtonItem btnZoomOut; private System.Windows.Forms.TextBox textBox1; private DevExpress.XtraEditors.SimpleButton simpleButton1; //来源:C/S框架网(www.csframework.com) QQ:1980854898 通过反射枚举窗体的字段成员变量: C# Code: //枚举窗体字段成员变量 private void simpleButton1_Click(object sender, EventArgs e) { Type mType = this.GetType(); FieldInfo[] fields = mType.GetFields( BindingFlags.Instance | /*为了获取返回值,必须指定 BindingFlags.Instance*/ BindingFlags.DeclaredOnly | BindingFlags.NonPublic |/*获取窗体上拖放的控件Private*/ BindingFlags.CreateInstance); StringBuilder sb = new StringBuilder(); for (int i = 0; i < fields.Length; i ) sb.AppendLine(fields[i].Name); textBox1.Text = sb.ToString(); } //来源:C/S框架网(www.csframework.com) QQ:1980854898 结果:
参考文档:
C#.Net反射(Reflaction)技术实例详解 Delphi程序调用C#.Net编译的DLL并打开窗体(详解) 通过反射技术创建窗体实例然后给控件赋值(C#) C#.Net窗体多重继承构造器及Load事件执行顺序详解 标签:C#.Net组件开发 - 属性窗体内显示自定义名称 C#.Net组件开发(高级篇) - 设计时在窗体设计器文件内生成组件的代码 C# 调用API枚举窗体,根据标题还原窗体 C/S架构Winform插件化框架,Winform通用界面框架 - C#.NET WebApi快速开发框架,C# ASP.NET后端开发平台 微信小程序后端框架 | C# ASP.NET服务端WebApi快速开发框架平台 基于C#.NET MES软件开发工具MES系统开发框架 原创Winform快速开发框架平台Oracle版本(三层架构+C#.NET+Oracle数据库) 【原创】C# 深度拷贝对象 使用.NET反射+递归原理实现深度克隆 C#.NET GC.Collect垃圾回收机制详解 C# get和set访问器:获取和设置字段(属性)的值
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |