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