|            
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 }
   
 |