一: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. 接口测试入门(4)--接口自动化测试框架 / list和map用法 / 随机选取新闻 (随机数生成) / 接口相关id映射

    一.接口自动化测试框架 为了更好的组织测试方法,测试用例并且持续集成,我们选择了  java+testNG(测试用例组织)+gitlab(代码版本管理)+Jenkins(持续集成工具) 作为一整套的自 ...

  2. webservice03#schema#元素属性定义

    工具软件XMLSpy 2010 破解版,是非常好的写XMl的工具软件. 1,Schema的好处: Schema出现的目的是通过一个更加合理的方式来编写xml的限制文件(基于xml语法的方式): Sch ...

  3. [AHOI2004]奇怪的字符串

    [AHOI2004]奇怪的字符串 题目描述 输入输出格式 输入格式: 输入文件中包含两个字符串X和Y.当中两字符串非0即1.序列长度均小于9999. 输出格式: X和Y的最长公共子序列长度. 输入输出 ...

  4. [js高手之路] html5 canvas系列教程 - 线条样式(lineWidth,lineCap,lineJoin,setLineDash)

    上文,写完弧度与贝塞尔曲线[js高手之路] html5 canvas系列教程 - arcTo(弧度与二次,三次贝塞尔曲线以及在线工具),本文主要是关于线条的样式设置 lineWidth: 设置线条的宽 ...

  5. ARKit 增强现实平台 尝试(Xcode9 iOS11 A9处理器)

    一, Xcode 将加​​载其主页面并显示模板选择页面.模板简化了入门过程.然后选择增强现实应用程序图标,单击"下一步"按钮. 二, 运行程序会看到一个飞机 三,尝试更换模型 在这 ...

  6. SSH端口转发详解及实例

    一.SSH端口转发简介 SSH会自动加密和解密所有SSH客户端与服务端之间的网络数据.但是,SSH还能够将其他TCP端口的网络数据通SSH链接来转发,并且自动提供了相应的加密及解密服务.这一过程也被叫 ...

  7. MySQL数据备份之mysqldump使用(转)

    mysqldump常用于MySQL数据库逻辑备份. 1.各种用法说明 A. 最简单的用法: mysqldump -uroot -pPassword [database name] > [dump ...

  8. spring web.xml配置

    <!--推荐使用此种方式-->  <listener> <listener-class> org.springframework.web.context.Conte ...

  9. 应用程序PING发出的是什么报文?

    Ping位于用户层,一般用来测试一台主机是否可达,该程序发送一份ICMP回显请求报文给主机,并等待返回ICMP回显 应答

  10. 石子合并(NOI1995)

    石子合并(NOI1995) 时间限制: 1 Sec  内存限制: 128 MB提交: 90  解决: 48[提交][状态][讨论版] 题目描述 在操场上沿一直线排列着 n堆石子.现要将石子有次序地合并 ...