C#程序设计
上QQ阅读APP看书,第一时间看更新

1.3.2 创建一个Windows窗体应用程序

窗体(Form)是一个窗口或对话框,是存放各种控件(包括标签、文本框、命令按钮、菜单等)的容器,可用来向用户显示信息。

Windows窗体应用程序,顾名思义就是运行在Windows操作系统平台上的应用程序。设计者通过使用Visual Studio集成开发环境下的各种工具控件(如菜单栏、工具按钮、文本编辑器等),设计一种能与用户交流的Windows应用程序界面。设计者可以定义Windows应用窗体的外观属性、行为方法与用户交互事件等,也可修改窗体的属性或者添加代码来响应窗体的事件。例如,记事本就是一个Windows窗体应用程序。

在Visual Studio 2013中创建一个基于C#的Windows窗体应用程序通常需要以下5个步骤:

(1)创建项目文件。

(2)设计用户界面。

(3)设置对象属性。

(4)编写对象事件过程代码。

(5)保存并运行程序(生成可执行代码)。

下面通过例子来理解创建Windows窗体应用程序的方法和步骤。

【例1-2】创建第一个Windows窗体应用程序,要求:

(1)窗体的标题栏显示“C#的第一个Windows窗体应用程序”。

(2)在程序运行时屏幕上显示“欢迎学习C#程序设计”文字串,隶书、红色14号字体。

(3)在窗体的文本框中输入姓名,并居中,单击“显示”按钮后,输入的姓名居中显示在右侧的文本框中。

(4)单击“关闭”按钮,窗体被关闭退回到开发界面。程序运行后的界面如图1-14所示。

图1-14 【例1-2】程序运行界面

具体操作步骤如下:

1)创建项目文件

(1)启动Visual Studio 2013环境,依次选择“文件”→“新建”→“项目”,在打开的对话框中依次单击左侧界面的“已安装”→“模板”→“Visual C#”选项,在“Visual C#”选项右侧的展开项中选择“Windows窗体应用程序”,如图1-15所示。这里需要注意的是,创建的Windows窗体应用程序是在一个项目中存放的。

图1-15 新建Windows窗体应用程序项目界面

(2)在图1-15新建项目窗体的下侧找到项目“名称”,在其右侧文本框中输入WForms1项目名称。

(3)在“位置”文本框中输入路径名,或通过“浏览”按钮选择项目存放的位置。

(4)在“解决方案名称”文本框中输入解决方案名称(默认情况下解决方案名称同项目名称,有关解决方案的介绍在后续章节会学习到)。

(5)单击“确定”按钮,进入C#的Windows窗体应用程序界面设计窗口,Form1是C#自动创建的一个默认窗体(类似于启动word后自动创建一个默认Doc1文档),如图1-16所示。

2)设计用户界面

设计用户界面就是在窗体中添加需要的控件信息,控件就是用户可与之交互以输入或操作数据的对象。将“工具箱”→“所有Windows应用程序”中提供的TextBox(文本框)、Label(标签)、Button(按钮)等控件添加到Form1窗体中,并布局好这些控件的大小和位置,就完成了用户界面设计的任务。

添加控件的具体操作如下:

(1)双击工具箱中的Label标签控件图标,窗体上就会出现名为label1的标签控件;再次双击Label标签控件图标,窗体上就会出现名为label2的标签控件;或者直接用鼠标两次拖动Label标签控件图标到窗体上(所有关于控件的拖动类似操作),然后把它们拖放到适当的位置并调整好大小。

图1-16 Windows窗体应用程序的第一个默认窗体Form1.cs

(2)双击工具箱中的TextBox文本框控件图标,窗体上出现一个名为textBox1的文本框;再次双击TextBox文本框控件图标,窗体上出现名为textBox2的控件。把它们拖动到适当的位置并调整好大小。

(3)两次双击工具箱中的Button按钮控件图标,窗体上出现名为button1、button2的按钮,把它们拖动到适当的位置并调整好大小。

(4)调整以上六个控件对象的位置,使其与图1-14中显示的控件位置相对应。添加控件后的用户界面如图1-17所示。

图1-17 设计用户界面

3)设置对象属性

在所有版本的Visual Studio集成环境下,其所有元素及部件都可以称为对象。现在分别对窗体及控件等对象进行属性设置。表1-1中列出了【例1-2】Form1窗体中各对象要设置的属性值。

表1-1 Form1对象的属性值

(1)单击窗体Form1的空白处(意味着选中了窗体),按F4键(调用属性窗口,以下类同),在窗体属性窗口中将它的Text属性从默认值Form1改为“C#的第一个Windows窗体应用程序”。

(2)单击label1标签控件,找到属性窗口中的ForeColor属性,将其默认值ControlText改为Red。单击属性窗口下font属性,展开其前面的“+”,找到Name属性,将默认值“宋体”改为“隶书”;找到size属性,将默认值9改为14。

(3)单击label2标签控件,在属性窗口中找到Text属性,将默认值Label2改为“输入姓名:”。

(4)单击button1按钮控件,在属性窗口中找到Text属性,将默认值Button1改为“显示”。

(5)单击textBox1文本框控件,在属性窗口中找到文本框内文本对齐属性“TextAlign”,将其默认值“Left”改为“Center”。

(6)单击textBox2文本框控件,在属性窗口中找到只读ReadOnly属性,将默认值False改为True,意味着此文本框只能显示文本,而不能修改文本信息;找到TextAlign属性,将其默认值Left改为Center。

(7)单击button2按钮控件,在属性窗口中找到Text属性,将默认值Button2改为“关闭”。

设置好各个对象属性后的窗体如图1-18所示。

图1-18 为Windows窗体添加控件及属性

4)编写代码

对于一个Windows窗体应用程序,如果只是创建了前台用户操作界面,而没有控件相应的后台代码编写,那么这个界面就不能进行实质性的操作。编写代码是整个应用程序设计开发中最重要的步骤,有了代码,应用程序就被赋予了灵魂。

(1)在图1-17所示的设计界面上,双击窗体空白处,就会自动切换到代码编辑窗口,并自动生成如下代码行:

在花括号内添加代码“label1.Text = "欢迎学习C#程序设计";”,就可以实现程序运行后窗体出现“欢迎学习 C#程序设计”的文字信息。输入代码后的结果如下:

Form1_Load()是一个窗体加载函数,意味着当Form1窗体运行时要执行什么动作,比如本例的窗体在运行后,会显示一行字符串信息:欢迎学习C#程序设计。

(2)双击“显示”按钮控件,切换到button1控件代码编辑窗口,并自动生成如下代码行:

在花括号内添加一行代码“textBox2.Text = textBox1.Text;”,能够实现单击“显示”按钮后,在文本框2中显示文本框1中的信息。输入代码后的结果如下:

(3)双击“关闭”按钮,切换到button2控件代码编辑窗口,并自动生成如下代码行:

在花括号内添加代码“Application.Exit();”,实现关闭正在运行的Windows窗体,并退回到Visual Studio中开发环境。输入代码后的结果如下:

注意

以上只有{}内的黑色粗体代码行才是从键盘上输入的代码,其他部分都是系统自动生成的,在本例中要按照对应的控件事件输入相应的代码。

【例1-2】源代码输入完成后的代码窗口如图1-19所示。

5)调试运行,保存项目文件

代码输入完成后,按F5键或者单击工具栏中的“启动”按钮进行启动调试,如果能够正常运行,并显示如图1-14所示的窗体,则可以按Ctrl+S组合键保存整个项目文件。

图1-19 【例1-2】窗体所对应的源代码

如果在设计窗体界面和输入代码过程中一直没有存过盘,代码编辑窗口顶部的文件名后面就会出现星号,提示各位一定注意保存代码文件。其实在启动调试程序(按F5键)时,C#总是先保存程序,然后再调试运行。