MainMenu的Merge使用

- 中国WEB开发者网络 (http://www.webasp.net)
-- 技术教程 (http://www.webasp.net/article/)
--- MainMenu的Merge使用 (http://www.webasp.net/article/5/4619.htm)
-- 作者:未知
-- 发布日期: 2003-07-12
MainMenu Merge

windows form的程序使用菜单mainmenu是,有时需要根据操作隐藏或显示menuitem,另外窗体类和关联的菜单项事件在一个class中,结构清晰。

do like this:
class Form1: Form{    
    public Form1()
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();            
            IsMdiContainer = true;
            Menu = new MainMenu();
            MenuItem File = Menu.MenuItems.Add("&File");
            File.MergeType = MenuMerge.MergeItems;
            File.MergeOrder = 0;
            MenuItem FileNew = File.MenuItems.Add("&New", new EventHandler(New_Click));
            FileNew.Shortcut = Shortcut.CtrlN;
            FileNew.MergeOrder = 10;

            
        }
        private void New_Click(Object Sender,EventArgs e)
        {
        
        }
// other codes
}
public class doc : System.Windows.Forms.Form
    {
        public doc()
        {
            Menu = new MainMenu();
            MenuItem File = Menu.MenuItems.Add("&File");
            File.MergeType = MenuMerge.MergeItems ;
            File.MergeOrder = 0;
            MenuItem Save=File.MenuItems .Add ("&Save",new EventHandler (Save_Click));
            Save.MergeType =MenuMerge.MergeItems ;
            Save.MergeOrder =9;

            MenuItem Saveas=File.MenuItems .Add ("&Save as",new EventHandler (Saveas_Click));
            Saveas.MergeType =MenuMerge.MergeItems ;
            Saveas.MergeOrder =11;
            
            MenuItem Help = Menu.MenuItems.Add("&Help");
            Help.MergeOrder = 400;    
            Help.MenuItems.Add("&About .NET Resourcer");
        }
        private void Save_Click(Object Sender,EventArgs e)
        {
        
        }
        private void Saveas_Click(Object Sender,EventArgs e)
        {
           MessageBox.Show ("Hello guys");
        }
// other code
}

webasp.net