WPF:求教如何注销一个控件上的指定事件? 比如如何注销一个按钮btn上的Click事件? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 button1.Click += new System.EventHandler(this.button1_Click);//注册button1.Click -= new System.EventHandler(this.button1_Click);//注销 我的意思是this.button1_Click是不能得到的。。 private void button1_Click(object sender, RoutedEventArgs e) { MessageBox.Show("你好"); this.button1.Click-=new RoutedEventHandler(button1_Click); } 假如我不知道调用的是button1_Click应该怎么注销? 你那button1.Enable=false算了 static void Main(string[] args) { System.Windows.Forms.Button btn = new System.Windows.Forms.Button(); btn.Click += new EventHandler(btn_Click); btn.Click += new EventHandler(btn_Click2); btn.Click += new EventHandler(btn_Click3); PropertyInfo pi = btn.GetType().GetProperty("Events", BindingFlags.Instance | BindingFlags.NonPublic); EventHandlerList ehl = (EventHandlerList)pi.GetValue(btn, null); FieldInfo fieldInfo = (typeof(System.Windows.Forms.Control)).GetField("EventClick", BindingFlags.Static | BindingFlags.NonPublic); Delegate d = ehl[fieldInfo.GetValue(null)]; foreach (Delegate del in d.GetInvocationList()) Console.WriteLine(del.Method.Name); } static void btn_Click(object sender, EventArgs e) { Console.WriteLine("Click1"); } static void btn_Click2(object sender, EventArgs e) { Console.WriteLine("Click2"); } static void btn_Click3(object sender, EventArgs e) { Console.WriteLine("Click3"); } 查询数据库后。如何放入后台代码的变量中 c#点击按键然后弹出窗口问题 c#中怎样实现播放音乐的次数??? .dat文件传输过来后,将其中的内容传到数据库中 正则表达式:如何从一堆html代码中,获取自己想要的内容?? 将窗口关闭的时候又执行里面的事件了,为什么呢? 谁能编写一个利用session和数据库进行登录验证的网页? 这个正则表达式应该怎么写? 怎样在comboBox下拉类表中去除相同的相 怎么对一个读出一个文件夹里面所有的文件名(包括文件夹名)用C#,请较大虾 自定义控件中有一个结构体,老是警告为标记为可序列化 AutoCompleteExtender控件实现自动补全功能
button1.Click -= new System.EventHandler(this.button1_Click);//注销
private void button1_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("你好");
this.button1.Click-=new RoutedEventHandler(button1_Click);
}
应该怎么注销?
static void Main(string[] args)
{
System.Windows.Forms.Button btn = new System.Windows.Forms.Button();
btn.Click += new EventHandler(btn_Click);
btn.Click += new EventHandler(btn_Click2);
btn.Click += new EventHandler(btn_Click3);
PropertyInfo pi = btn.GetType().GetProperty("Events", BindingFlags.Instance | BindingFlags.NonPublic);
EventHandlerList ehl = (EventHandlerList)pi.GetValue(btn, null);
FieldInfo fieldInfo = (typeof(System.Windows.Forms.Control)).GetField("EventClick", BindingFlags.Static | BindingFlags.NonPublic);
Delegate d = ehl[fieldInfo.GetValue(null)];
foreach (Delegate del in d.GetInvocationList())
Console.WriteLine(del.Method.Name);
} static void btn_Click(object sender, EventArgs e)
{
Console.WriteLine("Click1");
} static void btn_Click2(object sender, EventArgs e)
{
Console.WriteLine("Click2");
} static void btn_Click3(object sender, EventArgs e)
{
Console.WriteLine("Click3");
}