Winform tabcontrol неожиданное изменение фокуса при переключении между страницами вкладок
Привет,
У меня есть tabcontrol, на котором я размещаю формы в разделе tab pages. В форме есть элементы управления, такие как кнопка и текстовые поля.
Предположим, что в элементе управления вкладками открыто 2 страницы вкладок.
Также допустим, что есть 4 элемента управления на форме в tab-page-1 и 4 элемента управления на форме в tab-page-2.
Пользователь находится на вкладке-Страница-1, а фокус-на элементе управления-3. Теперь пользователь переключается на tab-page-2 и вводит некоторые входные данные в элемент управления 1 и фокусируется на элементе управления 2.
Теперь пользователь переключается на вкладку-Страница-1. Помните, что на вкладке-Страница-1 основное внимание было уделено элементу управления-3. Но, как только переключение сделано, фокус снова смещается на Control-1 на tab-page-1.
Кроме того, если теперь вы переключитесь обратно на вкладку-страницу-2, где фокус был на control-2, фокус теперь находится на control-1.
Я хочу оставаться в центре внимания на элементе управления, где пользователь оставил при переключении между вкладками.
Любая помощь и предложение глубоко принимаются.
Спасибо!
Что я уже пробовал:
Я пробовал обрабатывать различные события tab-control, а также страницы вкладок и формы, содержащиеся в них, такие как LostFocus, Deselecting, Deselected, Selecting, Selected, Leave, Enter и многое другое, но ни один из них не работает.
Все события огневого поста фокус потерян.
EDIT frim Chill60. Я дал оперативникам решение, но они не убеждены. Натыкаюсь на это, чтобы посмотреть, есть ли у кого-нибудь идея получше
CHill60
Захватив свойства tabindex, как вы вводите каждый элемент управления на элемент управления TabControl. Далее в разделе мы рассмотрим способ для вкладок вручную установить фокус на соответствующий элемент управления
Member 11040029
привет, остынь...вот и весь вопрос..как захватить tabindex/control. Я не нахожу ни одного события, которое могло бы это сделать.
CHill60
Каждый элемент управления имеет событие Enter - Вы должны сделать все остальное (определить "текущий" элемент управления для этой вкладки, потенциально сохранить ссылку на каждую вкладку, дать фокус элемента управления, если вкладка будет повторно выбрана)
Member 11040029
да, я действительно знаю это, но что происходит, так это то, что как только вы пытаетесь изменить вкладку, tabcontrol перемещает фокус на самый первый элемент управления на странице внутри, а затем переходит к следующей вкладке. Таким образом, каждый раз ссылка меняется.
CHill60
Как насчет события отпуска тогда
Member 11040029
Братан..тогда на отпуске ссылка снова поменяется!
CHill60
Это не так уж сложно, "братан". Захватите последний элемент управления, который был сфокусирован на каждой вкладке, и снова сфокусируйтесь на нем, когда вы войдете в эту вкладку! Попробуйте поместить некоторую отладку в каждое событие и посмотреть,что происходит, когда и в каком порядке
Member 11040029
пожалуйста, оцените этот вопрос...больше пищит можете ответить
CHill60
Это так не работает. Это не инста
Member 11040029
Ммм, хорошо.но все эти решения не работают :(