Richtextbox上下文菜单焦点光标不会改变

时间:2014-10-02 10:09:55

标签: vb.net contextmenu richtextbox

我已经扩展了richtextbox并添加了上下文菜单,如下所示

 Public Sub New()           
        Dim contextMenu As ContextMenu = New System.Windows.Forms.ContextMenu()
        Dim menuItem As New MenuItem("Cut")        
        contextMenu.MenuItems.Add(menuItem)
        menuItem = New MenuItem("Copy")           
        contextMenu.MenuItems.Add(menuItem)
        menuItem = New MenuItem("Paste")            
        contextMenu.MenuItems.Add(menuItem)
        Me.ContextMenu = contextMenu
End Sub

但是当我右键单击富文本框时,它会显示一个菜单。但是当我们将光标放在菜单上时,光标将不会更改为箭头。它就像一个我们默认获得richtextbox的游标。我该如何纠正?

2 个答案:

答案 0 :(得分:1)

您应该使用新的ContextMenu,而不是使用旧ContextMenuStrip

Public Sub New()
    Dim contextMenu As ContextMenuStrip = New System.Windows.Forms.ContextMenuStrip()
    Dim menuItem As New ToolStripMenuItem("Cut")
    contextMenu.Items.Add(menuItem)
    menuItem = New ToolStripMenuItem("Copy")
    contextMenu.Items.Add(menuItem)
    menuItem = New ToolStripMenuItem("Paste")
    contextMenu.Items.Add(menuItem)
    Me.ContextMenuStrip = contextMenu
End Sub

以下是关于differences between .ContextMenu and .ContextMenuStrip的相关SO帖子。

答案 1 :(得分:0)

如果要更改游标类型,可以更改控件的Cursor属性。

E.g。如果我有一个名为HandLbl的Label并希望将光标更改为手,我可以更改其光标属性(在此示例中为表单加载)。

HandLbl.Cursor = Cursors.Hand

请点击此处查看更完整的示例:

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.cursor%28v=vs.110%29.aspx

您还可以选择一大堆光标类型:

http://msdn.microsoft.com/en-us/library/system.windows.forms.cursors%28v=vs.110%29.aspx