![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
vlsaf |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 9.5.2007 Репутация: нет Всего: 1 |
Вопрос 1.
Можно ли события KeyDown или KeyPress заставить реагировать на нажатие на клавишу Tab? Если нет, а наверно так и будет, то вопрос 2 Как программно съемулировать нажатие на клавишу Tab? А вообще задача такая. Нужно по табу заставить перемещаться курсор в нужном мне порядке. Если это на простой форме, то нет проблем. Я перенумеровываю поля и усё. Если это TabControl и если я нахожусь на последнем поле первой вкладки, то мне надо переместиться на первое поле второй вкладки. Но не могу поймать событие по KeyDown или KeyPress. Если же я ловлю событие PreviewKeyDown, вот так
то я улетаю на второе поле. Народ. Должно же это как-то просто решаться? Это сообщение отредактировал(а) vlsaf - 17.1.2008, 17:05 |
|||
|
||||
Bogdan1024 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1436 Регистрация: 28.9.2005 Где: Киев Репутация: 3 Всего: 13 |
if (e.KeyData == Keys.Tab) ...
-------------------- ![]() |
|||
|
||||
vlsaf |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 9.5.2007 Репутация: нет Всего: 1 |
И в каком событии эту строку вставлять?
|
|||
|
||||
thomas |
|
||||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 6 Всего: 65 |
vlsaf,
Привет.
Проверь какой таб индекс у твоего textBox1_vfomTab2. Сдается мне, что отличный от нуля. Проверь и переустанови табиндексы у контролов на каждой вкладке табконтрола. И по моему событие KeyPress самое то. Только писать надо по-умному
Успехов. -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
||||
|
|||||
Magnetic |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 111 Регистрация: 11.11.2006 Репутация: нет Всего: 1 |
thomas, здается мне, что фокус на второй текстбокс происходит потому, что после перехода на вторую владку срабатывает переход фокуса, который должен был произойти еще на первой вкладке.
vlsaf, могу предложить сразу два немного индусских решений, на случай, если не появится более благоразумного ![]() 1. Кидаешь на первую вкладку кнопку с максимальным TabIndex для даной вкладки. Для чего - при нажатии Tab на последнем текстбоксе фокус перемещается на эту кнопку, потом в обработчике события Enter этой кнопки (не путать с нажатием клавиши Enter) делаешь нужный тебе переход. Осталось сделать кнопку невидимой на форме. Visible=false нельзя, т. к. фокус кнопка не получит, событие Enter не сработает. Устанавливаешь такие свойства: FlatStyle=Flat, Text=" " (пробел обязателен), FlatAppearance.BorderSize = 0, ну и цвет тоже подгоняешь под фон. 2. Oписаную выше кнопку бросаешь на следующую владку с минимальным TabIndex, а в коде который ты написал в первом своем посте фокус передаешь не на первый текстбокс, а на эту кнопку. --------------------
Dude, where's my car? |
|||
|
||||
vlsaf |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 9.5.2007 Репутация: нет Всего: 1 |
Если TabStop поставить в False, тогда можно выловить событие KeyPress
Только в этом случае по Tab в это поле уже не попадешь. Но это уже 80% решения. Засада ![]() На радиокнопках эта идеология не катит. Будем искать другой вариант. Это сообщение отредактировал(а) vlsaf - 18.1.2008, 11:11 |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | .NET для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |