| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка Windows Forms > ToolStripComboBox и фокус ввода |
| Автор: snav 8.9.2007, 12:27 |
| Разрабатываю MDI-приложение для работы с графическим документом. Документ отображается в форме MDI-child. В главном окне (MDI-parent) есть панель ToolStrip, содержащая ToolStripComboBox. С помощью этого комбо-бокса пользователь должен менять масштаб отображения документа. Когда пользователь устанавливает в комбо-боксе новое значение, программа должна вернуть фокус форме документа (окну MDI-child). Но добиться этого никак не удается, фокус упрямо остается в комбо-боксе. Прямая передача фокуса не работает: private void toolComboBox_KeyDown (object sender, KeyEventArgs e) { if ( e.KeyCode == Keys.Enter ) ActivMdiChild.Focus(); } Вызов функции ActivMdiChild.Activate() тоже не помогает. Если кто сталкивался с такой проблемой, подскажите в чем дело. |
| Автор: Freak_FB 12.9.2007, 15:29 | ||||
| Делается всё просто. Делаю так:
Где SetFocus определена в самом класе дочернего окна:
Это у меня на дочернем окне поле для ввода текста находится |
| Автор: snav 12.9.2007, 19:01 |
| Такой способ мне уже подсказали. Я его сейчас использую. Но это всё-таки левый вариан. Хочется сделать по-нормальному... и хочется понять почему вызов ActiveMdiChild.Focus() не работает... Хотя, есть подозрение, что это просто еще один глюк .NET 2.0. |
| Автор: Legolas 11.1.2008, 00:31 | ||
Freak_FB, а можно ли так сделать если метод ставишь на кликанье на самом контроле:
|