8.3.4 ToolStrip(工具栏)控件

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

ToolStrip控件比较常见,它常见于程序的顶部,包含多个常用操作的按钮。比如下图中红框内就是word2003的一个工具栏:

图8-73 Word中的工具栏

放置一个Toolstrip到设计窗体,它自动设置为了靠窗体顶部,宽度和窗体一致。如果添加多个ToolStrip,每个ToolStrip顶端将对齐前一个的下沿依次排下去。按下ToolStrip上的向下箭头,可以看到它提供了8种类型的工具项:

图8-74 Toolstrip上可使用的8种工具项

1、Button:对应ToolStripButton类型,按钮,类似于普通的 Button。

2、Label:对应ToolStripLabel类型,标签,类似于普通的Label控件,但是支持显示图片。

3、SplitButton:对应ToolStripSplitButton类型,工具栏分割按钮,左侧标准按钮和右侧下拉箭头的组合,单击下拉箭头会弹出菜单项。相应菜单项的添加请参考MenuStrip控件。

4、DropDownButton:对应ToolStripDropDownButton类型,工具栏下拉按钮,左侧标准按钮和右侧下拉箭头的组合,单击按钮或下拉箭头都会弹出菜单项。相应菜单项的添加请参考MenuStrip控件。它与SplitButton区别的是,SplitButton单击按钮本身不会出现弹出菜单,而DropDownButton单击按钮也会出现弹出菜单。

5、Separator,对应ToolStripSeparator类型,分隔符,常用作相似功能工具的区域界线。

6、ComboBox:对应ToolStripComboBox类型,组合框,类似于普通的ComboBox。

7、TextBox:对应ToolStripTextBox类型,文本框,类似于普通的TextBox。

8、ProgressBar:对应ToolStripProgressBar类型,进度条,类似于普通的ProgressBar。

在设置的工具项上点击鼠标右键后的弹出菜单提供了更多设置选项:

图8-75 ToolStripSplitButton上右击的弹出菜单

不同的工具,弹出菜单不一样,按钮、标签支持设置图像、DisplayStyle等。

  1. 设置图像:添加工具项上显示的图像。
  2. Enabled:指示工具项是否可用,不可用时将呈现灰色。
  3. Alignment:文本对齐方式。
  4. DisplayStyle:指定工具项显示文本、图像的显示方式,包含以下值:
    1. Image 只显示图像。
    2. ImageAndText 同时显示图像和文本。
    3. None 既不显示图像,也不显示文本。
    4. Text 只显示文本。
  1. 转换为:将选中的工具项转为别的类型的工具项。
  2. 插入:在选中的工具项前面插入其他工具项。
  3. 编辑DroopDownitems:这是SplitButton 和DropDownButton才有的栏目,单击后弹出【项集合编辑器】,它提供向SplitButton 和DropDownButton上增加、删除和编辑弹出菜单,可以提供MenuItem、CombBox、TextBox、Separator四种类型增加到弹出菜单上。

【例 8.49【项目:code8-049】使用ToolStrip控件。

在窗体上放置一个Label控件、一个ToolStrip控件。下列代码将在运行时向工具栏添加一个TextBox、一个Button和一个SplitButton,并且为SplitButton增加一个菜单项。

        //窗体载入时候完成界面和事件关联

        private void Form1_Load(object sender, EventArgs e)

        {

            //要增加的TextBox,实际是ToolStripTextBox类型

            ToolStripTextBox tstbInfo = new ToolStripTextBox();

            //取消自动大小

            tstbInfo.AutoSize = false;

            //设置宽度

            tstbInfo.Width = 120;

            //加入工具栏

            toolStrip1.Items.Add(tstbInfo);

            //要增加的Button,实际是ToolStripButton类型

            ToolStripButton tsbShow= new ToolStripButton();

            tsbShow.Text = "显示文本";

            //只显示文字

            tsbShow.DisplayStyle = ToolStripItemDisplayStyle.Text;

            //加入工具栏

            toolStrip1.Items.Add(tsbShow);

            //事件关联方法

             tsbShow.Click+= tsbClick;

            //要增加的ToolStripSplitButton类型

            ToolStripSplitButton tssbFont =new ToolStripSplitButton();

            //设置图像

            tssbFont.Image = Image.FromFile("c:\\lessons\\text.png");

            //要向tssbFont增加的ToolStripMenuItem

            ToolStripMenuItem tsmiFontBold =new ToolStripMenuItem();

            tsmiFontBold.Name = "tsmiBold";

            tsmiFontBold.Text = "粗体";

            //此菜单项可以显示被选中或未选中

            tsmiFontBold.CheckOnClick = true;

            tsmiFontBold.Checked = false;

            //在tssbFont上增加菜单项tsmiFontBold

            tssbFont.DropDownItems.Add(tsmiFontBold);

            //事件关联方法

             tsmiFontBold.Click+=tsmiClick;

            //将tssbFont加入菜单栏

            toolStrip1.Items.Add(tssbFont);

        }

        //tsbShow.Click事件关联的方法

        private void  tsbClick(Object sender , EventArgs e)

        {

            label1.Text = toolStrip1.Items[0].Text;

        }

        //tsmiFontBold.Click事件关联的方法

        private void tsmiClick(Object sender, EventArgs e)

        {

            //将Sender转为ToolStripMenuItem类型

            ToolStripMenuItem tsmi = (ToolStripMenuItem)sender;

            Font lblFont;

            //设置/取消粗体显示

            if (tsmi.Checked ==false)

                lblFont = new Font(label1.Font.FontFamily, label1.Font.Size, FontStyle.Regular);

            else

                lblFont = new Font(label1.Font.FontFamily, label1.Font.Size, FontStyle.Bold);

            label1.Font = lblFont;

        }

运行结果如下图所示:

图8-76 设置标签字体为粗体

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

.Net学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值