动态切换菜单
1
using System;
2
using System.Drawing;
3
using System.Collections;
4
using System.ComponentModel;
5
using System.Windows.Forms;
6
using System.Data;
7![]()
8
namespace 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![]()
using System;2
using System.Drawing;3
using System.Collections;4
using System.ComponentModel;5
using System.Windows.Forms;6
using System.Data;7

8
namespace ChMenu9
{10
/// <summary>11
/// 动态切换菜单。12
/// </summary>13
public class Form1 : System.Windows.Forms.Form14
{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 code136

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


浙公网安备 33010602011771号