向 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");
    };