(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属性设置提示内容,就可以轻松实现具有提示功能的工具栏。 举一反三
根据本实例,读者可以开发以下功能。 具有提示功能的各种控件。 具有提示功能的窗体。 1.3 状态栏设计
状态栏是用来显示当前程序状态的。状态栏可以分为多个面板,用来显示不同状态下的内容,本节主要介绍了状态栏的用法以及如何在状态栏中添加控件。 实例011 在状态栏中显示检查框 实例说明
在设计程序界面时,为了规范界面,可以将一些控件放置在状态栏中,这样既能起到控制程序的作用,又能使界面和谐、美观。运行程序,在窗体的状态栏中加入了显示时间检查框。效果如图1.11所示。 技术要点
在状态栏中添加检查框比较容易,只需先将状态栏加入窗体,然后将检查框从工具箱中拖入状态拦即可。 实现过程
(1)创建一个项目,将其命名为Ex01_11,默认窗体为Form1。
(2)从工具箱中为Form1窗体添加StatusStrip控件,并从工具箱中为状态栏添加CheckBox控件。
(3)主要程序代码。
private void checkBox2_CheckedChanged(object sender, EventArgs e) {
if (this.checkBox2.Checked) {
statusStrip1.Items[1].Text = \日期:\ } else {
statusStrip1.Items[1].Text = \ } } 举一反三
根据本实例,读者可以开发以下功能。 运行时设置控件的位置。
动态控制控件的显示。 实例012 带进度条的状态栏 实例说明
上网浏览网页的读者都用过IE浏览器,读者是否注意到该浏览器的状态栏,在打开网页的过程中,浏览器下边的状态栏中有一个进度条显示当前网页的载入进度,这样的状态栏使界面显得更加丰富多彩,并且非常实用。本例将设计一个带进度条的状态栏,并且在程序运行当中进度条可以显示其进度,该实例运行结果如图1.12所示。 技术要点
带进度条的状态栏在别的开发环境下实现相对比较复杂,但在.NET 2.0中已经提供了这个功能,只需将状态栏的按钮类型设置为ProgressBar即可。通过设置ProgressBar的Step 属性指定一个特定值用以逐次递增Value属性的值,然后调用PerformStep方法来使该值递增,就可以实现带进度条的状态栏。 实现过程
(1)创建一个项目,将其命名为Ex01_12,默认窗体为Form1。
(2)从工具箱中为Form1窗体添加StatusStrip控件,并为状态栏添加相应的按钮,在按钮的下拉选项中选择ProgressBar类型。
(3)设置ToolStripProgressBar1的Value属性、Maximum属性和Step属性。 (4)主要程序代码。
private void Form1_Load(object sender, EventArgs e) {
while (toolStripProgressBar1.Value < toolStripProgressBar1.Maximum) {
this.toolStripProgressBar1.PerformStep(); } } 举一反三
根据本实例,读者可以开发以下功能。 在状态栏中显示时间。 改变进度条的颜色。
实例013 状态栏中加入图标 实例说明
状态栏已经成为主界面必不可少的部分,状态栏一般用于显示程序状态、当前日期等,在状态栏中添加一张图片会使程序的主界面更有特色。运行本例,效果如图1.13所示。 技术要点
状态栏中加入图标在.NET 2.0中实现非常容易,只要将对应状态栏面板的Image属性设置为要显示的图片即可。 实现过程
(1)创建一个项目,将其命名为Ex01_13,默认窗体为Form1。
(2)从工具箱中为Form1窗体添加StatusStrip控件,并为状态栏添加相应的按钮,设置添加的按钮的Image属性为要显示的图片。 举一反三
根据本实例,读者可以实现以下功能。 将其他控件放置在状态栏中,如进度条。 将其他控件放置在状态栏中,如复选框。 1.4 导航菜单界面
对于一些应用工具软件,界面不但要求人性化、漂亮,还要突出界面功能、使用方便,这样才能吸引用户使用。本节主要介绍了常用的几种菜单界面。 实例014 OutLook界面 实例说明
程序主界面包括菜单栏、工具栏、状态栏和树状视图。OutLook界面美观、友好,是一个很实用的程序主界面,并且菜单栏和工具栏是可移动的。运行本例效果如图1.14所示。
图1.14 Out Look界面
技术要点
一般程序的菜单栏和工具栏是不可移动的,但是只要将MenuStrip和ToolStrip控件的AllowItemRecorder属性设为True就可以移动。在本例中使用MenuStrip控件制作菜单栏,使用ToolStrip制作工具栏,使用StatusStrip控件制作状态栏。下面详细介绍一下这几个控件的属性。
1.ToolStrip. AllowItemReorder属性
获取或设置一个值,该值指示是否由ToolStrip类私自处理拖放和项重新排序。其结构如下: public bool AllowItemReorder { get; set; }
l 属性值:如果让ToolStrip类自动处理拖放和项重新排序,为True;否则为False。默认值为False。
2.MenuStrip. AllowItemReorder属性
获取或设置一个值,该值指示是否由ToolStrip类私自处理拖放和项重新排序。其结构如下: public bool AllowItemReorder { get; set; }
l 属性值:如果让 MenuStrip类自动处理拖放和项重新排序,为True;否则为False。默认值为False。
3.ToolStripItem.DisplayStyle属性
获取或设置是否在ToolStripItem上显示文本和图像。
public virtual ToolStripItemDisplayStyle DisplayStyle { get; set; }
l 属性值:ToolStripItemDisplayStyle值之一。默认为ImageAndText。 注意:在移动菜单栏和工具栏时,需要按住“Alt”键,同时用鼠标进行拖动。 实现过程
(1)创建一个项目,将其命名为Ex01_14,默认窗体为Form1。
(2)在Form1窗体上添加MenuStrip控件,用来设计主菜单;添加ToolStrip控件,用来设计工具栏;添加StatusStrip控件,用来设计状态栏;添加ImageList控件和TreeVew控件,用来设计树结构。
(3)分别为MenuStrip控件、ToolStrip控件、ImageList控件和TreeVew控件添加子项,将MenuStrip控件和ToolStrip控件的AllowItemRecorder属性设为True,并将ToolStrip控件的每个子项的DisplayStyle属性设置为“ImageAndText”。下面详细介绍这几个属性。 举一反三
根据本实例,读者可以实现以下功能。 制作一个系统菜单。 制作一个导航界面。
实例015 带带导航菜单的主界面 实例说明