Кнопка справки Windows Forms изменяет курсор - PullRequest
2 голосов
/ 01 ноября 2011

У меня есть HelpButton в приложении Windows Forms.При нажатии я просто хочу показать окно сообщения.Это работает нормально ...

private void Form1_HelpButtonClicked(object sender, EventArgs e)
{
    MessageBox.Show("This is an awesome program", "Awesome Program");
}  

Проблема в том, что когда пользователь закрывает окно сообщения, курсор формы переключается на курсор «Справка» с вопросительным знаком на нем.Это не хорошо.Как я могу предотвратить изменение курсора?Я попытался поставить this.Cursor = Cursors.Default и this.Cursor = Cursors.Arrow после вызова окна сообщения, но это было неэффективно.

Ответы [ 3 ]

7 голосов
/ 01 ноября 2011

Ваше объявление обработчика событий неверно, аргумент e на самом деле имеет тип CancelEventArgs. Теперь это просто:

    private void Form1_HelpButtonClicked(object sender, CancelEventArgs e) {
        MessageBox.Show("This is a more awesome program", "Awesome Program");
        e.Cancel = true;
    }
0 голосов
/ 01 ноября 2011

Попробуйте изменить статическое свойство Cursor.Current .

0 голосов
/ 01 ноября 2011

Вы хотите обработать событие HelpRequested и установить для свойства Handled аргументов события значение true и не беспокоиться об обработке события HelpButtonClicked.

private void Form1_HelpRequested(object sender, HelpEventArgs hlpevent)
    {
        MessageBox.Show("This is an awesome program", "Awesome Program");
        hlpevent.Handled = true;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...