Как вернуть фокус основному диалогу?
От: Аноним  
Дата: 13.03.06 22:24
Оценка:
Приевет всем.
Надо чтобы RichTextBox никогда не получал фокуса клавиатурного ввода. В WinAPI все было просто, перехватываешь смену фокуса, и возвращаешь фокус владельцу. В WinForms это почему-то не прокатывает. Т.е. другому контролу можно фокус передать, а диалогу нет. Кто-нибудь знает как это можно обойти?
Как вернуть фокус основному диалогу?
От: Аноним  
Дата: 14.03.06 05:52
Оценка:
Вот, как можно это сделать — но работает только когда есть еще контролы в Tab последовательности:

подписываетесь на событие RichTextBox.GotFocus:
RichTextBox1.GotFocus += new System.EventHandler(OnGotFocus);

И сам обработчик события:
  private void OnGotFocus(object sender, EventArgs args)
  {
   SendKeys.Send("{TAB}"); 
  }


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Как вернуть фокус основному диалогу?
От: Аноним  
Дата: 14.03.06 08:53
Оценка:
Здравствуйте, mishazhutov, Вы писали:

M>Вот, как можно это сделать — но работает только когда есть еще контролы в Tab последовательности:


Следующтй в tab последовательности контрол получает фокус, но другому контролу фокус можно передать и так. Дело в том, что я вообще не хочу отдавать контролам фокус, поскольку они мне нужны только для вывода.
Re: Как вернуть фокус основному диалогу?
От: Аноним  
Дата: 14.03.06 09:18
Оценка:
Но тогда можно сделать Enabled = false; но тогда у него backcolor поменяется, но фокус он получать не будет.

Если Enabled = true, то я думаю нет другого способа как передать фокус другому контролу.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Как вернуть фокус основному диалогу?
От: biba  
Дата: 14.03.06 17:49
Оценка:
А>Надо чтобы RichTextBox никогда не получал фокуса клавиатурного ввода.

В качестве идеи (сам не пробовал): унаследоваться от RichTextBox и в конструкторе прописать
this.SetStyle(ControlStyles.Selectable, false);


Ну или тоже самое сделать через Reflection без наследования.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.