C#.NET反射枚举窗体字段成员变量
C#.NET反射枚举窗体字段成员变量
如下窗体上拖放了大量控件,通过反射枚举窗体的字段成员变量。

打开Fom1.Designer.cs文件:
通过反射枚举窗体的字段成员变量:
结果:

如下窗体上拖放了大量控件,通过反射枚举窗体的字段成员变量。
打开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
结果:
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网