Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Происходит событие потери фокуса. Как обойти? (VB.NET)

17K
28 мая 2008 года
Uranium-238
17 / / 06.08.2007
Может быть кто сталкивался с потерей фокуса контролом (например кнопкой). За ответ зараннее благодарен. Закинул на форму несколько кнопок (допустим 9 и расположил их в виде таблицы 3х3). При нажатии клавиш Up, Down, Left, Right происходит перемещение фокуса по TabIndex. Как и где такое поведение можно отключить? Если взять текстбокс - он не теряет фокуса при нажатии данных клавишь. Не думаю что это связано с наследованием контролов, но найти ничего не могу. Если предположим задача состоит в том чтобы фокус перемещался по кнопкам в соответствии с нажатой клавишей.
5
28 мая 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: Uranium-238
Если предположим задача состоит в том чтобы фокус перемещался по кнопкам в соответствии с нажатой клавишей.

Вам нужно обрабатывать событие OnKeyDown требуемых компонент. После обработки клавиш Up Down и др. устанавливаете свойство Handled параметра KeyEventArgs e в true.

20K
03 июня 2008 года
Camarada
44 / / 08.07.2007
Цитата: Uranium-238
Может быть кто сталкивался с потерей фокуса контролом (например кнопкой). За ответ зараннее благодарен. Закинул на форму несколько кнопок (допустим 9 и расположил их в виде таблицы 3х3). При нажатии клавиш Up, Down, Left, Right происходит перемещение фокуса по TabIndex. Как и где такое поведение можно отключить? Если взять текстбокс - он не теряет фокуса при нажатии данных клавишь. Не думаю что это связано с наследованием контролов, но найти ничего не могу. Если предположим задача состоит в том чтобы фокус перемещался по кнопкам в соответствии с нажатой клавишей.



Это нормальное поведение, представьте, что при нажатии Left в техкстбоксе, курсор перемещался бы не на соседний символ, довольно странно, для кнопки это же нормально. Может как-то и можно изменить, но мне видится только один выход - перехват события KeyDown

17K
04 июня 2008 года
Uranium-238
17 / / 06.08.2007
Выкрутился из положения таким способом:
Событие "Validating" для кнопки происходит уже после автоматического перемещения фокуса, в нем и присваиваем фокус нужному контролу. :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог