如何把Button的Click事件移除?

锐旗 2005-03-21 02:56:22
如何把Button的Click事件移除?
窗口form1上有一个Button,如何把Button的Click事件与一个已知的事件绑定,并移除原来的事件(不知道是否有事件,如有也不知道名称)?
如:
private void RemoveEvent(object sender, System.EventArgs e)
{
MessageBox.Show("这是新的事件");
}


this.button1.Click+=new System.EventHandler(RemoveEvent);
...全文
1450 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
daemonking 2005-03-21
  • 打赏
  • 举报
回复
Reflection可以8
longqiaoman 2005-03-21
  • 打赏
  • 举报
回复
写一个类,继承Button
重写OnClick方法
protected void override OnClick(object sender,EventArgs e)
{
//base.OnClick();这一行去掉
RemoveEvent(sender,e); //加上这句代码
}

private void RemoveEvent(object sender, System.EventArgs e)
{
MessageBox.Show("这是新的事件");
}

锐旗 2005-03-21
  • 打赏
  • 举报
回复
使用buttion1.Click-=或者+=好象不能到达要求。因为-=和+=需要知道具体的事
件,现在的关键是不知道。
锐旗 2005-03-21
  • 打赏
  • 举报
回复
不好意思,楼上的!
不知道buttion1.Click是否已经绑定到一个事件上(或者几个事件)!
必须要完成这样的代码:
if (button1.Click!=null)
{
button1.Click=null;
}

然后才能button1.Click+=new System.EventHandler(RemoveEvent);
yezie 2005-03-21
  • 打赏
  • 举报
回复
this.button1.Click -= new System.EventHandler(RemoveEvent);
ywood 2005-03-21
  • 打赏
  • 举报
回复
this.button1.Click-=new System.EventHandler(RemoveEvent);
即可
hyl6688 2005-03-21
  • 打赏
  • 举报
回复
if(this.button1.Click != null)
{
this.button1.Click -= new EnvntHandler(this.oldEvent);
this.button1.Click += new EnvntHandler(this.newEvent);
}
锐旗 2005-03-21
  • 打赏
  • 举报
回复
我想实现的是类似如下的功能
if (this.button1.Click!=null)
{
this.button1.Click=null;
}

this.button1.Click+=new System.EnvntHandler(RemoveEvent);

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧