如何检查是否选择了 RichTextBox 中的某些文本

How to check if some text in a RichTextBox is selected

我正在创建一个文本编辑器,我想在编辑菜单中添加复制、粘贴和剪切功能。我希望这些 MenuItems 仅在有活动选择时才启用。

我有一个搜索和突出显示的功能,但似乎没有要检查的触发器才能执行此操作。

RichTextBox.SelectionChanged 事件 (documentation) 在控件中的文本选择发生变化时触发。

RichTextBox.SelectionLength 属性 (documentation) 将return控制选中的字符数。

处理 SelectionChanged 事件并根据 SelectionLength 是否大于 0 设置菜单项的启用 属性:

Private Sub MyRichTextBox_SelectionChanged(sender as Object, e as EventArgs) Handles MyRichTextBox.SelectionChanged
    MyMenuItem1.Enabled = MyRichTextBox.SelectionLength > 0
    MyMenuItem2.Enabled = MyMenuItem1.Enabled
    MyMenuItem3.Enabled = MyMenuItem1.Enabled
End Sub