C # RichTextBox проблема выбора - PullRequest
       1

C # RichTextBox проблема выбора

8 голосов
/ 09 сентября 2010

У меня есть элемент управления RichTextBox для приложения, и вот моя проблема: когда приложение запускается, если я начинаю выделять мышью некоторые символы внутри слова и продолжаю выбирать вне его, выбор автоматически включает все слово, в которомЯ начал выделение и любые другие слова, из которых я хочу выделить только часть, ms word-ish, если я не ошибаюсь.

например:

  • текст:«Просто еще один foobar»
  • , что я хочу выбрать: «Просто ano [ther foo] bar» (вещь между [])
  • , что на самом деле выбрано: «Just [другойfoobar] "

Проблема только в выборе мышью, если я выбираю текст с клавиатуры, он работает просто отлично.Кроме того, свойство автоматического выбора слова элемента управления отключено.Есть идеи, почему это так?

Ответы [ 2 ]

15 голосов
/ 09 сентября 2010

В реализации свойства AutoWordSelection есть глупая ошибка.Обходной путь одинаково глуп.Добавьте новый класс в ваш проект и вставьте код, показанный ниже.Компиляция.Перетащите новый элемент управления из верхней части панели инструментов на форму, заменив существующий RTB.

using System;
using System.Windows.Forms;

public class FixedRichTextBox : RichTextBox {
    protected override void OnHandleCreated(EventArgs e) {
        base.OnHandleCreated(e);
        if (!base.AutoWordSelection) {
            base.AutoWordSelection = true;
            base.AutoWordSelection = false;
        }
    }
}

Я оставил аннотацию внизу этой страницы библиотеки MSDN с подробностямиошибка.

5 голосов
/ 12 марта 2015

Возможно, все изменилось с тех пор, как на этот вопрос был дан ответ, но у меня есть еще более простое решение:

Просто добавьте richTextBox1.AutoWordSelection = false; к коду.

Звучит безумно, но установив для этого значение false в окне свойств не работает.Вы должны сделать это в коде, даже если свойство уже ложно.Тогда это работает!

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