入门鼠标右键事件(快捷菜单)
C#鼠标右键菜单(快捷菜单)
标签(空格分隔): C#
请到这里浏览:https://www.zybuluo.com/kuier1992/note/164140
再也不用博客园发MarkDown了。太乱了
以前没怎么用过鼠标右键弹出菜单
这个功能,今天使用到了,稍微总结一下。
快捷菜单
(也称为上下文菜单
)在用户单击鼠标右键时会出现在鼠标位置。 快捷菜单
在鼠标指针位置提供了工作区或控件的选项。
ContextMenuStrip和ContextMenu的不同,其实就是一个新一个旧。
ContextMenuStrip
控件替换ContextMenu
控件并向其添加功能;但是也可选择保留ContextMenu
控件以备向后兼容和将来使用。
ContextMenuStrip
重要的类
类 | 说明 |
---|---|
ToolStripMenuItem | 表示 MenuStrip 或 ContextMenuStrip 上显示的可选选项。 |
ToolStripDropDown | 表示使用户能从列表中选择单个项的控件,该列表在用户单击 ToolStripDropDownButton 或更高级菜单项时显示。 |
ToolStripDropDownItem | 为派生自 ToolStripItem 的控件提供基本功能,当单击控件时显示下拉项. |
在这里主要使用到ToolStripMenuItem
直接看代码:
//构造了一个ContextMenuStrip对象
ContextMenuStrip contextMenuStrip = new ContextMenuStrip();
contextMenuStrip.Items.Add("xxx", null, ContextMenuStripEditArgs);
contextMenuStrip.Items.Add("xxx");
//将控件的ContextMenuStrip属性指向刚刚构造的ContextMenuStrip对象就可以使用了。
MainMap.ContextMenuStrip = contextMenuStrip;
//点击第一个鼠标右键item执行的代码
private void ContextMenuStripEditArgs(Object sender, EventArgs e)
{
MessageBox.Show("haha");
}
ContextMenuStripEditArgs
是符合System.EventHandler委托类型的实例,这里使用了简化语法,不需要构造委托对象,传入符合委托对象的实例方法即可。EventHandler语法为:
[SerializableAttribute]
[ComVisibleAttribute(true)]
public delegate void EventHandler(
Object sender,
EventArgs e
)
`Items.Add`方法有好几个重载,可以构造含图片的快捷菜单;还有一个`AddRange`方法可以向`ContextMenuStrip `添加若干菜单项
暂时简单的使用一下快捷菜单,就是这样。
posted on 2015-08-31 17:48 kuiblog.com 阅读(481) 评论(0) 编辑 收藏 举报