有没有办法取消鼠标点击事件

时间:2011-05-27 19:47:58

标签: c# winforms events

我想取消鼠标点击,鼠标按下或鼠标按下,即使它出现在我的.NET控件上也是如此。

我希望EventArgs中有一个取消参数,但我在TreeView.BeforeCheck中看不到。

我还有其他方法可以做到这一点或我应该听的其他事件吗?

2 个答案:

答案 0 :(得分:6)

只需覆盖处理程序,不要调用基类函数。

答案 1 :(得分:0)

一个简单的解决方案就是杀死焦点,只需创建自己的类:

public class ViewOnlyTextBox : System.Windows.Forms.TextBox {
    // constants for the message sending
    const int WM_SETFOCUS = 0x0007;
    const int WM_KILLFOCUS = 0x0008;

    protected override void WndProc(ref Message m) {
        if(m.Msg == WM_SETFOCUS) m.Msg = WM_KILLFOCUS;

        base.WndProc (ref m);
    }
}