Tan Nguyen Dang Ответов: 1

Что произошло, когда я удалил первую вкладку в tabcontrol


У меня есть форма с TabControl, которая содержит 3 вкладки.
Когда я удаляю вторую или третью вкладку, курсор будет находиться на текстовом поле, которое не находится на TabControl и имеет наименьший TabIndex. Но когда я убираю первый, первый
Будет выбрана страница табуляции (это означает, что курсор находится на странице табуляции). Я не знаю, почему? Кто-нибудь может объяснить? Я действительно хочу, чтобы он все еще фокусировался на текстовом поле, которое не находится на TabControl и имеет наименьший TabIndex.

Что я уже пробовал:

Я пытаюсь получить следующий элемент управления, который будет выбран следующим с помощью Form.GetNextControl, прежде чем удалить вкладку и установить фокус на это. Это работает, но я не думаю, что это лучшее решение.

Gerry Schmitz

Иногда" обходной путь" является единственным ответом.

Какие "обработчики событий" срабатывают при удалении вкладки? Теряет концентрацию? Есть ли у вкладки фокус? Какой элемент управления на вкладке имел фокус, когда вкладка была удалена? Имеет ли значение, какой контроль? и т.д.

Tan Nguyen Dang

Я удаляю его в событии onload формы. Курсор находится на вкладке вкладки, а не фокусируется на элементе управления, когда я удаляю первую вкладку. Из-за бизнеса мне нужно, чтобы курсор находился на текстовом поле, которое не содержится в TabControl и имеет наименьший TabIndex.
Спасибо за ваш комментарий. ^_^

1 Ответов

Рейтинг:
1

clwprogrammer

я нашел кое-что, что сработало для меня, но не знаю, сработает ли это для вас.

в событии onload попробуйте использовать

tabcontrol1.tabpages.remove(tabpage1)
tabcontrol1.visible = false
tabcontrol1.visible = true


странно, но это работает.