Приевет всем.
Надо чтобы RichTextBox никогда не получал фокуса клавиатурного ввода. В WinAPI все было просто, перехватываешь смену фокуса, и возвращаешь фокус владельцу. В WinForms это почему-то не прокатывает. Т.е. другому контролу можно фокус передать, а диалогу нет. Кто-нибудь знает как это можно обойти?
Вот, как можно это сделать — но работает только когда есть еще контролы в Tab последовательности:
подписываетесь на событие RichTextBox.GotFocus:
RichTextBox1.GotFocus += new System.EventHandler(OnGotFocus);
И сам обработчик события:
private void OnGotFocus(object sender, EventArgs args)
{
SendKeys.Send("{TAB}");
}
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Но тогда можно сделать Enabled = false; но тогда у него backcolor поменяется, но фокус он получать не будет.
Если Enabled = true, то я думаю нет другого способа как передать фокус другому контролу.
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
А>Надо чтобы RichTextBox никогда не получал фокуса клавиатурного ввода.
В качестве идеи (сам не пробовал): унаследоваться от RichTextBox и в конструкторе прописать
this.SetStyle(ControlStyles.Selectable, false);
Ну или тоже самое сделать через Reflection без наследования.