一:MenuStrip 菜单条

MenuStrip 是应用程序菜单条的容器。

二:ToolStripMenuItem

像上面图中, 文件 格式 等这些菜单当中的一级菜单以及文件中的 新建 打开 分割条 退出 这些二级菜单全都是ToolStripMenuItem。

你可以在设计里直接添加,也可以在后台用c#代码添加。

通过menuStrip的Items属性获得ToolStripMenuItem的集合,往该集合里添加一个新的ToolStripMenuItem。

this.menuStrip.Items.Add(new ToolStripMenuItem("文件"));

三:快捷键的设置

如果想要通过快捷键快速定位到菜单,那么需要在每个ToolStripMenuItem的Text后面加上一个  (&+你要设置的快捷键)

然后在打开应用后,可以按住alt+你设置的快捷键 光标就会移动到你选的那个菜单。

例如:我按了alt+F 那么就会跳到类似下图。这种方式仅仅是用于一级菜单。也就是文件 格式等一级菜单。

四:

如果你想实现很多windows软件的快捷键功能,例如直接在软件里按住ctrl+N 会直接帮你跳出创建页面。

在新建对应的ToolStripMenuItem的Shortcuteys属性设置快捷键。

在对应的ToolStripMenuItem的click事件添加点击事件。

实际上快捷键就是帮你直接触发ToolStripMenuItem的click事件。不用你自己去点。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

一:contextMenuStrip 上下文菜单条

这东西听起来挺复杂的,其实就是我们平时经常碰到的右键菜单,根据你点的东西不同,会给你不同的菜单。 也就是上下有联系。

可以用在窗体右键菜单,或者按钮上的右键菜单

Form和Button控件上都有一个ContextMenuStrip属性用于绑定  你自己设置的contextMenuStrip菜单对象。

同时contextMenuStrip 对象有一个SourceControl 用于记录当前的上下文菜单是在哪个控件身上。

public Form1()
{
InitializeComponent(); //创建一个上下文菜单条对象
ContextMenuStrip contextMenuStrip = new ContextMenuStrip();
//给窗体绑定这个上下文对象
this.ContextMenuStrip = contextMenuStrip;
//给按钮绑定
this.button1.ContextMenuStrip = contextMenuStrip; //给上下文菜单的打开 注册事件 当上下文菜单打开时触发
contextMenuStrip.Opening += contextMenuStripOpening; } public void contextMenuStripOpening(object sender, CancelEventArgs e)
{
ContextMenuStrip contextMenuStrip = sender as ContextMenuStrip;
//通过SourceControl属性判断当前是绑定在哪个控件上
if (contextMenuStrip.SourceControl ==this.button1)
{
contextMenuStrip.Items.Clear();
contextMenuStrip.Items.Add("打开");
contextMenuStrip.Items.Add("关闭");
}
else if (contextMenuStrip.SourceControl == this)
{
contextMenuStrip.Items.Clear();
contextMenuStrip.Items.Add("复制");
contextMenuStrip.Items.Add("剪贴");
}
}

--------------------------------------------------------------------------------------

-------------some words------------------

1.strip 长条,条板

2.MenuStrip 菜单条

3.Shortcuteys 快捷键

4.contextMenuStrip 上下文菜单条

5.RichTextBox 扩展文本框 富文本框

---------------the end---------------------

WinForm 菜单控件的更多相关文章

  1. 【2017-04-25】winform公共控件、菜单和工具栏

    一.公共控件 公共控件很多的属性很多都相似,这些是大部分都相同的: +布局 - AutoSize:自动适应控件上文字内容- Location:位置- Margin:控件间的间距- Size:控件大小 ...

  2. 在DevExpress程序中使用Winform分页控件直接录入数据并保存

    一般情况下,我们都倾向于使用一个组织比较好的独立界面来录入或者展示相关的数据,这样处理比较规范,也方便显示比较复杂的数据.不过在一些情况下,我们也可能需要直接在GridView表格上直接录入或者修改数 ...

  3. winform窗体控件(全)

    回顾跟补充下除了昨天那常用6个其他的winform窗体控件作用 1:Button:按钮 (1)AutoSize:如果是True的情况下,内容将会撑开:False的话会另起一行 (2)Enabled: ...

  4. DevExpress Winform 常用控件

    Ø  前言 DevExpress 控件的功能比较强大,是全球知名控件开发公司,对于开发 B/S 或 C/S 都非常出色,可以实现很炫且功能强大的效果. DevExpress Winform 常用控件是 ...

  5. winform基础控件总结

    转自:http://www.cnblogs.com/top5/archive/2010/04/29/1724039.html 基础 - 常用控件 C# WinForm开发系列 - CheckBox/B ...

  6. C#实现WinForm DataGridView控件支持叠加数据绑定

    我们都知道WinForm DataGridView控件支持数据绑定,使用方法很简单,只需将DataSource属性指定到相应的数据源即可,但需注意数据源必须支持IListSource类型,这里说的是支 ...

  7. winform基本控件----按钮

    这次来引用一个我们上课时候老师给的一个实验内容,来说一下winform程序设计中的按钮控件的使用.下面是我们老师给的实验内容. 实验目的: 掌握Winform的开发环境. 掌握窗体的创建和基本方法. ...

  8. WinForm给控件加入hint文字

    本文代码主要是参考别人的,仅为个人记录,方面后续使用~ 效果图: 主要代码在一个Win32Utility类中,代码如下: public static class Win32Utility { [Dll ...

  9. 实用的树形菜单控件tree

     jQuery plugin: Treeview  这个插件能够把无序列表转换成可展开与收缩的Tree. jQuery plugin: Treeview  jQuery  jstree  jsTree ...

随机推荐

  1. 在linux环境下搭建java web测试环境(非常详细!!)

    一.项目必备软件及基本思路 项目必备:虚拟机:VMware Workstation (已安装linux的 CentOS6.5版本) 项目:java web项目 (必须在本地部署编译后选择项目的webR ...

  2. python 部署 Restful web

    使用python web做Restful 风格,很简单,采用Flask框架轻松实现一个RESTful的服务. Restful相关介绍请查看:https://www.ibm.com/developerw ...

  3. 【Python学习笔记之二】浅谈Python的yield用法

    在上篇[Python学习笔记之一]Python关键字及其总结中我提到了yield,本篇文章我将会重点说明yield的用法 在介绍yield前有必要先说明下Python中的迭代器(iterator)和生 ...

  4. Java IO使用入门

    总体结构 IO应该是平时项目里最常用到的功能了,无论是简单的文件读取,还是服务器端口监听,都会用到IO:但是,在面对Java IO包里庞杂的IO基础类库时,经常会很头大,是该选择InputStream ...

  5. Postman 串行传参和动态传参详解

    Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件 用Postman做接口测试的时候,要把多条用例一起执行,就需要把用例连接起来,一次性执行 目录 串行传参 动态传参 使用 ...

  6. 关于 HashMap 随笔

    hashMap 的一些认识: 基于哈希表的Map接口的非同步实现,定义了键映射到值的规则 此实现提供所有可选的映射操作,并允许使用null值和null键 根据hash算法,确定key-value的存贮 ...

  7. 编写通用shell脚本启动java项目,适用于多数服务,只需修改服务名即可

    文件名:service-user.sh 文件内容: ##shell脚本的头文件必须有#!/bin/sh ##再次配置java环境变量以防报其他错误## java env#jdk安装目录export J ...

  8. http://codeforces.com/contest/536/problem/B

    B. Tavas and Malekas time limit per test 2 seconds memory limit per test 256 megabytes input standar ...

  9. BZOJ-1192-[HNOI2006]鬼谷子的钱袋

    Description 鬼谷子非常聪明,正因为这样,他非常繁忙,经常有各诸侯车的特派员前来向他咨询时政.有一天,他在咸阳游历的时候,朋友告诉他在咸阳最大的拍卖行(聚宝商行)将要举行一场拍卖会,其中有一 ...

  10. SQL语句表名或者字段名和保留字冲突解决方法

    最近开发遇到一个很奇葩的问题,简单做一下笔记 select * from Add ... 以上SQL语句会报错. 原因Add是表名,SQL语句保留字中又有Add 解决方法: select * from ...