Как сделать текст в текстовом поле WinForms невыбираемым, не отключая его?

StackOverflow https://stackoverflow.com/questions/411143

  •  03-07-2019
  •  | 
  •  

Вопрос

Можно ли сделать текст в текстовом поле невыбираемым, не отключая текстовое поле?Это RichTextBox, и мне нужны его функции форматирования и выбора.Я не могу отключить это, потому что я хочу обрабатывать события MouseMove и MouseDown.

До сих пор я думал об отключении текстового поля и размещении поверх него панели, которая будет делегировать свои события обработчикам текстовых полей, но я не могу сделать панель прозрачной, чтобы она скрывала текстовое поле.

Спасибо.

Это было полезно?

Решение

Как насчет обработки событий .Enter или .GotFocus, чтобы отменить любой сделанный выбор?
Вы можете увидеть противоположное тому, что вы хотели увидеть в Автоматическое выделение всего текста в фокусе в текстовом поле WinForms.

Другие советы

Как насчет обработки события изменения выбора следующим образом:

    private void richTextBox1_SelectionChanged(object sender, EventArgs e)
    {
        this.richTextBox1.SelectionStart = this.richTextBox1.Text.Length;
    }

Я не совсем уверен, к чему вы клоните (хотите что-то невыбираемое, но хотите его функции выбора), но делает настройку ReadOnly чтобы по-настоящему достичь того, что вы ищете?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top