除了MenuStrip控件之外,还有许多控件可用于填充菜单。3个常见的控件是ToolStripMenuItem,ToolStripDropDown,和ToolStripSeparator。这些控件表示查看菜单或工具栏中某一项的特定方式。

ToolStripMenuItem - 表示菜单中的一项

ToolStripDropDown - 表示单击一项,就会显示包含其他项目的一个列表

ToolStripSeparator - 表示菜单或工具栏中的水平或垂直分割线

ContextMenuStrip - 当用户右击一项时,关联菜单就会显示出来,它通常显示与该项相关的信息。

ToolStripMenuItem的属性

属性 说明
Text &显示为下划线
ShortcutKeys 快捷方式
Checked 表示菜单是否被选中
CheckOnClick true - 如果菜单项文本左边的复选框没有打上标记,就搭上标记,如果复选框已经打上了标记,就去除该标记,否则该标记就被一个图像替代,使用Checked属性确定菜单项的状态
Enabled false,菜单项就会灰显,不能被选中
DropDownItems 返回一个集合,用作与菜单项相关的下拉菜单

ToolStripMenuItem的事件

事件 说明
Click 用户单击菜单项时,引发该事件
CheckedChanged 当单击CheckOnClick属性的菜单项时,引发这个事件

工具栏

ToolStrip最左边有四个垂直排列的点

ToolStrip控件的属性

属性 说明
GripStyle 控制4个垂直排列的点是否显示在工具栏的最左边.隐藏手柄后,用户就不能移动工具栏了
LayoutStyle 控制工具栏上的项如何显示,默认为水平显示
Items 包含工具栏上所有项的集合
ShowItemToolTip 确定是否显示工具栏上某项的工具 提示
Stretch 默认情况下,工具栏比包含在其中的项略宽或略高.如果把Stretch属性设置为true,工具栏就会占据其容器的总长

ToolStrip的项

控件 说明
ToolStripButton 表示一个按钮。用于带文本和不带文本按钮
ToolStripLable 表示一个标签。这个控件还可以显示图像,也就是说这个控件可以用于显示一个静态图像,放在不显示其本身信息的另一个控件上面。
ToolStripSplitButton 显示一个右端带有下拉按钮的按钮,单击该下拉按钮,就会在它的下面显示一个菜单。如果单击控件的按钮部分,该菜单不会打开
ToolStripDropDownButton 类似于ToolStripSplitButon,唯一的区别是去除了下拉按钮,代之以下拉数组图像。单击控件的任一部分,都会打开其菜单部分。
ToolStripComboBox 显示一个组合框
ToolStripProgressBar 在工具栏上潜入一个进度条
ToolStripTextBox 显示一个文本框
ToolStripSeparator 为各个项创建水平或垂直分隔符

StatusStrip控件

此控件在许多应用程序中表示对话框底部的一栏,它通常用于显示应用程序当前状态的简短信息。派生于ToolStrip,在StatusStrip中可以只用前面介绍的4个控件中的3个:

ToolStripDropDownButton,ToolStripProgressBar和ToolStripSplitButton。还有一个控件是StatusStrip专用的即StatusStripStatusLabel,它也是个默认项。

StatusStripStatusLabel的属性 - 使用文本和图像向用户显示应用程序当前的状态信息。

属性
AutoSize AutoSize在默认状态下是打开的,这不是非常直观,因为在改变状态栏上标签的文本时,不希望该标签来回移动,除非标签上的信息是静态的,否则总是应该找个属性改为false
DoubleClickEnable 可以指定是否引发DoubleClick事件,用户可以在应用程序的另一个地方修改信息。比如,用户双击包含bold的面板,在文本中启用或禁用粗体格式

C# Windows - 菜单栏和工具栏的更多相关文章

  1. WPF: 针对Windows 8优化菜单栏和工具栏

    原文 WPF: 针对Windows 8优化菜单栏和工具栏 目录 1. 关于菜单图标大小 2. 关于IsEnabled和工具栏图标 3. 针对.NET 3.x的菜单栏和工具栏外观 返回目录 1. 关于菜 ...

  2. 使用C#创建自定义背景色/形状的菜单栏与工具栏

    C#对于菜单栏与工具栏都提供了统一的背景色,形状的渲染类,即ToolStripRenderer类,同时根据不同的情形,提供了多个继承类,分别是ToolStripProfessionalRender,T ...

  3. WPF的菜单栏,工具栏的简单使用

    1. 界面效果如下: 2. 页面 .xaml代码如下: <Window x:Class="MenuAndToolBar.MainWindow" xmlns="htt ...

  4. [ZETCODE]wxWidgets教程四:菜单栏和工具栏

    本教程原文链接:http://zetcode.com/gui/wxwidgets/menustoolbars/ 翻译:瓶哥 日期:2013年11月28日星期四 邮箱:414236069@qq.com ...

  5. Qt 学习之路 :菜单栏、工具栏和状态栏

    在之前的<添加动作>一文中,我们已经了解了,Qt 将用户与界面进行交互的元素抽象为一种“动作”,使用QAction类表示.QAction可以添加到菜单上.工具栏上.期间,我们还详细介绍了一 ...

  6. 三、PyQt5不同方法创建菜单栏、工具栏和状态栏

    创建菜单栏.工具栏和状态栏可以直接通过代码实现,也可以通过Qt Designer中的属性编辑器等实现.通过两种方法的学习可以加深理解,更好的掌握PyQt5. 一.菜单栏与状态栏 状态栏的设置比较简单, ...

  7. QT学习之菜单栏与工具栏

    QT学习之菜单栏与工具栏 目录 简单菜单栏 多级菜单栏 上下菜单栏 工具栏 简单菜单栏 程序示例 from PyQt5.QtWidgets import QApplication, QMainWind ...

  8. Python pyQt4/pyQt5 学习笔记2(状态栏、菜单栏和工具栏)

    例子:状态栏.菜单栏和工具栏 import sys from PyQt4 import QtGui class Example(QtGui.QMainWindow): def __init__(sel ...

  9. 网络采集软件核心技术剖析系列(7)---如何使用C#语言搭建程序框架(经典Winform界面,顶部菜单栏,工具栏,左边树形列表,右边多Tab界面)

    一 本系列随笔概览及产生的背景 自己开发的豆约翰博客备份专家软件工具问世3年多以来,深受广大博客写作和阅读爱好者的喜爱.同时也不乏一些技术爱好者咨询我,这个软件里面各种实用的功能是如何实现的. 该软件 ...

随机推荐

  1. Part 13 Create a custom filter in AngularJS

    Custom filter in AngularJS 1. Is a function that returns a function 2. Use the filter function to cr ...

  2. php生成 优惠券 激活码

    /** * 生成vip激活码 * @param int $nums 生成多少个优惠码 * @param array $exist_array 排除指定数组中的优惠码 * @param int $cod ...

  3. ASP.NET 跨域获取JSON天气数据

    前几天做一个门户网站,在首页需要加载气象数据,采用了中央气象局的接口. 刚开始采用JSONP在前台跨域请求数据,没成功~ 后换成在c#后台请求数据返回... 前端代码: $(function () { ...

  4. [老老实实学WCF] 第一篇 Hello WCF

    老老实实学WCF  第一篇 Hello WCF WCF(Windows Communication Foundation)是微软公司推出的面向服务技术的集大成者,涵盖继承了其之前发布的所有的分布式应用 ...

  5. netstat命令[转]

    原文地址:http://www.cnblogs.com/peida/archive/2013/03/08/2949194.html netstat命令用于显示与IP.TCP.UDP和ICMP协议相关的 ...

  6. JavaScript中Array的一些实用操作技巧

    最近在调试JSP页面时频繁与ajax打交道,在复杂场景下,ajax传参数就需要对大量参数进行处理.这时我才发现,熟练Array的处理真的会使开发轻松不少!! 关于Array Array的创建很灵活,可 ...

  7. javaScript之 变量、作用域和内存问题

    <javaScript高级程序设计>第四章  读书笔记 4.1  基本类型 和 引用类型 的值 1. 基本类型值 包括:Undefined.Null.Boolean.Number 和 St ...

  8. 一个适用于层级目录结构的makefile模版

    今天写了个层次化的Makefile模版,用来自动化编译项目,这个模版应当包含以下功能: 适用于层次化结构,Makefile主要内容都放在顶层目录下的Makefile.env中,子层Makefile包含 ...

  9. 添加远程链接MySQL的权限

    mysql> grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口令’; 权限1,权限2,…权限n代表select,ins ...

  10. 可以支持jQuery1.10.1 的 fancybox 1.3.4, 並現在type為Ajax時,也可以定義窗口的大小。

    官網上的 fancybox 1.3.4 太老了,不支持jQuery1.10.1,改動了一下源碼,現在可以支持了. type為Ajax時,也可以定義窗口的大小. $("#ajaxlink&qu ...