У меня есть пользовательский элемент управления, который ведет себя как плавающий элемент управления, и я хотел бы ограничить порядок табуляции только моим пользовательским элементом управления, когда он виден. В основном мне нужно иметь элемент управления, который ведет себя как Form
без полей. На самом деле это был Form
, но мне нужно было сохранить Фокус в окне MainForm, поэтому мне пришлось изменить его на UserControl
.
Итак, представьте Form
A (MainForm), а мой UserControl
B. B является дочерним элементом управления A. Предположим, что форма A имеет кнопку и текстовое поле, а элемент управления B также имеет кнопку и текстовое поле. В настоящее время происходит следующая последовательность
Что сейчас происходит (естественное поведение табуляции):
Когда виден только A (B не виден):
1. The user manually focuses A textbox
2. Press tab key
3. A button is focused
Когда виден A, а также виден B: (ключ естественного порядка табуляции следующий):
1. The user manually focuses B textbox
2. Press tab key
3. B button is focused
4. Press tab key
5. A textbox is focused
6. Press tab key
7. A button is focused
Что мне нужно (мне нужно изменить пользовательский элемент управления, чтобы сохранить фокус):
Что мне действительно нужно, так это то, что элемент управления B сохраняет порядок табуляции внутри него, поэтому мне нужно, когда элемент управления B виден:
1. The user manually focuses B texbox
2. Press tab key
3. B button is focused
4. Press tab key
5. B textbox is focused