AutoVerbMenu 属性未升级

在 Visual Basic 6.0 中,RichTextBox 控件的 AutoVerbMenu 属性用于显示具有一组标准命令的上下文菜单(或快捷菜单)。

在 Visual Basic 2008 中,不再存在 AutoVerbMenu 属性。要为 RichTextBox 控件提供一个上下文菜单,请使用 ContextMenuStrip 组件。要创建一个再现 AutoVerbMenu 的外观和行为的上下文菜单,请执行以下过程。

下一步做什么

  1. 在“解决方案资源管理器”中,右键单击包含 RichTextBox 控件的窗体并选择“视图设计器”。

  2. 在“工具箱”中双击 ContextMenuStrip 组件。它将添加到该设计器底部的“组件栏”中。

  3. 在“属性”窗口中,选择“(Name)”属性并将其更改为 AutoVerbMenu。

  4. 选择 ShowImageMargin 属性并将其设置为 False。

  5. 选择 Items属性,然后单击省略号按钮以打开“项集合编辑器”。

  6. 单击“添加”按钮以添加 ToolStripMenuItem

  7. 在“属性”网格中,选择“(Name)”属性并将其更改为“撤消”。

  8. 选择“Text”属性并将其更改为“撤消”。

  9. 选择“ShortcutKeys”属性,单击下拉按钮,选择“Ctrl”复选框并在“键”列表中选择“Z”。

  10. 在“选择项并添加到以下列表”下拉列表中,选择“分隔符”,然后单击“添加”按钮。

  11. 在“选择项并添加到以下列表”下拉列表中,选择“MenuItem”,然后单击四次“添加”按钮。

  12. 对于每个新菜单项,如下所示设置其属性:

    1. 对于第一项,将“(Name)”和“Text”属性设置为“Cut”,将 ShortcutKeys 属性设置为“Ctrl + X”。

    2. 对于第二项,将“(Name)”和“Text”属性设置为“Copy”,将 ShortcutKeys 属性设置为“Ctrl + C”。

    3. 对于第三项,将“(Name)”和“Text”属性设置为“Paste”,将 ShortcutKeys 属性设置为“Ctrl + V”。

    4. 对于第四项,将“(Name)”和“Text”属性设置为“Delete”,将 ShortcutKeys 属性设置为“Del”。

    单击“确定”以关闭“项集合编辑器”。

  13. 在“属性”窗口中,单击“事件”按钮,然后双击“Opened”事件以打开“代码编辑器”。在 AutoVerbMenu_Opened 事件过程中,键入以下代码。

    ' Determine if Undo should be enabled.
    If RichTextBox1.CanUndo = True Then
        Undo.Enabled = True
    Else
        Undo.Enabled = False
    End If
    ' Determine if Cut, Copy, and Paste should be enabled.
    If RichTextBox1.SelectedText <> "" Then
        Cut.Enabled = True
        Copy.Enabled = True
        Delete.Enabled = True
    Else
        Cut.Enabled = False
        Copy.Enabled = False
        Delete.Enabled = False
    End If
    ' Determine if Paste should be enabled
    If My.Computer.Clipboard.ContainsText = True Then
        Paste.Enabled = True
    Else
        Paste.Enabled = False
    End If
    
  14. 在“类名”下拉列表中选择“Undo”。在“方法名称”下拉列表中,选择“Click”。在 Undo_Click 事件处理程序中,添加下面的代码。

    ' Undo the last edit operation in the RichTextBox
    If RichTextBox1.CanUndo Then
        RichTextBox1.Undo()
    End If
    
  15. 在“类名”下拉列表中选择“Cut”。在“方法名称”下拉列表中,选择“Click”。在 Cut_Click 事件处理程序中,添加下面的代码。

    ' Cut the selected text and place it on the clipboard.
    If RichTextBox1.SelectedText <> "" Then
        RichTextBox1.Cut()
    End If
    
  16. 在“类名”下拉列表中,选择“Copy”。在“方法名称”下拉列表中,选择“Click”。在 Copy_Click 事件处理程序中,添加以下代码:

    ' Copy the selected text and place it on the clipboard.
            If RichTextBox1.SelectedText <> "" Then
                RichTextBox1.Copy()
            End If
    
  17. 在“类名”下拉列表中,选择“Paste”。在“方法名称”下拉列表中,选择“Click”。在 Paste_Click 事件处理程序中,添加下面的代码。

    ' Paste the contents of the clipboard at the cursor location.
    If My.Computer.Clipboard.ContainsText Then
        RichTextBox1.Paste()
    End If
    
  18. 在“类名”下拉列表中,选择“Delete”。在“方法名称”下拉列表中,选择“Click”。在 Delete_Click 事件处理程序中,添加下面的代码。

    ' Delete the selected text.
    If RichTextBox1.SelectedText <> "" Then
        RichTextBox1.SelectedText = ""
    End If
    
  19. 切换回“设计”视图并选择 RichTextBox 控件。

  20. 在“属性”窗口中,单击“属性”按钮。选择 ContextMenuStrip 属性,然后从下拉列表中选择“AutoVerbMenu”。

请参见

参考

RichTextBox 控件概述(Windows 窗体)

ContextMenuStrip 控件概述