.Net WinForms TabControl Steals Сосредоточиться на активации формы - PullRequest
4 голосов
/ 13 августа 2010

Интересно, есть ли кто-нибудь, кто может мне помочь?

Проблема, с которой я столкнулся - это окно формы TabPage, воровавшее внимание при повторной активации формы. Форма имеет TabControl с четырьмя или пятью TabPages. Каждая вкладка имеет много различных элементов управления.

Сценарий выглядит следующим образом: Пользователь перемещается по нескольким элементам управления на первой вкладке TabPage, и создается новая форма (например, из одного из событий Leave) TextBox, которая удаляет фокус из первой формы, поскольку она сама получает фокус. Пользователь выбирает значение в новой форме и закрывает его. - Тогда я бы ожидал, что оригинальная форма будет знать, куда пользователь добавил вкладку, и установит фокус на этом элементе управления.

Однако, похоже, что когда форма снова активируется, она устанавливает фокус, а не обратно туда, куда попал пользователь, или даже первый элемент управления в порядке табуляции активной TabPage. Вместо этого он фокусируется на самой активной вкладке.

Есть ли где-нибудь вокруг этого?

Спасибо и всего наилучшего, Дуэйн.

1 Ответ

1 голос
/ 13 августа 2010

Я создал переменные (в классе tab-control, чтобы держать их в области видимости) для хранения текущей страницы и последней посещенной страницы, а также создал переменную для хранения элемента управления, который имел фокус, использовал указатель, ссылку, что угодно.

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

HTH

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...