C#中的ContextMenu设计器应用程序

时间:2013-02-14 04:32:43

标签: c# winforms contextmenu

是否有可能创建应用程序,我可以像在Visual Studio中一样轻松创建任何ContextMenu(下图)?我的意思是有任何组件或已经完成任何源代码的应用程序可以做到这一点?我只想在应用程序中创建一些ContextMenu项目中包含文本和图标的项目。

ContextMenu Designer

1 个答案:

答案 0 :(得分:0)

有几种方法可以实现,我建议您使用根 ToolStripMenuItem 并从那里构建子菜单操作。

您还需要有一个对话框来配置您希望操作如何相应地运行。

我使用 Process.Start 来允许用户在点击子菜单时特定于他们想要启动应用程序的操作。

以下是代码段

    ToolStripMenuItem menu;

    private void InitContextMenus()
    {
      menu = new ToolStripMenuItem(">> Create Menu <<");
      menu.Click += menu_Click;
      ctMenu.Items.Add(menu);
    }

    void menu_Click(object sender, EventArgs e)
    {
      frmCreateMenu objCreateMenu = new frmCreateMenu();
      objCreateMenu.ShowDialog(this);
      if (objCreateMenu.DialogResult == System.Windows.Forms.DialogResult.OK)
      {
        ToolStripMenuItem subMenu = new ToolStripMenuItem();
        subMenu.Text = objCreateMenu.txtName.Text;
        subMenu.Click += (subSender, subEventArgs) =>
        {
          Process.Start(objCreateMenu.txtStart.Text);
        };

        menu.DropDownItems.Add(subMenu);
      }
}