Есть ли способ отменить событие мыши? - PullRequest
1 голос
/ 27 мая 2011

Я хочу отменить щелчок мыши, мыши вверх или вниз, даже если это происходит на моем элементе управления .NET.

Я надеялся, что в EventArgs будет параметр Cancel, но я не вижу такого, как в TreeView.BeforeCheck.

Есть ли другой способ, которым я мог бы сделать это или другое событие, которое я должен слушать?

Ответы [ 2 ]

6 голосов
/ 27 мая 2011

Просто переопределите обработчик и не вызывайте функцию базового класса.

0 голосов
/ 10 сентября 2013

Простым решением было бы просто убить фокус, просто создать свой собственный класс:

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);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...