none
有什么办法可以将MenuStrip和ContextMenuStrip合并?

    问题

  • 我在用.NET Framework 4.0。.NET Framework 4.0提供了MenuStrip和ContextMenuStrip控件,但这两个控件怎么“合并”呢?

    我的意思是:我想设计一个菜单和一个弹出式菜单,而这两个菜单是完全一样的,所以,我想只设计一遍,而不是分别用一个MenuStrip和一个ContextMenuStrip控件。但是,MenuStrip好像不能作弹出式菜单:既不能被赋值给其他控件的ContextMenuStrip属性,也没有一个弹出的方法;而ContextMenuStrip又不能作一般菜单。其他控件也没有PopupMenu方法。

    在VB6中,就可以把一般菜单和弹出式菜单合并:设计一个一般的菜单,然后,在合适的时候,使用其他控件的PopupMenu方法来弹出这个菜单。VB.NET不能做到这一点吗?

    2017年3月21日 12:31

全部回复

  • 需要写代码,ContextMenuStrip和MenuStrip都用同一组MenuStripItem,

    你设计时增加ContextMenuStrip或MenuStrip的子项,在程序启动时,将没有设计菜单项的组件的MenuStripItem添加为前面设计的包含MenuStripItem的。

    ContextMenuStrip context....;

    MenuStripItem  menu;

    foreach(MenuStripItem item in    context.Items)

    {

        menu.Items.Add();

    }


    专注于.NET ERP/CRM开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    2017年3月22日 4:29