动态切换菜单

  1using System;
  2using System.Drawing;
  3using System.Collections;
  4using System.ComponentModel;
  5using System.Windows.Forms;
  6using System.Data;
  7
  8namespace ChMenu
  9{
 10    /// <summary>
 11    /// 动态切换菜单。
 12    /// </summary>

 13    public class Form1 : System.Windows.Forms.Form
 14    {
 15        private System.Windows.Forms.MainMenu mainMenu1;
 16        private System.Windows.Forms.MenuItem menuItem1;
 17        private System.Windows.Forms.MenuItem menuItem4;
 18        private System.Windows.Forms.MenuItem miNew;
 19        private System.Windows.Forms.MenuItem miOpen;
 20        private System.Windows.Forms.MenuItem miExit;
 21        /// <summary>
 22        /// 必需的设计器变量。
 23        /// </summary>

 24        private System.ComponentModel.Container components = null;
 25
 26        // 新的菜单项变量。
 27        private MainMenu mmNewMenu;
 28        private MenuItem miFile;
 29        private MenuItem miEdit;
 30
 31        public Form1()
 32        {
 33            //
 34            // Windows 窗体设计器支持所必需的
 35            //
 36            InitializeComponent();
 37
 38            //自定义菜单栏
 39            mmNewMenu = new MainMenu();
 40            miFile = new MenuItem("文件");
 41            miFile.MenuItems.Add("新建",new System.EventHandler(miNew_Click));
 42            miFile.MenuItems.Add("打开",new System.EventHandler(miOpen_Click));
 43            miFile.MenuItems.Add("保存",new System.EventHandler(miSave_Click));
 44            miFile.MenuItems.Add("关闭",new System.EventHandler(miClose_Click));
 45            miFile.MenuItems.Add("-");
 46            miFile.MenuItems.Add("退出",new System.EventHandler(miExit_Click));
 47            miEdit = new MenuItem("编辑(&E)");
 48            miEdit.MenuItems.Add("剪切 (&T)");
 49            miEdit.MenuItems.Add("复制 (&C)");
 50            miEdit.MenuItems.Add("粘贴 (&P)");
 51            mmNewMenu.MenuItems.Add(miFile);
 52            mmNewMenu.MenuItems.Add(miEdit);
 53
 54            //
 55            // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
 56            //
 57        }

 58
 59        /// <summary>
 60        /// 清理所有正在使用的资源。
 61        /// </summary>

 62        protected override void Dispose( bool disposing )
 63        {
 64            if( disposing )
 65            {
 66                if (components != null
 67                {
 68                    components.Dispose();
 69                }

 70            }

 71            base.Dispose( disposing );
 72        }

 73
 74        Windows Form Designer generated code
136
137        /// <summary>
138        /// 应用程序的主入口点。
139        /// </summary>

140        [STAThread]
141        static void Main() 
142        {
143            Application.Run(new Form1());
144        }

145
146        // 加载新的菜单。
147        private void LoadSecondMenu()
148        {
149            this.Menu = mmNewMenu;
150        }

151        private void miNew_Click(object sender, System.EventArgs e)
152        {
153            MessageBox.Show("点击了《新建》菜单项""提示框");
154        }

155        private void miOpen_Click(object sender, System.EventArgs e)
156        {
157            MessageBox.Show("点击了《打开》菜单项""提示框");
158        }

159        private void miSave_Click(object sender, System.EventArgs e)
160        {
161            MessageBox.Show("点击了《保存》菜单项""提示框");
162        }

163        private void miClose_Click(object sender, System.EventArgs e)
164        {
165            this.Menu = mainMenu1;
166        }

167
168        // 响应点击菜单项的事件。
169        private void MenuSelect(object sender, System.EventArgs e)
170        {
171            MessageBox.Show("点击了一个菜单项""提示框");
172            LoadSecondMenu();
173        }

174
175        // 退出应用程序。
176        private void miExit_Click(object sender, System.EventArgs e)
177        {
178            Close();
179        }
    
180    }

181}

182
posted on 2007-08-21 14:18  Gofficer  阅读(323)  评论(0)    收藏  举报