我一直在寻找一个简单的右键单击菜单的一个单一的项目。例如,如果我右键单击一张图片,我希望有一个小菜单来显示我自己的标签:添加、删除等如果有人能帮助我,我将非常感激。
谢谢你的帮忙
下面是完整的代码:
ContextMenu cm = new ContextMenu();
cm.MenuItems.Add("Item 1", new EventHandler(Removepicture_Click));
cm.MenuItems.Add("Item 2", new EventHandler(Addpicture_Click));
pictureBox1.ContextMenu = cm;
5条答案
按热度按时间qnzebej01#
将contextmenu添加到窗体中,然后在ContextMenuStrip下的控件属性中分配它.
u0sqgete2#
这是对这个问题的全面回答。我这样做是因为这个页面在谷歌搜索结果中排名很高,而且答案不够详细。这篇文章假设你有能力使用Visual Studio C#表单。这是基于VS 2012。
1.首先,只需将ContextMenuStrip拖到窗体上。它将只是把它放在左上角,在那里你可以添加你的菜单项,并重新命名为您认为合适的。
1.您将不得不查看代码并在表单上自己输入事件。为有问题的项目创建一个鼠标按下事件,然后为它分配一个右键单击事件,如下所示(我将ContextMenuStrip称为“rightClickMenuStrip”):
1.将事件处理程序手动分配给form.designer(您可能需要为System.Windows.Forms添加一个“using”;你可以解决它):
1.此时所需要做的就是简单地双击每个菜单项,并以与处理任何其他按钮相同的方式对每个单击事件执行所需的操作。
这是该操作的基本代码。显然,您可以修改它以适应您的编码实践。
w3nuxt5m3#
如果你使用的是Visual Studio,也有一个GUI解决方案:
1.从菜单中添加 ContextMenuStrip
1.选择上下文菜单并添加右键单击项
1.对于每个项,将单击事件设置为相应的函数
1.选择右键菜单将连接的表单/ button / image / etc(任何项目
1.将其 ContextMenuStrip 属性设置为您创建的菜单。
ac1kyiln4#
在处理完这个问题之后,它对kjnow很有用,e.X / e.Y点是相对于控件的,所以如果(像我一样)你要向列表视图或类似的东西添加上下文菜单,你会想用表单的原点来调整它。在下面的例子中,我在x/y上加了20,这样菜单就稍微向右出现在光标下面。
6xfqseft5#
使用Visual Studio非常容易正如Dorku所说,但是我会一步一步地详细说明。
this.toolStripMenuItem1.Click += ToolStripMenuItem1_Click;
将ContextMenuStrip属性设置为ContextMenuStripReports