鼠标右键动态添加菜单项

来源:互联网 发布:花生壳 顶级域名 编辑:程序博客网 时间:2024/05/18 01:35

在MouseDown事件里加入如下代码:

ToolStripMenuItem menuItem;
 menuItem = AddContextMenu("主菜单", contextMenuStrip1.Items, null);
 AddContextMenu("菜单1", menuItem.DropDownItems, new EventHandler(MenuClicked));
 AddContextMenu("菜单2", menuItem.DropDownItems, new EventHandler(MenuClicked));

一下代码是事件里调用的函数:

ToolStripMenuItem AddContextMenu(string text, ToolStripItemCollection cms, EventHandler callback)
        {
            if (text == "-")
            {
                ToolStripSeparator tsp = new ToolStripSeparator();
                cms.Add(tsp);

                return null;
            }
            else if (!string.IsNullOrEmpty(text))
            {
                ToolStripMenuItem tsmi = new ToolStripMenuItem(text);
                if (callback != null)
                    tsmi.Click += callback;
                cms.Add(tsmi);
                return tsmi;
            }
            return null;
        }

        void MenuClicked(object sender, EventArgs e)
        {
            MessageBox.Show("You Clicked Menu Item [" + ((sender as ToolStripMenuItem).Text) + "]");
        }

原创粉丝点击