C#入门学习-----菜单应用(添加剂快捷方式、设置菜单项是否可用、修改菜单字体、创建级联菜单、级联菜单的动态合并)
来源:互联网 发布:mac写入不了移动硬盘 编辑:程序博客网 时间:2024/06/11 18:41
欢迎大家提出意见,一起讨论!
转载请标明是引用于 http://blog.csdn.net/chenyujing1234
需要源码请与我联系。
1、 为菜单添加快捷方式
为菜单项设置快捷方式非常简单,设置菜单项的Text属性时,在菜单项文本添加“&”+“字母”即可,
使用快捷键时,按下Atl键加指定的字母便可以使用快捷键激活菜单项。
设计过程:
在窗口中添加MenuScrip控件。
主要代码如下:
private void 退出QToolStripMenuItem_Click(object sender, EventArgs e) { MessageBox.Show("退出应用程序","提示!"); Close();//退出应用程序 } private void 打开OToolStripMenuItem_Click(object sender, EventArgs e) { MessageBox.Show("已经点击\"打开\"菜单项", "提示!"); }
2、 设置菜单项是否可用
菜单可以添加多个菜单项,而菜单项还可以含有多个子菜单项,如果需要禁用菜单中的一部分子菜单要怎么实现呢?
2、1 知识要点
用到了ToolScripMenuItem菜单项Enabled属性。
实现过程:
添加两个按钮:启用菜单项、禁用菜单项。
代码实现为:
private void button1_Click(object sender, EventArgs e) { ToolStripMenuItem P_ToolStripMenuItem =//得到菜单项 (ToolStripMenuItem)menuStrip1.Items[0]; foreach (ToolStripMenuItem item in P_ToolStripMenuItem.DropDownItems) { item.Enabled = true;//启用菜单项 } } private void button2_Click(object sender, EventArgs e) { ToolStripMenuItem P_ToolStripMenuItem =//得到菜单项 (ToolStripMenuItem)menuStrip1.Items[0]; foreach (ToolStripMenuItem item in P_ToolStripMenuItem.DropDownItems) { item.Enabled = false;//停用菜单项 } }
3、 将菜单项的字体设置为粗体
弹出菜单项可以包含多个菜单项,可能需要着重地显示某些菜单项,那么将字体设置为粗体是不错选择。
3、1 知识点
用到了ToolSctripItem菜单项的Font属性,用来设置菜单项文本内容的字体。
3、2 实现过程
添加一个按钮,用于设置菜单项中字体为粗体
4、 创建级联菜单
4、1 知识点
用到了DropDownItems菜单项集合的Add方法, 用于将指定的菜单项添加到菜单项集合。
4、2 实现过程
程序主要代码为:
private void Form1_Load(object sender, EventArgs e) { ToolStripMenuItem P_ts = (ToolStripMenuItem)menuStrip1.Items[0];// 得到文件菜单项 ToolStripMenuItem ts1 = new ToolStripMenuItem("打开文本文件"); // 创建菜单项 ToolStripMenuItem ts2 = new ToolStripMenuItem("打开XML文件"); // 创建菜单项 ToolStripMenuItem ts3 = new ToolStripMenuItem("打开JPG文件"); // 创建菜单项 ToolStripMenuItem ts4 = new ToolStripMenuItem("打开BMP文件"); // 创建菜单项 ToolStripMenuItem P_ts2 = (ToolStripMenuItem)P_ts.DropDownItems[0]; // 得到子菜单项 P_ts2.DropDownItems.Add(ts1); // 添加菜单项 P_ts2.DropDownItems.Add(ts2); // 添加菜单项 P_ts2.DropDownItems.Add(ts3); // 添加菜单项 P_ts2.DropDownItems.Add(ts4); // 添加菜单项 }
5、 级联菜单的动态合并
在MDI应用程序中,当MDI子窗体最大化时,子窗体和主窗体的菜单能够自动地合并。这是怎么实现的呢?
5、1 知识点
用到了ContextMenuStrip 控件中Items集合的AddRange方法。
用于将ToolStripItem控件的数据添加到菜单集合中。
实现过程:
设置窗体的IsMdiContainer属性为true,将窗体设置为多文档窗体;
向窗体中添加一个MenuStrip控件和一个ContextMenuStrip控件,分别用于显示菜单和窗体右键菜单。
注: 在窗体中绑定ContextMenuStrip控件时得为窗体的属性“ContextMenuStrip”选择contextMenuStrip1
相关代码:
private void 打开子窗体ToolStripMenuItem_Click(object sender, EventArgs e) { Form2 f = new Form2();//创建窗体对象 f.MdiParent = this;//设置父窗体属性 f.Show();//显示窗体 f.Resize += //为窗体添加事件 new EventHandler(f_Resize); } void f_Resize(object sender, EventArgs e) { Form2 f = (Form2)sender;//得到窗体对象 ToolStripMenuItem item = new ToolStripMenuItem();//创建菜单项 for (int i = 0; i < f.contextMenuStrip2.Items.Count; )//遍历窗体菜单项集合 { item.DropDownItems.Add(//添加菜单项 f.contextMenuStrip2.Items[i]); } this.contextMenuStrip1.Items.AddRange(//向主窗体中添加菜单项集合 new System.Windows.Forms.ToolStripItem[] { item}); }
- C#入门学习-----菜单应用(添加剂快捷方式、设置菜单项是否可用、修改菜单字体、创建级联菜单、级联菜单的动态合并)
- 动态创建级联菜单
- 动态创建级联菜单
- 级联菜单,两级菜单
- 级联菜单
- 级联菜单
- 级联菜单
- 级联菜单
- 级联菜单
- 菜单级联
- 菜单级联
- 级联菜单
- 级联菜单
- 级联菜单
- 级联菜单
- 级联菜单
- 级联菜单
- 级联菜单,省市级联菜单
- 生活中的幽默感
- VB判断整除并整除
- iOS开发之详解剪贴板
- Axis2
- 改变键盘的颜色
- C#入门学习-----菜单应用(添加剂快捷方式、设置菜单项是否可用、修改菜单字体、创建级联菜单、级联菜单的动态合并)
- iPhone几种截屏的代码分享
- Eclipse3.7.2 修改字体为Courier New
- [C#]DataTable常用操作总结
- jsp 首页面向弹出层传值并回显;
- 获得通讯录中联系人的所有属性
- How to create a Symbian application icon (SVG)
- DataContext向下传递性
- 简单纹理贴图