none
如何禁用基类事件? RRS feed

  • 问题

  • 我继承ToolStripComboBox,做了个新类,想要屏蔽基类中的KeyUp、KeyDown事件,该如何实现呢?


    韩立学
    2011年4月9日 1:33

答案

  • 重载OnKeyUp,OnKeyDown,并删除默认的MyBase.OnKeyUp,MyBase.OnKeyDown方法的调用。就可以阻止了。
    2011 c# mvp China. *George读起来像不像“饺子”?我爱吃饺子,我叫George。
    • 已标记为答案 大海怪 2011年4月9日 23:05
    2011年4月9日 2:32

全部回复

  • 自己声明一个同名事件,不触发。

    编译器会警告你隐藏了基类的事件就是。



    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2011年4月9日 2:01
    版主
  • 重载OnKeyUp,OnKeyDown,并删除默认的MyBase.OnKeyUp,MyBase.OnKeyDown方法的调用。就可以阻止了。
    2011 c# mvp China. *George读起来像不像“饺子”?我爱吃饺子,我叫George。
    • 已标记为答案 大海怪 2011年4月9日 23:05
    2011年4月9日 2:32
  • 谢谢回复!

    重载是这样吧,我将其代码部分空着,照理说就不执行任何功能了?

        Protected Overrides Sub OnKeyUp(ByVal e As System.Windows.Forms.KeyEventArgs)

        End Sub
        Protected Overrides Sub OnKeyDown(ByVal e As System.Windows.Forms.KeyEventArgs)

        End Sub

    但是,似乎不起作用,在ToolStripComboBox上输入一个字符后,仍然会显示列表中以该字符开关的项,我想将此功能屏蔽掉,然后在KeyPress中实现相关功能。


    韩立学
    2011年4月9日 3:02