问题描述
我正在使用以下代码在 Windows 窗体中动态创建按钮。我想在右键单击按钮时弹出一个带有不同选项的上下文菜单。我制作了上下文菜单 strp 并显示出来,但我无法弄清楚如何让不同的选项执行我为它们编写的功能。知道如何将项目连接到它们的功能吗?
void AddButton(Shape s){
Button b = new Button();
b.Text = s.name;
b.Width = sceneItemsList.Width-6;
b.TabStop = false;
b.FlatStyle = FlatStyle.Flat;
b.BackColor = Color.LightGray;
b.FlatAppearance.BorderColor = Color.Black;
ContextMenuStrip cm = new ContextMenuStrip();
cm.Items.Add("deselect");
cm.Items.Add("Edit");
if (s is GroupShape)
{
cm.Items.Add("Ungroup");
}
cm.Items.Add("Delete");
b.ContextMenuStrip = cm;
}
解决方法
想通了!如果其他人为此而苦苦挣扎,这是我的代码。基本上你做一个循环,遍历所有选项并添加一个点击事件处理程序
cm.Items[0].Click += (sender,e) => {
Console.WriteLine("ok");
};