C# Работа ПРАВОЙ кнопкой мыши
Формулировка задачи:
Добрый день. Имеется рабочая программа на языке C#. Необходимо реализовать аналогичную программу, управление в которой осуществляется с помощью правой клавиши мыши. Программа элементарная, но я оказался бессилен.
Исходник длинный, выложить его голым текстом не представляется возможным. Программа залита сюда:
http://www.hivuz.ru/MySolution.rar
Спасибо модераторам за понимание.
Буду рад конструктивной помощи. При необходимости вознаграждение обеспечу, главное напишите. Спасибо за сознательность.
Решение задачи: «C# Работа ПРАВОЙ кнопкой мыши»
textual
Листинг программы
protected override void OnMouseMove(MouseEventArgs mevent) { base.OnMouseMove(mevent); if ((mevent.Button & MouseButtons.Left) != MouseButtons.Left) { // Приостанавливаем или возобнавляем запущенный таймер логическим выражением timer.Enabled = this.Capture // Связь с мышью установлена // && (MouseButtons & MouseButtons.Left) != MouseButtons.Left // Распознавать левую кнопку необязательно && this.ClientRectangle.Contains(mevent.Location); // Курсор над кнопкой // && this.ClientRectangle.Contains(this.PointToClient(MousePosition))// То же самое! } } // Переопределение унаследованного метода диспетчеризации // события MouseDown нажатия кнопки мыши для запуска таймера protected override void OnMouseDown(MouseEventArgs mevent) { if (mevent.Button == MouseButtons.Left) return; if (mevent.Button == MouseButtons.Right) mevent = new MouseEventArgs(MouseButtons.Left, mevent.Clicks, mevent.X, mevent.Y, mevent.Delta); base.OnMouseDown(mevent); // Отправляем к базовому методу // Если нажата левая кнопка мыши (побитовое умножение) if (mevent.Button == MouseButtons.Left) { timer.Interval = DELAY; // Задержка для момента нажатия timer.Start(); // Запустить таймер } } // Переопределение унаследованного метода диспетчеризации // события MouseUp отпускания кнопки мыши для остановки таймера protected override void OnMouseUp(MouseEventArgs mevent) { if (mevent.Button == MouseButtons.Right) mevent = new MouseEventArgs(MouseButtons.Left, mevent.Clicks, mevent.X, mevent.Y, mevent.Delta); base.OnMouseUp(mevent); // Отправляем к базовому методу timer.Stop(); // Стоп таймер }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д