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
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
//枚举窗体字段成员变量
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
结果:
参考文档:
FastReport.NET自动文本宽度+自动换行+自动行高|C/S开发框架
FastReport.NET2023破解版去除水印DEMO VERSION (2025.1.14/2023.2.18版本)|C/S开发框架
C/S软件授权注册系统V3.0(Winform+WebApi+.NET8+EFCore版本)|C/S开发框架
.NET C/S架构软件用户授权设计方案(mac地址+白名单用户)|C/S开发框架
企业级C/S系统快速开发框架(Winform+.NET8+EFCore)|C/S开发框架
.NETCore WebApi运行报错:System.AggregateException:“Some services are not able to be constructed|C/S开发框架
C#.NET各版本常用语法糖大全(C#3~C#10)|C/S开发框架
CSFramework.EF数据库框架应用Schema测试多种数据库(.NET8+EFCore)|C/S开发框架
CSFrameworV6试用版开发指南 | 主程序初始化CSFramework.EF数据库框架(.NET8)|C/S开发框架
.NET Reactor(.NET混淆器)加壳软件使用|C/S开发框架
CSFramework开发框架使用.NET Reactor加壳软件导致多语言失效|C/S开发框架
.NETCore WebApi后端开发框架+达梦数据库测试报告|C/S开发框架
C#.NET调用达梦数据库的存储过程返回多张表|C/S开发框架
C#.NET 达梦数据库存储过程 获取OUT参数返回值|C/S开发框架
SqlServer数据类型、DbType类型、.NET类型与达梦数据类型关系表|C/S开发框架
.NET8 .NETCore运行环境下载|C/S开发框架
FastReport.NET自动文本宽度+自动换行+自动行高|C/S开发框架
FastReport.NET2023破解版去除水印DEMO VERSION (2025.1.14/2023.2.18版本)|C/S开发框架
C/S软件授权注册系统V3.0(Winform+WebApi+.NET8+EFCore版本)|C/S开发框架
.NET C/S架构软件用户授权设计方案(mac地址+白名单用户)|C/S开发框架
企业级C/S系统快速开发框架(Winform+.NET8+EFCore)|C/S开发框架
.NETCore WebApi运行报错:System.AggregateException:“Some services are not able to be constructed|C/S开发框架
C#.NET各版本常用语法糖大全(C#3~C#10)|C/S开发框架
CSFramework.EF数据库框架应用Schema测试多种数据库(.NET8+EFCore)|C/S开发框架
CSFrameworV6试用版开发指南 | 主程序初始化CSFramework.EF数据库框架(.NET8)|C/S开发框架
.NET Reactor(.NET混淆器)加壳软件使用|C/S开发框架
CSFramework开发框架使用.NET Reactor加壳软件导致多语言失效|C/S开发框架
.NETCore WebApi后端开发框架+达梦数据库测试报告|C/S开发框架
C#.NET调用达梦数据库的存储过程返回多张表|C/S开发框架
C#.NET 达梦数据库存储过程 获取OUT参数返回值|C/S开发框架
SqlServer数据类型、DbType类型、.NET类型与达梦数据类型关系表|C/S开发框架
.NET8 .NETCore运行环境下载|C/S开发框架
其它资料:
什么是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内容管理系统 |
什么是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内容管理系统 |
在线客服
