一: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. Bmob云IM实现头像更换并存入Bmob云数据库中(1.拍照替换,2.相册选择)

    看图效果如下: 1.个人资料界面 2.点击头像弹出对话框 3.点击拍照 4.切割图片,选择合适的部分 5.点击保存,头像替换完毕,下面看从相册中选择图片. 6.点击相册 7.任选一张图片 8.切割图片 ...

  2. 记2017问鼎杯预赛的wp---来自一个小菜鸡的感想

    这次准备写一下几个misc和密码题目..很坑. 打了一整天的比赛,越来越觉得自己很菜了. 有一道题目叫做"真真假假",这道题目只有一个提示--Xor.第一眼知道是异或,也就知道这一 ...

  3. Musical Theme poj1743(后缀数组)

    Musical Theme Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 16757   Accepted: 5739 De ...

  4. Prison Break

    Prison Break 时间限制: 1 Sec  内存限制: 128 MB提交: 105  解决: 16[提交][状态][讨论版] 题目描述 Scofild又要策划一次越狱行动,和上次一样,他已经掌 ...

  5. 定制自己的vue模版

    前言 使用vue这个框架已经陆陆续续做了好几个项目了,不知不觉也已经在公司呆了4个月,转正了.时间如水...(省略一万字)./咳-不瞎扯了,公司是直接用的官方脚手架生成项目,官方模版没有vuex,ax ...

  6. 浅谈Java多态

    什么是Java中的多态?又是一个纸老虎的概念,老套路,把它具体化,细分化,先想三个问题(注意,这里不是简单的化整为零,而是要建立在学习一个新概念时的思考框架): 1.这个东西有什么用?用来干什么的?它 ...

  7. Elasticsearch-sql 用SQL查询Elasticsearch

    Elasticsearch的查询语言(DSL)真是不好写,偏偏查询的功能千奇百怪,filter/query/match/agg/geo各种各样,不管你是通过封装JSON还是通过python/java的 ...

  8. Spring MVC 过滤静态资源访问

    过滤的必要性 一般来说,HTTP 请求都会被映射到 DispatcherServlet,进而由具体的类来承接处理,但对于类似 js 或者 css 这样的静态资源则没必要这样,因为对资源的获取只需返回资 ...

  9. 浅谈script标签中的async和defer

    script标签用于加载脚本与执行脚本,在前端开发中可以说是非常重要的标签了.直接使用script脚本的话,html会按照顺序来加载并执行脚本,在脚本加载&执行的过程中,会阻塞后续的DOM渲染 ...

  10. python 携带cookie访问网站(python接口测试post)

    最近在使用自己研究性能测试工具的时候想到,使用python向服务器不断发送数据以作为并发测试.大概情况如下: #coding=utf-8 import urllib2 import urllib im ...