Vb.net 多个按钮上的ContextMenu可更改右键单击按钮的文本

Vb.net 多个按钮上的ContextMenu可更改右键单击按钮的文本,vb.net,right-click,contextmenustrip,Vb.net,Right Click,Contextmenustrip,我的VB.net窗体上有多个按钮。我有一个ContextMenuStrip,我已将其分配给所有按钮。我似乎不知道如何根据我右键单击的按钮将按钮文本设置为菜单选项 有什么想法吗?提前谢谢 我的代码: Private Sub PuTTYToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles PuTTYToolStripMenuItem.Click Dim btn As Button = CType(sende

我的VB.net窗体上有多个按钮。我有一个ContextMenuStrip,我已将其分配给所有按钮。我似乎不知道如何根据我右键单击的按钮将按钮文本设置为菜单选项

有什么想法吗?提前谢谢

我的代码:

Private Sub PuTTYToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles PuTTYToolStripMenuItem.Click
        Dim btn As Button = CType(sender, Button)
        btn.Text = "PuTTY"
    End Sub

您需要在菜单中保存一个参考或指示器,打开EventThank@Proputix。。。我修改过这样做,但我被卡住了。我的菜单项有子项。。。单击子项时,它会将我的按钮更新为“父”菜单项名称<代码>私有子按钮NumList1\u ItemClicked(发件人作为对象,e作为ToolStripItemClickedEventArgs)处理按钮NumList1.ItemClicked Dim contextMenu=DirectCast(发件人,ContextMenuStrip)Dim btn=DirectCast(contextMenu.SourceControl,按钮)Dim toolStripItem=e.ClickedItem btn.Text=toolStripItem.Text End Sub存在一个错误,
SourceControl
无法可靠地保留您将其设置为的控件。只需使用在菜单打开事件中设置的表单级别变量(例如
mnuBtn
)。然后在单击中使用它如果我没记错,
SourceControl
适用于顶级菜单项,但下面的任何内容都将显示为
Nothing
。当我需要这个功能时,我总是按照@puropolix的建议去做。