使用 ContextMenuStrip 更改特定控件的 属性,在 vb.net

Use ContextMenuStrip to change property of specific control, in vb.net

我有一个比较简单的问题, 我有一个包含 3 个图片框的表格,我想做的就是制作它,以便您可以将图片框的颜色更改为任意一个;使用上下文菜单条的红色、琥珀色或绿色。所以他们右键单击该框并 select 一种颜色。

然而,到目前为止,除了以下内容,我还没有找到任何有用的东西,

  Private Sub ContextMenuStrip1_Click(sender As Object, e As EventArgs) Handles ContextMenuStrip1.Click
   Dim cms As ContextMenuStrip = CType(sender, ContextMenuStrip)
   Dim Item = cms.SourceControl.Name
  End sub

但我似乎无法link它到特定的控件然后改变它的颜色。

抱歉,如果这没有多大意义,我会在必要时尝试改写它。 提前致谢。

我假设您已经创建了 contextMenuStrip。

在设计器中,单击要添加上下文菜单的图片框。

对其他图片框做同样的事情。

在 Visual Studio window 右侧的属性中,滚动到显示 ContextMenuStrip 的行,单击该行末尾的按钮,您的 ContextMenuStrip 名称应该是在下拉列表中。单击它,您就可以开始了。

要处理菜单项点击,您需要使用类似于下面的代码 - 更改其名称和事件处理程序以匹配您的菜单项的名称。

  Private Sub RedToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles RedToolStripMenuItem.Click
    Dim pBox As PictureBox = CType(ContextMenuStrip1.SourceControl, PictureBox)
    pBox.BackColor = Color.Red
End Sub

上面的代码确定哪个 PictureBox 打开上下文菜单并将其背景颜色 属性 更改为红色。