当前位置: 首页 > news >正文

8.3.5 ToolStripContainer(工具栏容器)控件

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的

ToolStripContainer控件是一个容器,可以包含菜单和工具条、状态栏。

在设计窗体中放入一个ToolStripContainer:

图8-77 添加ToolStripContainer到窗体

通常情况下,设置ToolStripContainer填充满窗体界面,请单击“在窗体中停靠填充”,或者在【属性】窗口中设置Dock=Fill。

图8-78 使ToolStripContainer填充窗体

通过点击四个“^”箭头符号,可以看到展开了上下左右4个部分,将ToolStripContainer分为了五个面板:

图8-79 ToolStripContainer的五个区域

这五个面板为:TopToolStipPanel、BottomToolStipPanel、LeftToolStipPanel、RightToolStipPanel、ContentPanel,分别对应界面上的上、下、左、右、中间这五个面板。其中四个ToolStipPanel是ToolStipPanel类型,用于放置菜单、工具条、状态栏。ContentPanel是ToolStripContentPanel类,用于放置其它控件。

相应地,从ToolStripContainer1的【属性】窗口中可以看到,包含TopToolStripPanel、BottomToolStripPanel、LeftToolStripPanel、RightToolStripPanel、ContentPanel等,而且前面有个+号,可以点击展开获得或设置相应的属性。也可以在设计窗体上单击某个区域,既可显示对应项的【属性】窗口。

由于设置了ToolStripContainer的Dock属性为Fill,要想通过设计窗体选中ToolStripContainer并修改它的属性比较困难,因为单击窗体上任一位置都返回上述五个区域而不是ToolStripContainer本身。此时,可以先选择它上面的任一个面板,再从属性窗口中选择ToolStripContainer即可:

图8-80 通过【属性】窗口选择ToolStripContainer

【例 8.50【项目:code8-050】使用ToolStripContainer控件。

下面以TopToolStrpPanel为例讲述如何使用ToolStripContainer。仅展开TopToolStripPanel面板,在TopToolStripPanel面板上单击选中此面板(右侧变为TopToolStripPanel的【属性】窗口),再双击工具栏的ToolStrip控件,即可向TopToolStripPanel中插入一个ToolStrip:

图8-81 将工具栏添加到TopToolStripPanel面板

将光标放在TopToolStripPanel 面板的“^”箭头符号上面,此时光标会变成手型鼠标指针,单击后面板向下扩展,此时可以放置更多的工具栏:

图8-82 TopToolStripPanel面板上放置2个工具栏

此时运行代码,当光标放在这两个工具栏前端时会变为十字箭头,按下鼠标左键后可以拖放工具栏改变位置:

图8-83 工具栏可以拖放到窗体四周任意位置

如果需要禁止工具栏被拖放在某个面板,只需要在ToolStripContainer【属性】窗口中设置那个面板的ToolStripPanelVisible为False即可。例如设置LeftToolStipPanel不可用,需要设置LeftToolStripPanelVisible为False。

最后在现有两个工具栏基础上用代码再添加一个工具栏:

        private void Form1_Load(object sender, EventArgs e)

        {

            //使底部面板可见,可以拖放工具栏放置在上面

            toolStripContainer1.BottomToolStripPanelVisible = true;

            //建立一个工具栏

            ToolStrip newToolStrip =new ToolStrip();

            //新建一个工具栏标签

            ToolStripLabel tsl =new ToolStripLabel();

            tsl.Text = "这是工具条3";

            tsl.DisplayStyle = ToolStripItemDisplayStyle.Text;

            //工具栏标签加入工具栏上

            newToolStrip.Items.Add(tsl);

            //建立一个工具栏按钮

            ToolStripButton tsb =new ToolStripButton();

            tsb.Image = Image.FromFile("c:\\lessons\\Text.png");

            //工具栏按钮加入工具栏上

            newToolStrip.Items.Add(tsb);

            //工具栏加入到底部面板

            toolStripContainer1.BottomToolStripPanel.Controls.Add(newToolStrip);

            //工具栏按钮关联Click事件

             tsb.Click+= newButton_Click;

        }

        private void newButton_Click(object sender, EventArgs e)

        {

            MessageBox.Show("按下了新的按钮");

        }

运行结果如下图所示:

图8-84 新加入的工具栏及其工具栏按钮事件

学习更多vb.net知识,请参看vb.net 教程 目录

学习更多C#知识,请参看C#教程 目录

相关文章:

  • 做淘宝客网站需要什么要求吗站长工具海角
  • 做软件销售网站班级优化大师头像
  • 微信公众号做电影网站要域名吗山东潍坊疫情最新消息
  • 做我韩国连续剧网站百度客户端登录
  • 深圳企业排名100强上海关键词优化外包
  • 微信设计网站建设微信搜一搜排名优化
  • 线代第四课:行列式的性质
  • 电子元件浸入式冷却
  • 对重大保险风险测试的算法理解
  • Dify 插件开发笔记
  • MyBatis深度解析与实战指南:细节完整,从入门到精通
  • Windows下进行Redis for Windows安装
  • Linux服务器——搭建Zabbix
  • 02-redis-数据结构实现原理
  • 移动端六大语言速记:第12部分 - 测试与优化
  • vue-ganttastic在vue3中使用示例
  • CISA关键措施要求解析:提升组织网络安全的实用指南
  • 近两年年化是177.6%,wxpython+backtrader+quantstats的智能投研平台(系统源码+策略下载)
  • LangChain4j(1):初步认识Java 集成 LLM 的技术架构
  • Dart逆向之函数调用
  • AI | 字节跳动 AI 中文IDE编辑器 Trae 初体验
  • java线程安全-单例模式-线程通信
  • Python刷题笔记
  • Laravel 实现 队列 发送邮件功能
  • IP证书的作用与应用:保障数字身份与通信安全
  • Docker MySQL的主从同步 数据备份 数据同步 配置文件