目录

1.工具栏TooIStrip概述

2.TooIStrip控件的属性

3.创建工具栏


工具栏是一个与菜单栏同等重要的窗体界面元素。在MDI应用程序中,工具栏也能像菜单一样实现合并,即可以在主窗体的工具栏中放上全局通用的工具项,而针对特定子窗体的工具项在子窗体中设计,显示的时候与主窗体的工具栏合并显示。

1.工具栏TooIStrip概述

Windows窗体中的工具栏控件用于显示一系列菜单选项的位图按钮。这样单击工具栏中的一个按钮,就相当于选择了一个菜单项。工具栏上的按钮通常包含图片,不包含文本,但它可以既包含图片又包含文本。除了按钮外,工具栏上也可以包含组合框和文本框。通常情况下,工具栏包含的按钮和菜单与应用程序菜单结构中的选项相对应,以提供对应用程序的常用功能和选项的快速访问。
    工具栏TooIStrip与MenuStrip一样具有专业化的外观和操作方式。通常情况下,工具栏停靠在其父窗口的顶部,也可以停靠在窗口的任百边。用户可以改变工具栏的尺寸,或随意拖动工具栏。当将鼠标指向工具栏按钮时,可以显示工具提示,给出该按钮的用途信息。工具提示是用于简述按钮或者菜单用途的一个小的弹出式窗口,这对只显示图标的工具栏按钮非常有用。
    实际上,TooIStrip是MenuStrip,StatusStrip和ContextMenuStrip的抽象基类。TooIStrip控件为工具栏相关项(如菜单、按钮和文本框)的容器,即工具栏中的选项是在TooIStrip中显示。而TooIStrip的派生类则以其他方式(如在菜单中或在状态栏中)显示选项。

ToolStrip 控件体系结构

TooIStrip控件作为一个容器,也就可以通过其Items集合,访问TooIStrip中的所有工具栏选项。这些工具栏选项都是从ToolStripltem抽象类中派生的。工具栏选项可以直接从TooIStripltem类继承,也可以通过TooIStripControLHost或TooIStripDropDownltem间接从ToolStripltem继承。TooIStripltem继承层次结构如图。

                                                         TooIStripltem的选项类型

项类型 用户界面元素
TooStripLabel 表示工具栏中的一个标签
ToolStripButton 表示工具栏中的一个按钮
ToolStripSeparator 表示工具栏和菜单中的水平或垂直线
TooStripControlHost 包含寄宿的控件的用户界面元素
TooStripSpiltButton 显示为一个右端带有下拉按钮的按钮,单击该下拉按钮,就会在它的下面显示一个菜单
ToolStripComboBox 表示工具栏中的一个组合框Combobox
ToolStripProgressBar 表示在工具栏中嵌入一个进度条ProgressBar
TooStripTextBox 表示工具栏中一的个文本框
ToolStripMenuitem 表示MenuStrip或ContextMenuStrip上显示的可选选项
ToolStripDropDownButton 类似于TooStripSplitButton,区别是去除了下拉按钮,以下接数组图像替代

2.TooIStrip控件的属性

可以查看这个链接:ToolStrip 类

AllowItemReorder

获取或设置一个用于指示是否专门由 ToolStrip 类处理拖放和项重新排序操作的值。

AllowMerge

获取或设置一个值,该值指示能否将多个 MenuStrip、ToolStripDropDownMenu、ToolStripMenuItem 及其他类型进行组合。

BindingContext

获取或设置 ToolStrip 的绑定上下文。

Items

获取属于 ToolStrip 的所有项。

LayoutStyle

获取或设置一个值,该值指示 ToolStrip 如何对项集合进行布局。

Stretch

获取或设置一个值,该值指示 ToolStrip 在 ToolStripContainer 中是否从一端拉伸到另一端。

ShowItemToolTips

获取或设置一个值,该值指示是否在 ToolStrip 项上显示工具提示。

Visible

获取或设置一个值,该值指示是否显示该控件及其所有子控件。

(继承自 Control)

VScroll

获取或设置一个值,该值指示垂直滚动条是否可见。

(继承自 ScrollableControl)

3.创建工具栏

续045快捷菜单,添加一个工具栏,并且该工具栏可以停靠在窗体的四个边框。
    (1)为了使工具栏可以在父窗体的四个边框停靠,需要添加TooIStripPanel控件。由于该控件并不在“工具箱”中,因此,需要在“工具箱”中右击打开快捷菜单,再选择“选择项”打开“选择工具箱项”对话框,从中找到并选择TooIStripPanel。
    (2)从“工具箱”中将一个TooIStripPanel控件拖动到主窗体上,并选择TooIStripPanel控件,在“工具箱”中双击TooIStrip控件,这样在TooIStripPanel控件中会创建一个TooIStrip控件。
    (3)添加四个TooIStripPanel控件,分别停靠于窗体的左侧、顶部、右侧和底部。修改其Dock属性为Left. Top, Right和Bottom,并修改其Name属性为tspLeft. tspTop. tspRight和tspBottom。
    (4)选中添加的TooIStrip控件,向其中添加一个TooIStripButton按钮。单击Image属性中的省略号(…)按钮,找开如图10-14所示“选择资源”对话框。在该对话框中单击“导人“按钮,选择该工具栏按钮所使用的图像。
(VS2010安装文件夹”C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\VS2010ImageLibrary\2052“中有图库)
    (5)在主窗体中分别添加“新建”,  “打开”和“保存”工具栏按钮,一修改其Name属性为:btnNew、btnOpen和btnSave。
    (6)选择“新建”工具栏按钮,在其“属性”窗口中单击“事件”标签打开控件的事件窗口,在Click事件中选择NewMenultemClick,

Private Sub btnNew_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNew.ClickNewMenuItem.PerformClick()End Sub

(7)双击“打开”工具栏按钮,添加如下的Click事件处理程序。

 Private Sub btnOpen_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpen.ClickOpenFileDialog1.DefaultExt = "*.txt"OpenFileDialog1.Filter = "RTF文档(*.rtf)|*.rtf|文本文件((.txt)|*.txt|所有文件(*.*)|*.*"OpenFileDialog1.ShowReadOnly = TrueDim filename As String = NothingIf OpenFileDialog1.ShowDialog = DialogResult.OK And OpenFileDialog1.FileName.Length > 0 Thenfilename = OpenFileDialog1.FileNameNewMenuItem.PerformClick()Dim activechild As ChildFrm = Me.ActiveMdiChildIf Not activechild Is Nothing ThenDim fileExt As String = NothingIf filename.Trim <> String.Empty Thenactivechild.txtContent.ResetText()fileExt = IO.Path.GetExtension(filename).ToUpperIf fileExt = "*.RTF" Thenactivechild.txtContent.LoadFile(filename, RichTextBoxStreamType.RichText)Elseactivechild.txtContent.LoadFile(filename, RichTextBoxStreamType.PlainText)End Ifactivechild.curFileName = filenameMe.Text = filenameEnd IfEnd IfEnd IfEnd Sub

(8)    双击“保存”工具栏按钮,添加如下的事件处理程序。

    Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.ClickDim activechild As ChildFrm = Me.ActiveMdiChildIf Not activechild Is Nothing Thenactivechild.savedocument()End IfEnd Sub

(9)对于“保存”工具栏按钮,当父窗体中未包含任何子窗体时,  “保存”工具栏按钮应该被禁用。可以为TooIStrip控件添加如下的Paint事件处理程序。

    Private Sub ToolStrip1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles ToolStrip1.PaintDim activechild As Form = Me.ActiveMdiChildIf activechild Is Nothing ThenbtnSave.Enabled = FalseElsebtnSave.Enabled = TrueEnd IfEnd Sub

046ToolStrip类相关推荐

  1. 自己搜集编写的Delphi 通用函数

    { ********************************************************************** } { Currency Common Functio ...

  2. 继承WebMvcConfigurer 和 WebMvcConfigurerAdapter类依然CORS报错? springboot 两种方式稳定解决跨域问题

    继承WebMvcConfigurer 和 WebMvcConfigurerAdapter类依然CORS报错???springboot 两种方式稳定解决跨域问题! 之前我写了一篇文章,来解决CORS报错 ...

  3. MybatisPlus忽略实体类中的非数据库字段、JPA忽略实体类中的非数据库字段、HeHibernate忽略实体类中的非数据库字段

    mybatis plus忽略映射字段时可以在实体类属性上使用以下注解: @TableField(exist = false):表示该属性不为数据库表字段,但又是必须使用的. @TableField(e ...

  4. IDEA中根据数据库自动生成实体类,并自定义所生成的实体类中的注解 @Table @Id @...

    使用IDEA项目添加Hibernate扩展,生成实体类并配置实体类中的注解 一.使用Hibernate自动生成实体类 1.在项目上右键,选择Add Framework Support找到 Hibern ...

  5. IDEA自动生成类注解,IDEA作者信息自动生成,IDEA类信息自动生成

    在新建类文件的时候自动生成注解,诸如我们常见的那些 作者,创建时间,TODO 等等 将以下格式的代码放在Settings -> File and Code Templates -> Inc ...

  6. javabean实体类与实体类之间的快速转换

    一.Dozer是什么? dozer是一个能把实体和实体之间进行转换的工具.只要建立好映射关系.就像是ORM的数据库和实体映射一样. 使用方法示例如下: // article(PO) -> art ...

  7. 利用dom4j将实体类转换为对应的xml报文

    利用dom4j生成xml报文 目标格式: <?xml version="1.0" encoding="GBK"?><Packet type=& ...

  8. Idea groovy表生成实体类带注释

    Idea groovy表生成实体类带注释 1.点开datasourse,打开idea带的数据库工具,具体添加数据库连接,这里不描述. 这时点击会生成一个poji 这时生成的pojo中是不带中文注释的, ...

  9. java带参数的方法笔记_具有Java参数的方法的类声明

    类声明可以包含在Java中具有参数的方法.演示此过程的程序如下: 示例class Message { public void messagePrint(String msg) { System.out ...

最新文章

  1. Visual C#创建资源文件
  2. 成功解决xgboost.core.XGBoostError: b'[20:58:45] C:\\Users\\Administrator\\Desktop\\xgboost\\dmlc-core\\s
  3. hexo博客修改博文中日期的颜色
  4. python web界面整合 tail_如何使用Python Tornado在HTTP上实现“ tail”?
  5. android中虚拟程序停止,为什么我的在虚拟机运行后出现应用程序停止运行
  6. 当大数据遇上“智慧园区”会怎样?
  7. NGUI的slider的滑动条制作(SliderScript)
  8. php文件的上传与删除方法
  9. tweenlite的组合使用
  10. julia的几种画图方法
  11. cad图纸服务器共享文件慢,DWG文件打开慢?3个技巧教你实现快速预览!
  12. 基于WebUploader的文件上传插件
  13. 赚自己的淘宝佣金,让返利网无路可走
  14. 招聘后台投递设置联动按钮迭代开发总结
  15. 显示屏色温调节 影响 测试软件,教你把显示器调到最佳效果
  16. 怎么利用pytorch训练好的模型测试单张图片
  17. 大学计算机基础知识学习计划,大学个人学习计划
  18. 跟着Nature学作图:最强“ 颠覆性 ”技术,您确定不学学?助力发Nature顶刊!...
  19. 【最全】ISTQB- FL大纲(含重点)
  20. 基于Cookie-Editor与curl实现跨设备的文件下载

热门文章

  1. 下一代容器架构已出,Docker何去何处?看看这里的6问6答!!
  2. mysql select iden_MYSQL之select的高级用法
  3. 旋转矩阵欧拉角万向锁详解
  4. 2020年车工(中级)考试及车工(中级)考试试卷
  5. 关于padding,margin,width用百分比表示时以什么为基准
  6. 解决方案 Rect width exceeds maximum margin
  7. 英语专栏——Blog
  8. 全球及中国智慧养老系统行业市场需求预测及投资竞争力分析报告2022-2028年
  9. ChatGLM-6B 的部署与微调以及过程中涉及知识总结(7.26更新)
  10. 常用的网页开发工具有哪些