Visual Studio 2010 (C#) Windows数据库项目开发
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.2 主窗体设计

在Windows窗体应用程序中,主窗体通常包括主菜单、工具栏、状态栏等。下面我们就逐一介绍如何使用它们。

2.2.1 主菜单(MenuStrip)

一个项目都包含许多功能,我们一般按照功能对其进行分组,并以菜单的形式展示给用户操作。

使用MenuStrip控件可以轻松创建类似Microsoft Office中那样的菜单,并且我们可以通过添加快捷键、图像和分隔条等来增强菜单的可用性和可读性。

(1)添加菜单。如图2-6所示,切换到frmMain的设计页面,在“工具箱”的“菜单和工具栏”面板中将“MenuStrip”控件拖放到窗体上。

此控件将在窗体的顶部创建一个默认菜单。

图2-6 添加MenuStrip控件

(2)适当调整窗体的大小。根据本系统的功能,先大致设置菜单如图2-7所示。

(3)设计菜单图标。如图2-8所示,选中“系部信息”菜单,在属性窗口中找到“Image”属性,单击按钮。

图2-7 设计菜单

图2-8 设计菜单的Image属性

(4)如图2-9所示,在弹出的“选择资源”对话框中,选中“本地资源”单选按钮,单击“导入”按钮。

如果选中“项目资源文件”单选按钮,可将资源文件复制到项目的资源文件中,以便于以后操作。

(5)如图2-10所示,选择我们需要的资源文件。本书配套的“资源文件”文件夹中有一些图片可供读者选择,当然读者也可自行选择自己喜欢的图片。这里选择“资源文件”文件夹中的“Department”文件,单击“打开”按钮。

图2-9 选择资源

图2-10 选择资源文件

(6)回到“选择资源”对话框,单击“确定”按钮。

(7)类似地,给各菜单栏指定资源文件,最后完成的菜单如图2-11所示。

(8)现在,读者已完成应用程序的设计阶段,此时可以开始添加一些代码以提供程序的功能。

程序必须具有针对按钮和每个菜单选项的事件处理程序。事件处理程序是用户与控件交互时执行的方法。Visual Studio自动为用户创建空的事件处理程序。

下面我们来为MenuStrip选项添加事件处理程序。

双击“系统”下的“退出”子菜单,系统将自动产生该菜单项的Click事件代码框架。如下所示为完成代码。

private void退出ToolStripMenuItem_Click(object sender, EventArgs e)
{
    Close();
}

图2-11 指定Image后完成的菜单

2.2.2 工具栏(ToolStrip)

使用ToolStrip控件可以创建用于自定义的常用工具栏,让这些工具栏支持高级用户界面和布局功能,如带文本和图像的按钮、下拉按钮等。

(1)添加工具栏。如图2-12所示,在“工具箱”的“菜单和工具栏”面板中将“ToolStrip”控件拖放到窗体中。

图2-12 添加ToolStrip控件

(2)如图2-13所示,单击“ToolStrip”中的下拉按钮,选择“Button”选项。

图2-13 为ToolStrip添加Button

(3)设置刚刚添加的“Button”的Image属性,和菜单设置操作类似。这里设置该Button的功能为“报名”,所以选择一个和菜单中“报名”一样的图片。

通常在工具栏中放置一些系统常用的功能作为快捷方式。

(4)单击“ToolStrip”中的下拉按钮,选择“Separator”选项,放置一个分隔符。

(5)单击“ToolStrip”中的下拉按钮,选择“Button”选项。将该工具按钮设计成和菜单中的“退出”完成一样的功能。完成后的工具栏如图2-14所示。

图2-14 完成后的工具栏

(6)为工具栏按钮指定功能。这里我们将工具栏上的“退出”按钮指定为和“退出”菜单一样的功能,具体操作如下。

① 如图2-15所示,右击工具栏上“退出”按钮,选择“属性”命令。

图2-15 选择“属性”命令

② 如图2-16所示,注意图中鼠标的位置,在属性窗口单击按钮,切换到“事件”选项卡。

图2-16 查看事件

③ 如图2-17所示,在Click事件中单击下拉按钮,选择为“退出”工具栏按钮的Click事件。通常情况下,为不同的控件执行相同的方法时采用这种操作方式,比如这里“退出”菜单项和工具栏的“退出”按钮执行的就是同样的功能。

图2-17 为完成相同功能的工具栏按钮和菜单指定同一事件

2.2.3 状态栏(StatusStrip)

StatusStrip控件通常用来显示正在窗体上查看的对象的相关信息、对象在应用程序中的操作相关的上下文信息。

通常,StatusStrip控件由ToolStripStatusLabel对象组成,每个这样的对象都可以显示文本、图标或同时显示这两者。

StatusStrip还可以包含ToolStripDropDownButton、ToolStripSplitButton和ToolStripProgressBar控件。

(1)如图2-18所示,在“工具箱”的“菜单和工具栏”面板中将“StatusStrip”控件拖放到窗体中。

图2-18 添加StatusStrip控件

(2)如图2-19所示,单击“StatusStrip”中的下拉按钮,选择“StatusLabel”选项。

添加的ToolStripStatusLabel默认名称为“toolStripStatusLabel1”。

图2-19 为StatusStrip添加StatusLabel

(3)设置刚刚添加的“toolStripStatusLabel1”属性如下。

Text:项目设计:曾建华Email:237021692@qq.com

IsLink:True

(4)单击“StatusStrip”中的下拉按钮,选择“StatusLabel”选项,再添加一个ToolStripStatusLabel,设置属性如下。

Name:LoginInfo

Text:此处以后将显示登录信息

Spring:True

TextAlign:MiddleRight

ForeColor:Blue

完成后的状态栏如图2-20所示。

图2-20 完成后的状态栏

2.2.4 多文档界面(MDI)应用程序主窗体设计

MDI应用程序能同时显示多个文档,每个文档显示在各自的窗口中。

(1)确保选中frmMain,在窗体的空白位置单击即可。设置frmMain属性如下。

IsMdiContainer:True(设置该窗体为多文档界面子窗体的容器)

(2)继续设置frmMain窗体的如下属性。

Text:学生选课系统

WindowState:Maximized(设置窗体运行时最大化)

BackgroundImage:(读者可自行选择合适的背景图片,这里选择“资源文件”文件夹中的“主窗体背景”,注意设计该属性时看不到图片,运行时可查看效果)

BackgroundImageLayout:Stretch(设置背景图片为拉伸)

(3)运行测试,效果如图2-21所示。单击“退出”菜单或工具栏上的“退出”按钮都可退出系统。

图2-21 主界面完成后的运行效果

好,基本主框架我们搭好了,后面的章节将一步一步地实现每一项菜单的具体功能。