ContextMenuStrip
ContextMenuStrip是右键菜单控件,可以理解为一个悬浮的,位置任意的菜单栏
我们在工具栏中把ContextMenuStrip控件拖动到窗体中,不管拖动到哪个控件中,这个菜单都是没有父控件的
菜单栏的菜单项添加,和MenuStrip一致,菜单项的属性、事件也一致,右键菜单会显示在窗体控件下发,点击可编辑,如下所示

添加好之后,运行发现鼠标点击是没反应的,因为右键菜单需要我们手动给别的控件添加事件
比如本案例中创建了一个Form1窗体和一个listBox,分贝给这两个控件添加右键菜单,代码如下所示
c#
// 给窗体控件添加右键事件,显示窗体右键菜单
private void Form1_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right) // 判断鼠标右键
{
contextMenuStrip1.Show(this, e.Location);
}
}
// 给列表控件添加右键事件,显示列表右键菜单
private void listBox1_MouseUp(object sender, MouseEventArgs e)
{
if(e.Button == MouseButtons.Right)
{
contextMenuStrip2.Show(listBox1, e.Location);
}
}效果如下所示

属性
Enabled
控制菜单项是否禁用
c#
menuItem.Enabled=