2020-3-31 15:14:24 | 作者:老铁SEO | 0个评论 | 人浏览
ContextMenu是VS2005里的,08升级成ContextMenuStrip。升级后的元件功能更强。
ContextMenuStrip替换ContextMenu。可以将ContextMenuStrip与任何控件关联,单击鼠标右键会自动显示快捷菜单。您可以通过使用Show方法以编程方式显示ContextMenuStrip。ContextMenuStrip支持可取消的Opening和Closing事件以处理动态填充和多次单击方案。ContextMenuStrip支持图像、菜单项复选状态、文本、访问键、快捷键和级联菜单。
虽然ContextMenuStrip对以前版本的ContextMenu控件的功能进行了替换和添加,但是考虑到向后兼容性和将来的使用(如果的确需要),仍然保留了ContextMenu。
contextmenuhandlers是什么
看下注册表文件:
regadd"HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers\New"/ve/d"{D969A300-E7FF-11d0-A93B-00A0C90F2719}"/tREG_SZ/f
单击选择“开始”→“运行”命令,在“运行”对话框的“打开”栏中输入“上面的命令”,然后单击“确定
1.开始>附件>记事本
2.把以下内容复制到记事本中:
WindowsRegistryEditorVersion5.00
[HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers\New]
@="{D969A300-E7FF-11d0-A93B-00A0C90F2719}"
3.点文件>保存
4.关键步骤:保存的文件名请复制“you.reg”
5.然后双击该保存后的文件,会弹出提示,点击确定,即可恢复。
contextmenustrip使用方法
这个需要动态生成,给你个思路:
每次需要用的时候创建
contextMenuStripcms=newcontextMenuStrip();添加一个右键菜单
cms.toolitemsstrip.add()-添加一个菜单选项
菜单选项.cilik+=function()--为菜单绑定单击事件方法
最后将cms对象和你的控件绑定控件名.contextmenustrip=cms
具体的单词记不住,不好意思
msdn.microsoft/zh-cn/library/system.windows.forms.contextmenustrip(VS.80).aspx
contextmenuhandlers没有new
这是注册表中相关数据丢失造成的。解决方法是:运行“regedit”,找到HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers在右边窗口中,右击空白处,依次选择“新建”→“项”,将其名改为“New”。然后选中“New”,再在右边窗口中,双击字符串值“默认”,把数值改为“{D969A300-E7FF-11d0-A93B-00A0C90F2719}”即可。
输入:{D969A300-E7FF-11d0-A93B-00A0C90F2719}
试用完,效果非常好。留言。