0
フォームの半分を太字にしたRTBがあります。コードはRichTextBoxでTextプロパティが選択されました
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
クラスを使用しています。メニューの1つは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
から太字のテキストを保持している、それが空である必要があります。これを克服する方法は?
、ユーザが選択していないときの状態を経由なっているので、それはまだ....私は太字のために撮影したテキストの長さを持っています任意のテキスト –