向 contextmenustrip Windows 表单中的项目添加功能
Adding function to items in contextmenustrip Windows Forms
我正在使用下面的代码在 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");
};
我正在使用下面的代码在 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");
};