如何用Type(反射)来遍历某个控件(以TextBox为例)的所有的属性或事件或方法的名称???
哪位朋友可以给个可以执行的代码。
msdn上搜过了,只给出了Console下的例子,而在WINFORM中却不执行了,哪位朋友对反射熟悉???
书上关于这方面的例子极少,
多谢指教!!!!!!!!!!!!!!!!!!!!!!!!!!!
哪位朋友可以给个可以执行的代码。
msdn上搜过了,只给出了Console下的例子,而在WINFORM中却不执行了,哪位朋友对反射熟悉???
书上关于这方面的例子极少,
多谢指教!!!!!!!!!!!!!!!!!!!!!!!!!!!
解决方案 »
- 简单工厂模式和策略模式有什么实质性的区别?
- 高分求助地图算法!
- WinForm 如何把listBox1中选择的多项传到listBox2中 并写入数据库
- 请问:C#中水晶报表如何建立 建立好的水晶报表 老是说登录失败
- C#写的天气预报程序,附带源码,欢迎多提意见啊!
- 如何让dataGrid中某列的右对齐显示并且标题居中显示?
- 请教关于WebBrowser浏览器控件访问服务器问题?
- HashTable的ref问题
- 清分,CrystalReport问题 在线等待
- RegisterHotKey怎么使用?
- 请问这段程序为什么打印不Button类的所有的方法???
- windows mobile 6.5的求助
{
Console.WriteLine("属性列表-----------------------");
Type t=typeof(System.Windows.Forms.Button);
PropertyInfo[] p=t.GetProperties();
foreach(PropertyInfo i in p)
{
Console.WriteLine(i);
}
Console.ReadLine();
Console.WriteLine("方法列表-----------------------");
MethodInfo[] m=t.GetMethods();
foreach(MethodInfo i in m)
{
Console.WriteLine(i);
}
Console.ReadLine();
Console.WriteLine("事件列表-----------------------");
EventInfo[] e=t.GetEvents();
foreach(EventInfo i in e)
{
Console.WriteLine(i);
}
Console.ReadLine();
}
this.listBox1.Items.Add("属性");
foreach (System.Reflection.PropertyInfo p in t.GetProperties())
this.listBox1.Items.Add(p.Name);
this.listBox1.Items.Add("方法");
foreach (System.Reflection.MethodInfo m in t.GetMethods())
this.listBox1.Items.Add(m.Name);
this.listBox1.Items.Add("事件");
foreach (System.Reflection.EventInfo ev in t.GetEvents())
this.listBox1.Items.Add(ev.Name);
using System.Reflection;
using System.Windows.Forms;class Test : Form
{
Test()
{
TextBox t = new TextBox();
t.Parent = this;
t.Multiline = true;
t.Dock = DockStyle.Fill;
t.ScrollBars = ScrollBars.Both;
Type type = t.GetType(); t.Text += "[成员列表]" + Environment.NewLine;
foreach (MemberInfo i in type.GetMembers())
{
t.Text += i.Name + Environment.NewLine;
} // 其实[成员列表]已经包含以下所有列表, 以下语句可以不要 t.Text += Environment.NewLine;
t.Text += "[属性列表]" + Environment.NewLine;
foreach (PropertyInfo i in type.GetProperties())
{
t.Text += i.Name + Environment.NewLine;
} t.Text += Environment.NewLine;
t.Text += "[方法列表]" + Environment.NewLine;
foreach (MethodInfo i in type.GetMethods())
{
t.Text += i.Name + Environment.NewLine;
} t.Text += Environment.NewLine;
t.Text += "[事件列表]" + Environment.NewLine;
foreach (EventInfo i in type.GetEvents())
{
t.Text += i.Name + Environment.NewLine;
}
} static void Main()
{
Application.Run(new Test());
}
}