Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.58/236: Рейтинг темы: голосов - 236, средняя оценка - 4.58
 Аватар для kerbyteflon
78 / 79 / 21
Регистрация: 10.04.2010
Сообщений: 262

Как отловить событие прокрутки колесика мыши

01.10.2010, 12:55. Показов 47062. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста как отловить события прокрутки на форме или панели колеса вниз и вверх?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.10.2010, 12:55
Ответы с готовыми решениями:

Событие движения колёсика мыши
private void Form1_Scroll(object sender, ScrollEventArgs e) { label17.Location = new Point(label17.Location.X,...

Какое событие происходит при прокрутке колесика мыши?
Здравствуйте! Подскажите, какое событие происходит при прокрутке колесика мыши? И как узнать, в какую сторону его прокрутили?

Как отловить событие перемещения курсора при зажатой левой кнопке мыши
Искал на форуме не нашел как можно реализовать такую штуку? Хочу отловить событие перемещения курсора при зажатой левой кнопке мыши. К...

32
Заблокирован
05.10.2010, 09:18
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от kerbyteflon Посмотреть сообщение
Есть ли у кого какие предложения?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void this_MouseWheel(object sender, MouseEventArgs e)
        {
 
            if (e.Delta > 0)
                this.Text = "Вверх";
            else
                this.Text = "Вниз";
 
        }
 
        private void Form1_MouseCaptureChanged(object sender, EventArgs e)
        {
            this.Text = "Стоп";
        }
 
        private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
            this.Text = "Стоп";
        }
0
 Аватар для kerbyteflon
78 / 79 / 21
Регистрация: 10.04.2010
Сообщений: 262
05.10.2010, 18:28  [ТС]
Это получается что бы вызвать "стоп" нужно шевелить мышою или перетащить окно?!
А подругому нельзя?
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8729 / 3681 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
05.10.2010, 18:43
Мне кажется у Вас изначально неверный подход к проблеме, потому и решение получается такое корявое.
0
Заблокирован
05.10.2010, 18:45
Цитата Сообщение от kerbyteflon Посмотреть сообщение
Это получается что бы вызвать "стоп" нужно шевелить мышою или перетащить окно?!
Где ты видел перетащить окно? При любом действии мыши у тебя появится "стоп".
Цитата Сообщение от kerbyteflon Посмотреть сообщение
А подругому нельзя?
Не знаю... может и можно. Ты спрашивал варианты - я тебе предложил свой.
0
 Аватар для kerbyteflon
78 / 79 / 21
Регистрация: 10.04.2010
Сообщений: 262
05.10.2010, 19:04  [ТС]
SSV а скинь свой sample please!

Не по теме:


capture_change перепутал

0
Заблокирован
05.10.2010, 19:10
Цитата Сообщение от kerbyteflon Посмотреть сообщение
SSV а скинь свой sample please!
Да я его и не сохранял. А что там сложного? В свойствах формы вызовешь событие MouseCaptureChanged, а хочешь пропиши его сам
C#
1
this.MouseCaptureChanged += new System.EventHandler(this.Form1_MouseCaptureChanged);
0
 Аватар для kerbyteflon
78 / 79 / 21
Регистрация: 10.04.2010
Сообщений: 262
05.10.2010, 19:20  [ТС]
Так и делаю! но эфекта нет
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
public Form1()
        {
            InitializeComponent();
            this.MouseWheel += new MouseEventHandler(this.Form1_MouseWheel);
            this.MouseMove += new MouseEventHandler(this.Form1_MouseMove);
            this.MouseCaptureChanged += new System.EventHandler(this.Form1_MouseCaptureChanged);
 
        }
 
 
        void Form1_MouseWheel(object sender, MouseEventArgs e)
        {
 
            if (e.Delta > 0)
                this.Text = "Вверх";
            else
                this.Text = "Вниз";
 
        }
 
        private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
            this.Text = "Стоп";
        }
 
        private void Form1_MouseCaptureChanged(object sender, EventArgs e)
        {
            this.Text = "Стоп";
        }
0
Заблокирован
05.10.2010, 19:28
А какой ты ожидаешь эффект? Тебе надо что-то мышькой сделать. Или шевельнуть, или нажать на одну из двух кнопок или на колесико.
Вот тебе проект.
Вложения
Тип файла: rar WindowsFormsApplication1.rar (20.6 Кб, 28 просмотров)
0
 Аватар для kerbyteflon
78 / 79 / 21
Регистрация: 10.04.2010
Сообщений: 262
05.10.2010, 19:49  [ТС]
Я так и делаю. Мне надо что бы стоп было при условии когда не крутиш колесико!
Я просто пытаюсь реализовать что-то типа ZOOMa у меня есть три метода:
1. Зумировать вперед
2. Зумировать назад
3. И остановить зумированье <-- Это мне никак не прицепить к колесу
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8729 / 3681 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
05.10.2010, 20:00
Цитата Сообщение от kerbyteflon Посмотреть сообщение
Мне надо что бы стоп было при условии когда не крутиш колесико!
Открою страшную тайну: этого никогда не произойдет, потому что никакого события не происходит. Мой пост #23 был верен.

Покажи весь код того как ты zoom'ируешь (где? и как?).
0
Заблокирован
05.10.2010, 20:48
Цитата Сообщение от SSTREGG Посмотреть сообщение
Покажи весь код того как ты zoom'ируешь (где? и как?).
Вот это правильно. Может кто то тебе и поможет.

Добавлено через 31 минуту
А чем тебе таймер не нравится?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        void metod(int d)
        {
            Text = d.ToString();
            timer1.Start();
        }
        void Form1_MouseWheel(object sender, MouseEventArgs e)
        {
            metod(e.Delta);
            
        }
 
        private void timer1_Tick(object sender, EventArgs e)
        {
            Text = "0";
            timer1.Stop();
        }
0
1 / 1 / 0
Регистрация: 29.03.2010
Сообщений: 34
06.10.2010, 18:42
Тему всю не прочел, извините если что не так, я понимаю колесо прокрутили - увеличили допустим на некоторую дельту и остановились зум до следующей прокрутки колеса.
0
14 / 14 / 0
Регистрация: 12.12.2010
Сообщений: 159
15.03.2012, 02:13
Тема старая, но я только сегодня наткнулся. Посему, может кому-нибудь пригодится.
Вместо
C#
1
2
3
4
if (e.Delta > 0)
                textBox1.Text = "Вверх";
            else
                textBox1.Text = "Вниз";
Лучше написать
C#
1
textBox1.Text = (e.Delta > 0) ? "Вверх" : "Вниз";
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.03.2012, 02:13

Отловить событие нажатия клавиши мыши при Drag&Drop
Сабж. В процессе перетаскивания отловить событие MouseDown. Начинаю перетягивание при зажатой левой клавише. При этом...

Как обработать событие прокрутки колесика мыши?
Нужно чтобы программа реагировала на прокрутку колесика мыши, в Nete ничего найти не могу, напишите код, зараннее спасибо.

WPF: как получить событие прокрутки колёсика мыши?
Есть 'ItemsControl', который отрисовывает коллекцию графических элементов. И есть потребность изменять масштаб отображаемой области через...

Событие прокрутки колесика мыши
Давно интересует такой вопрос. Кто знает, ответьте, пожалуйста. Можно ли в VB как-нибудь ловить события, связанные с колесиком мыши? Ну...

Событие прокрутки колесика мыши
Здравствуйте подскажите плз функцию события прокрутуки колеса мыши,т.е кртутанули слегка вверх ода функция должна выполняться, крутанули...


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

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru