【发布时间】:2012-02-19 15:57:25
【问题描述】:
(大家好)
我创建了一个从 tabcontrol 继承的新用户控件,并覆盖了一些事件。
当我从一个标签页切换到另一个标签页时,会依次触发以下事件:
1) OnDeselecting(TabControlCancelEventArgs e) 2) OnMouseDown(MouseEventArgs e) 3) OnMouseClick(MouseEventArgs e) 4) OnMouseUp(鼠标事件参数 e)当 1) 被触发时,我如何暂时禁用 2) 和 3)?
您的帮助将不胜感激!
PS:
我确实需要所有这些事件,目前我正在使用一个布尔变量来完成这项肮脏的工作。
.net 3.5+ VS2008+ Win7 64位
【问题讨论】:
-
为什么需要这个?看起来解决问题的方法不对
-
我想通过点击标签上的自定义区域来关闭标签页。如果我关闭其他标签页,则不会失去对当前访问的标签页的关注。
-
布尔变量是规范的解决方案,没问题。请记住,OnDeselecting 不仅会通过鼠标单击触发,请确保在使用左/右箭头和 Ctrl+Tab 时它仍然可以正常工作。
-
谢谢,sll、Hans Passant 和 Steve,我会坚持使用 bool 解决方案一段时间。
-
致:Hans Passant,谢谢,我将禁用这些功能键,这是链接,希望它对其他人也有帮助。 social.msdn.microsoft.com/Forums/zh/winforms/thread/…