C# 动态创建 ContextMenuStrip

转载于:
https://www.cnblogs.com/greatverve/archive/2012/03/14/ContextMenuStrip.html.

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>
/// <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;
}

结果:
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值