(嗨,全部)
我已经创建了一个从tabcontrol继承的新用户控件,并覆盖了一些事件。
当我从一个标签页切换到另一个标签页时,将按顺序触发以下事件:
1) OnDeselecting(TabControlCancelEventArgs e)
2) OnMouseDown(MouseEventArgs e)
3) OnMouseClick(MouseEventArgs e)
4) OnMouseUp(MouseEventArgs e)
当1)被解雇时,我怎么能暂时禁用2)和3)?
非常感谢您的帮助!
PS:
我确实需要所有这些事件,目前我正在使用bool变量来完成这项肮脏的工作。
.net 3.5+ VS2008 + Win7 64
答案 0 :(得分:2)
在OnDeselecting事件中尝试此操作
try
{
tab.MouseDown -= new MouseEventHandler(this.YourMouseDownEvent);
tab.MouseClick -= new MouseEventHandler(this.YourMouseClickEvent);
..... // your code here.....
}
finally
{
tab.MouseDown += new MouseEventHandler(this.YourMouseDownEvent);
tab.MouseClick += new MouseEventHandler(this.YourMouseClickEvent);
}