2015-03-05 2 views
0

У меня есть одна форма с четырьмя dockPanelsКак перезагрузить внимание на формы контроля (dockPanels)

  • dock_1
  • dock_2
  • dock_3
  • dock_4

я хочу сосредоточиться на специфический dockPanel, изменив их tabIndex. Для dockPanel, который должен быть сфокусирован, я устанавливаю tabIndex на 0, остальные индексы док-станции меня увеличивают.

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

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

Вы знаете, как вызвать:

System.Windows.Forms.dll System.Windows.Forms.ContainerControl.UpdateFocusedControl()

Он должен перезарядить фокус в форме, но я не способный вызвать его. Я пробовал решения, похожие на: myForm.Select(), но без каких-либо результатов.

Благодаря

+0

Я немного не понимаю, в чем заключается ваша цель. Вы переупорядочиваете TabIndex, а затем пытаетесь сосредоточиться на dockPanel с 'TabIndex == 0'? – jaredbaszler

+0

Да. Когда вы устанавливаете tabIndex = 0, например. dock_1 Внутри конструктора фокус будет на dock_1. Но он работает только внутри конструктора и рисования первой формы. После этого я не могу перерисовать фокус, когда, например, я установил tabIndex = 0 для dock_3 и tabIndex для rest dockPanel I увеличиваю. После этого изменения фокус должен быть на dock3. Это как работает. Но я не знаю Как перефокусировать вручную/перерисовать форму – jacek

ответ

0

TabIndex свойство не применяется для док-панелей.
Используйте DockManager.ActivePanel свойства, чтобы получить или установить в настоящее время активной панели дока:

dockManager1.ActivePanel = dockPanel1; 

активных док панель является тот, который имеет фокус или содержит элемент управления, который имеет фокус.
При изменении активной панели док-станции увольняется событие DockManager.ActivePanelChanged.

+0

Спасибо, это должно мне помочь – jacek

Смежные вопросы