1.2 工具栏设计
在菜单栏中将常用的菜单命令以工具栏按钮的形式显示,并作为快速访问方式。工具栏位于菜单栏的下方,由许多命令按钮组成,每个命令按钮上都有一个形象的小图标,以标识命令按钮的功能。由于工具栏这种直观易用的特点,使其已成为Windows应用程序的标准界面。
实例007 带带背景的工具栏
实例说明
工具栏是窗体的组成部分之一,工具栏中的按钮可以设定完成一些较为常用或重要的功能,本例中设计了一个工具栏,并且为该工具栏作了一些修饰,使工具栏带有背景。背景图案可以透过按钮显示,效果如图1.7所示。

技术要点
工具栏中的背景是一幅图片,在运行时应该将该图片绘制到工具栏上,在.NET 2.0中,只需将工具栏按钮的BackGroundImage的属性设置为对应的图片即可。
实现过程
(1)创建一个项目,将其命名为Ex01_07,默认窗体为Form1。
(2)从工具箱中为Form1窗体添加ToolStrip控件,并为工具栏添加相应的按钮。
(3)为工具栏的按钮设置相应的BackGroundImage属性,相应的的图片就会变成按钮的背景。
举一反三
根据本实例,读者可以开发以下功能。
制作一个带动画效果的工具栏。
制作一个自定义样式的工具栏。
实例008 带浮动工具栏
实例说明
通常情况下,窗体显示在屏幕的中心。对于使用频率非常高的软件,通常放在屏幕上端以浮动工具栏形式显示。下面通过实例介绍浮动工具栏的设计方法。运行程序,程序可以停在屏幕的任何位置,当窗体失去焦点后,窗体将自动隐藏。效果如图1.8所示。
技术要点
窗体是否要隐藏,重要的是要判断在操作中,通过窗体的Focused属性,是否可以确定窗体有焦点。在窗体有焦点时,该窗体正在被操作,这时需要完全显示在屏幕当中,如果窗体没有焦点,通过设置窗体到屏幕的高度,来确定窗体的隐藏部分。下面详细介绍一下Focused属性。
Focused属性用来获取一个值,该值指示控件是否有输入焦点。其语法结构如下:
public virtual bool Focused { get; }
l 属性值:如果控件有焦点,则为True;否则为False。
实现过程
(1)创建一个项目,将其命名为Ex01_08,默认窗体为Form1。
(2)从工具箱中为Form1窗体添加Panel控件,并为Panel控件添加相应的背景图片。
(3)在Panel上添加两个Label控件,并将其Text属性设置为“打开”和“关闭”,同时把两个Label控件的背景颜色设置为透明。
(4)主要程序代码。
private void timer1_Tick(object sender, EventArgs e)
{
if (this.Focused == false)
{
this.Top = -30;
}
}
private void label2_Click(object sender, EventArgs e)
{
this.Close();
}
private void panel1_MouseClick(object sender, MouseEventArgs e)
{
this.Top = 60;
}
举一反三
根据本实例,读者可以开发以下功能。
制作一个带动画效果的工具栏。
制作一个飘动的工具栏。
实例009 在带下拉菜单的工具栏
实例说明
工具栏是窗体的组成部分之一,工具栏中的按钮可以完成一些较为常用或重要的功能,本例中设计了一个工具栏,使工具栏带有下拉菜单,效果如图1.9所示。
技术要点
带下拉菜单的工具栏在其他计算机语言中实现比较复杂,但在.NET 2.0中已经提供了这个功能,只需将工具栏按钮的类型设置为DropDownButton即可。
实现过程
(1)创建一个项目,将其命名为Ex01_09,默认窗体为Form1。
(2)从工具箱中为窗体添加ToolStrip控件,并为工具栏添加相应的按钮,在按钮的下拉选项中选择DropDownButton类型。
(3)为工具栏DropDownButton类型的按钮设置相应的下拉菜单,就可以轻松实现带下拉菜单的工具栏。
举一反三
根据本实例,读者可以开发以下功能。
制作一个带右键菜单的工具栏。
制作一个带复选框的工具栏。
实例010 在具有提示功能的工具栏
实例说明
在文档\视图结构的应用程序中,默认情况下,当鼠标在工具栏按钮上停留片刻,会出现一个工具提示条。本例实现了一个具有提示功能的工具栏,效果如图1.10所示。

技术要点
具有提示功能的工具栏在其他计算机语言中实现也许比较复杂,但在.NET 2.0中已经提供了这个功能。只需将工具栏按钮的ToolTipText设置为要提示的内容即可。下面详细介绍一下该属性。
ToolTipText属性用来获取或设置作为控件的ToolTip显示的文本。其语法结构如下:
public string ToolTipText { get; set; }
l 属性值:一个表示工具提示文本的字符串。
实现过程
(1)创建一个项目,将其命名为Ex01_10,默认窗体为Form1。
(2)从工具箱中为Form1窗体添加ToolStrip控件用来设计工具栏,并为工具栏添加相应的按钮。
(3)为相应按钮的ToolTipTile属性设置提示内容,就可以轻松实现具有提示功能的工具栏。
举一反三
根据本实例,读者可以开发以下功能。
具有提示功能的各种控件。
具有提示功能的窗体。





