Обработка событий мыши - PullRequest
0 голосов
/ 20 июня 2010

Я использую формы Windows.У меня проблема с обработкой событий мыши.В моем приложении есть строка меню сверху.В строке меню у меня есть несколько пунктов меню.Я хочу, чтобы при выделении элемента toolstripmenu он отображал описание в метке.Я полностью сбит с толку.Какое событие я использовал для решения этой проблемы.Я использовал ввод мыши, перемещение мыши и событие выхода из мыши, но когда мышь входит в область любого элемента меню, все в порядке.Метка показывает некоторое описание, когда мышь входит или мышь перемещается по элементу.Но когда я перемещаю мышь на другую область формы.На этикетке остается описание предмета.Я хочу, чтобы, когда мышь покидает область элемента toolstripmenu, метка становится пустой.Помогите мне решить эту проблему


Я использую его для toolstripmenuitem.Мышь Enter & Mouse move event работает нормально, но главная проблема в мышине - событие Leave.Когда я перемещаю мышь на опцию «открыть», она показывает описание в метке, но когда моя мышь покидает эту опцию или оставляет видимую часть этой опции.Описание этикетки такое же.На самом деле событие отпускания мыши срабатывает, когда любой другой элемент управления находится в фокусе после выхода из опции «Открыть».Например, у меня есть menustrip, а в menustrip - несколько вариантов.Например, первый параметр - «Открыть», и я хочу, чтобы, когда мышь входит в видимую часть параметра «открыть», она отображала описание в строке состояния «Открытые файлы», а когда моя мышь оставляла видимую часть параметра «открыть», метка состоянияпусто, но проблема в том, что я не могу правильно понять, когда мышь покидает событие.Спасибо за ответ на этот вопрос.


Вот мой код.Посмотрите и скажите мне, в чем проблема?

private void openToolStripMenuItem_MouseEnter(object sender, EventArgs e)
{
         label1.Text =  "Open files";

}


private void openToolStripMenuItem_MouseLeave(object sender, EventArgs e)
{
         label1.Text = "";

}

Ответы [ 2 ]

1 голос
/ 20 июня 2010

Используйте событие MouseLeave в menuStrip и установите текст метки на «».или используйте то же событие мыши в вашей форме и установите текст метки на "" .. Я имею в виду:

 private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
            label1.Text = "";
        }

Вы можете использовать это решение, если хотите отобразить текст, когда мышь находится на форме.

0 голосов
/ 20 июня 2010

Используйте событие MouseLeave. Точно так же, как вы сделали MouseOver, когда вы поймали MouseLeave вашего пункта меню, измените свойство Текст метки на "" (т. Е. Пусто)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...