C#上下文菜单 右键菜单 ContextMenuStrip用法及实例

发布时间:2020-11-22编辑:脚本学堂
本文介绍C#中实现上下文菜单与右键菜单的方法,介绍ContextMenuStrip的用法,有需要的朋友,可以参考下。

设置窗体的ContextMenuStrip属性或直接在按钮单击事件里调出右键菜单。

演示效果图如下:
上下文菜单 右键菜单

代码如下:
 

复制代码 代码示例:

private void button_Click(object sender, EventArgs e)
{
    Button btn = sender as Button;
    btn.FlatAppearance.BorderSize = 0;
    Point point = new Point(btn.Left + this.Left + 5, btn.Top + this.Top + 40);
    contextMenuStrip.Show(point);
}

/// <summary>
/// 绑定右键菜单
/// </summary>
private void BindMenu()
{
    ToolStripMenuItem menu0 = GetMenuItem("一级1", imageList1.Images[0]);
    ToolStripMenuItem menu01 = GetMenuItem("二级11", imageList1.Images[1]);
    menu01.Click += new EventHandler(toolStripMenuItem_Click);//添加事件
    ToolStripMenuItem menu02 = GetMenuItem("二级12", imageList1.Images[2]);
    menu0.DropDownItems.Add(menu01);
    menu0.DropDownItems.Add(menu02);
    cMenu.Items.Add(menu0);
    ToolStripMenuItem menu1 = GetMenuItem("一级2", imageList1.Images[0]);
    ToolStripMenuItem menu11 = GetMenuItem("二级21", imageList1.Images[1]);
    ToolStripMenuItem menu12 = GetMenuItem("二级22", imageList1.Images[2]);
    menu1.DropDownItems.Add(menu11);
    menu1.DropDownItems.Add(menu12);
    cMenu.Items.Add(menu1);
}
/// <summary>
/// 菜单项事件响应
/// </summary> www.jb200.com
/// <param name="sender"></param>
/// <param name="e"></param>
private void toolStripMenuItem_Click(object sender, EventArgs e)
{
    ToolStripMenuItem menu = sender as ToolStripMenuItem;
    MessageBox.Show(menu.Text);
}
/// <summary>
/// 生成菜单项
/// </summary>
/// <param name="txt"></param>
/// <param name="img"></param>
/// <returns></returns>
private ToolStripMenuItem GetMenuItem(string txt,Image img)
{
    ToolStripMenuItem menuItem = new ToolStripMenuItem();
    menuItem.Text = txt;
    menuItem.Image = img;
    return menuItem;
}