请教:C#中,如何判断某个控件的事件赋予了处理函数? 请教:C#中,如何判断某个控件的事件赋予了处理函数?如:如何判断界面上的Button1 实现了Click事件? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 比如按钮名字叫button1PropertyInfo pi = (typeof(Button)).GetProperty("Events",BindingFlags.Instance | BindingFlags.NonPublic); EventHandlerList ehl = pi.GetValue(this.button1,null) as EventHandlerList; FieldInfo fi = (typeof(Control)).GetField("EventClick",BindingFlags.Static | BindingFlags.NonPublic); object key = fi.GetValue(null); Delegate d = ehl[key]; try { this.label1.Text="找到以下click事件:"; foreach(Delegate de in d.GetInvocationList()) this.label1.Text+=de.Method.Name; } catch { this.label1.Text="没有任何click事件"; } 楼上的正确,不过改进一下。 if(d==null) { this.label1.Text="没有任何click事件"; } else { this.label1.Text=d.Method.Name; } 新手求教,关于派生类继承基类的构造函数 C#AddArc函数中的参数问题 Web 服务器的系统事件日志 问题咋看? winform程序部暑时如何运行一個注冊表文件? 电子邮件监控系统 如何读取oracle里面bfile的图片 问一个select语句 客户端运行框架 如何复制文件夹? WPF,这个读取XAML文件,哪里错了? 大家看过来啊 各位大俠請進﹐文件下載時﹐文件變小?
EventHandlerList ehl = pi.GetValue(this.button1,null) as EventHandlerList; FieldInfo fi = (typeof(Control)).GetField("EventClick",BindingFlags.Static | BindingFlags.NonPublic);
object key = fi.GetValue(null);
Delegate d = ehl[key];
try
{
this.label1.Text="找到以下click事件:";
foreach(Delegate de in d.GetInvocationList())
this.label1.Text+=de.Method.Name;
}
catch
{
this.label1.Text="没有任何click事件";
}
if(d==null)
{
this.label1.Text="没有任何click事件";
}
else
{
this.label1.Text=d.Method.Name;
}