У меня есть RTB в моей форме, чтобы полужирная половина текста. КодексRichTextBox selected Текстовое свойство
int start = richTextBox.Text.ToUpper().IndexOf(text.ToUpper());
richTextBox.Select(start, text.Length);
richTextBox.SelectionFont = new Font(richTextBox.Font.Name, richTextBox.Font.Size, richTextBox.Font.Style^FontStyle.Bold);
и я использую MenuItem
класс для добавления пользовательского меню у меня в форме. Одно из меню: Copy Selected
будет иметь event handler
, который запускается, когда пользователь выбирает это меню в буфер обмена для вставки выделенного текста.
Проблема заключается в том, что пользователь не выбирает текст и не пытается вставить его, он вставляет выделенный текст, который я сделал для полужирного шрифта (выше в RTB), который является ошибкой. код в моем обработчике
void noteCopySelectedMenu_Click(object sender, EventArgs e)
{
if (sender != null)
{
MenuItem noteCopyMenu = (MenuItem)sender;
ContextMenu noteContextMenu = (ContextMenu)noteCopyMenu.Parent;
RichTextBox text = (RichTextBox)noteContextMenu.SourceControl;
if (text != null)
{
// Copy note to Clipboard
Clipboard.Clear();
Clipboard.SetDataObject(text.SelectedText, false);
}
}
}
text.SelectedText
держит текст полужирный от RTB
Когда пользователь просто выберите меню без выбора какой-либо текст, он должен быть пустым. Как преодолеть это?
все еще имеет длину текста, которые я взял для Жирного .... поэтому состояние становится через, когда пользователь не выбирает любой текст –