C#工具箱中已经找不到 ContextMenu 了,他使用ContextMenuStrip 替换 ContextMenu 。 您可以将ContextMenuStrip 与任何控件关联,单击鼠标右键会自动显示快捷菜单。 您可以通过使用 Show方法以编程方式显示 ContextMenuStrip。 ContextMenuStrip 支持可取消的 Opening 和Closing 事件以处理动态填充和多次单击方案。 ContextMenuStrip 支持图像、菜单项复选状态、文本、访问键、快捷键和级联菜单。
由于这里调用的是无参的show()方法,会在其默认位置显示 ContextMenuStrip 组件,即From窗口的右上角, 而不是显示在控件中,此时代码做如下修改private void CK_MouseDown(object sender, MouseEventArgs e) { if (e.Button==MouseButtons.Right) { //右键 contextMenuStrip1.Show(); //调用ContextMenuStrip 组件 } }
这里使用的是Show(Control,Int32,Int32) 方法private void CK_MouseDown(object sender, MouseEventArgs e) { if (e.Button==MouseButtons.Right) { contextMenuStrip1.Show(checkedListBox1,e.X,e.Y);
//也可以使用contextMenuStrip1.Show(checkedListBox1,e.Location); 替换 } }