PictureBox не отлавливает событие MouseWheel

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

NicSoft
Обычный пользователь
Обычный пользователь
 
Сообщения: 80
Зарегистрирован: 05.04.2003 (Сб) 18:51
Откуда: Егорьевск

PictureBox не отлавливает событие MouseWheel

Сообщение NicSoft » 06.01.2007 (Сб) 2:39

Имеется форма, на ней PictureBox. Сама форма ловит прокрутку колесика, а PictureBox нет. Можно, конечно, отлавливать его на форме, пересчитывать координаты курсора в систему PictureBox-а, но это как-то через пень-колоду. И потом не зря же PictureBox обладает этим событием?

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 06.01.2007 (Сб) 7:33

не потому ли, что фокусом обладает форма, а не пиктуребокс?
Весь мир матрица, а мы в нем потоки байтов!

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Сообщение Dmitriy2003 » 06.01.2007 (Сб) 7:52

.NET Framework Class Library писал(а):
MouseWheel Event - Occurs when the mouse wheel moves while the control has focus.

The Windows Forms controls in the following list are not selectable. Controls derived from these controls are also not selectable.

Panel
GroupBox
PictureBox
ProgressBar
Splitter
Label
LinkLabel (when there is no link present in the control)



похоже так
Dmitrich

NicSoft
Обычный пользователь
Обычный пользователь
 
Сообщения: 80
Зарегистрирован: 05.04.2003 (Сб) 18:51
Откуда: Егорьевск

Сообщение NicSoft » 06.01.2007 (Сб) 12:23

То есть прокрутка срабатывает только над контролами, которые в фокусе, а PictureBox в фокусе быть не может? Я подозревал об этом :(
Но зачем же тогда это событие у него имеется?

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Пример работы с событиями мыши от Microsoft 2005

Сообщение Dmitriy2003 » 06.01.2007 (Сб) 17:54

Усе оказывается несколько иначе.:idea:

Вот пример из 2005 студии - я заменил панель на пикчебокс
может это то что тебе надо.
Вложения
Form1.rar
Пример работы с событиями мыши от Microsoft©2005
(1.72 Кб) Скачиваний: 124
Dmitrich

NicSoft
Обычный пользователь
Обычный пользователь
 
Сообщения: 80
Зарегистрирован: 05.04.2003 (Сб) 18:51
Откуда: Егорьевск

Сообщение NicSoft » 07.01.2007 (Вс) 1:22

Ай спасибо! :)
Волшебные слова в этом примере как раз и были:
Код: Выделить всё
PictureBox1.Focus()

на что видимо и намекал !Viper! 8)
то есть на PictureBox фокус можно установить, но только из кода, что, собственно, есть хорошо :)
Всем спасибо!


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 112

    TopList