0 / 0 / 0
Регистрация: 04.11.2010
Сообщений: 3
1

C# Работа ПРАВОЙ кнопкой мыши

04.11.2010, 15:22. Показов 3112. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. Имеется рабочая программа на языке C#. Необходимо реализовать аналогичную программу, управление в которой осуществляется с помощью правой клавиши мыши. Программа элементарная, но я оказался бессилен.
Исходник длинный, выложить его голым текстом не представляется возможным. Программа залита сюда:
http://www.hivuz.ru/MySolution.rar
Спасибо модераторам за понимание.
Буду рад конструктивной помощи. При необходимости вознаграждение обеспечу, главное напишите. Спасибо за сознательность.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.11.2010, 15:22
Ответы с готовыми решениями:

Движение мыши с точки А в точку Б с зажатой правой кнопкой мыши
Здравствуйте, мне нужно сделать программу которая бы плавно перемещала курсор мыши из А в Б причем...

Отловить щелчок правой кнопкой мышки по кнопке
Как отловить щелчок правой кнопкой мышки по кнопке. Есть на форме кнопка (Button1) надо что бы при...

Контекстное меню как в ОС (при щелчке правой кнопкой).
ПРИВЕТ ВСЕМ!!! Подскажите, пожалуйста, кто знает, как при щелчке правой кнопкой мыши в моем...

Имитация нажатия левой и правой кнопки мыши
Тут на форуме просто свалка из таких тем, и везде мегаметоды для этого писать надо, Подскажите...

2
Почетный модератор
Эксперт .NET
8721 / 3673 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
04.11.2010, 16:12 2
Лучший ответ Сообщение было отмечено back1919 как решение

Решение

Нужно чтобы все стрелки реагировали только на правую кнопку? Если да, то в классе ClickmaticButton.cs измените методы следующим образом:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
        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();   // Стоп таймер
        }
з.ы. ну уж очень много комментариев.
0
0 / 0 / 0
Регистрация: 04.11.2010
Сообщений: 3
04.11.2010, 19:04  [ТС] 3
Низкий Вам поклон!
0
04.11.2010, 19:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.11.2010, 19:04
Помогаю со студенческими работами здесь

Как сделать клик левой кнопкой мыши без WinApi
Я не нашел, везде WinApi

Открытие аудио-файла, используя программу-плеер, при щелчке правой кнопки мыши
Здравствуйте! У меня есть программа "музыкальный плеер". он может проигрывать музыку,создавать...

Изменить приложение так, чтобы контекстное меню появлялось лишь тогда, когда произведен щелчок правой клавишей мыши
Помогите пожалуйстаааа!!! Есть пример, Изменить приложение так, чтобы контекстное меню появлялось...

Работа с кнопкой
Вот хочу создать свой первый бот на C# и тут я не могу забацать так чтобы кнопки были False пока не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru