045快捷菜单

    在Windows应用程序中,通常在右击鼠标时会弹出一个菜单,通过该菜单可以使用户方便、快捷地执行程序的一些常用功能。这些菜单就是所谓的快捷菜单,也称上下文菜单,快捷菜单通常组合了来自窗体的MenuStrip控件的不同菜单项,便于用户在给定应用程序上下文中使用。例如,可以使用分配给TextBox控件的快捷菜单提供菜单项,以便更改文本字体,在控件中查找文本或实现复制和粘贴文本的剪贴版功能a还可以在快捷菜单中显示不在MenuStrip中的新的TooIStripMenultem(菜单项)对象,从而提供与特定情况有关但不适合在MenuStrip中显示的命令。
    在通常情况下,当用户在控件或窗体本身上单击鼠标右键时,会弹出快捷菜单。许多可视化控件(包括Form本身)都有一个ControI.ContextMenuStrip属性,该属性将ContextMenuStrip类绑定到显示快捷菜单的控件。多个控件可以共享使用一个ContextMenuStrip控件。
    可以通过两种方式显示快捷菜单,最常用的一种方法是先将ContextMenuStrip与控件相关联,这样在单击鼠标右键时会自动显示快捷菜单;外还可以通过使用Show()方法以编程方式显示ContextMenuStrip。由于第一种方法相对简单,所以主要是采用将ContextMenuStrip与控件相关联显式的方式。
  (1)继续044替换和删除菜单与菜单项,为子窗体ChildFrm添加ContextMenuStrip控件。
  (2)设计菜单内容。

    (3)将ContextMenuStripl控件与窗体内的控件RichTextBox关联。方法是先选定窗体内的控件RichTextBox,将其ContextMenuStrip属性值设置为ContextMenuStripl。

  (4)为“复制”,  “粘贴”和“剪切”菜单项添加Click事件处理程序。
 

 '上下文菜单
    Private Sub CopyMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CopyMenuItem.Click
        Try
            txtContent.Copy()
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub

    Private Sub PasteMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PasteMenuItem.Click
        Try
            txtContent.Paste()
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub

    Private Sub CutMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CutMenuItem.Click
        Try
            txtContent.Cut()
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub

    (5)为ContextMenuStripl菜单添加Opening事件,当未选中文本时禁用“剪切”和“复制’’菜单项。

Private Sub ContextMenuStrip1_Opening(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ContextMenuStrip1.Opening
        Dim ContextMenu As ContextMenuStrip = CType(sender, ContextMenuStrip)
        If txtContent.SelectedText.Length < 0 Then
            ContextMenu.Items(0).Enabled = False
            ContextMenu.Items(1).Enabled = False
        Else
            ContextMenu.Items(0).Enabled = True
            ContextMenu.Items(1).Enabled = True
        End If
    End Sub


 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ngbshzhn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值