我想从RichTextBox
中选择一些文字时执行某些操作。那么RichTextBox
在什么情况下我应该写出我的逻辑?
我正在设计一个记事本。我有一个Menustrip
,而Menustrip
我有复制,粘贴,撤消和重做选项。我希望仅当用户选择RichTextBox
中的任何文本时,用户才能看到这些选项。
我已经在许多活动中尝试过,但到目前为止还没有成功。
我已在RichTextBox
Mousecapturechanged
事件和Toolstripmenu menu active event
中尝试过。
我正在使用C#。
请帮助。
答案 0 :(得分:1)
最好的解决方案是订阅RichTextBox
的{{3}}事件,并在事件处理程序中检查所选文本的长度是否大于0,如下所示:
private void richTextBox1_MouseUp(object sender, MouseEventArgs e)
{
if (richTextBox1.SelectedText.Length > 0)
{
// Show the Copy, Paste, Cut Buttons...
}
}
这是因为只要更改了选择,MouseUp
事件就会触发,因此甚至不能让您正确选择文本。
答案 1 :(得分:0)
您可以使用SelectionChanged
事件:
在控件中的文本选择发生更改时发生。
MSDN链接 - RichTextBox。
此活动非常适合您的目标。
现在您还需要正确使用它。即使您键入内容,此事件也会触发。所以你必须验证是否选择了这样的东西:
private void richTextBox1_SelectionChanged(object sender, EventArgs e)
{
if (richTextBox1.SelectedText.Length > 1)
{
// Show the Copy, Paste, Cut Buttons...
}
}
答案 2 :(得分:0)
您可以使用<c:forEach var="row" items="${result.rows}">
事件并检查光标是否已更改或是否已选择部分文本。
SelectionChanged