1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第9章 创建Windows窗体应用程序,从本章开始,我们将告别控制台程序,进入Windows应用程序开发。Windows程序以其可视化、易操作的特性成为了桌面应用软件开发的首选。.NET Framework提供了丰富的类库,使开发桌面应用程序变得很容易。在C#中,Windows应用程序(即WinForms)是面向对象应用技术的重要组成部分,所有的Windows应用都是基于面向对象技术构建的。通过本章,读者将学习以下内容:,创建Windows应用程序。,熟悉System.Windows.Forms命名空间中类的使
2、用。,认识Windows窗体,熟悉窗体的属性和事件。,学会使用常用的窗体控件,包括消息框、标签、按钮、文本框等。,通过颜色选择器、图片管理器和字体编辑器三个完整实例熟练掌握窗体控件的用法。,9.1.1 创建第一个Windows应用程序,【本节示例参考:源代码chapter99.1.1WinExample】,9.1.2 Windows编辑窗口布局,【本节示例参考:源代码chapter99.1.1WinExample】,Windows程序开发环境如图9.4所示。Windows窗体程序开发环境跟控制台界面不一样。中间编辑区有一个可视化窗体,左边有工具箱,右边有解决方案管理器和属性窗口。属性窗口会根据
3、编辑区选择控件的不同而改变。,Visual Studio 2008 IDE提供了丰富的窗口布局方式,读者可以根据自己的爱好自行定制窗口布局。选择需要布局的窗口,然后选择菜单栏“窗口”命令,可以设置不同的布局方式,如图9.5所示。,9.1.3 认识Windows窗体,【本节示例参考:源代码chapter99.1.1WinExample】,熟悉了Windows窗体应用程序的创建以后,再回过头来了解一下什么是窗体。窗体程序的应用非常广泛,对于Windows操作系统用户来说,对窗体程序就更加熟悉不过了,如图9.8列举了一些Windows窗体软件界面。,9.1.4 用对象思考:窗体,【本节示例参考:源代
4、码chapter99.1.4WinExample】,System.Windows.Forms命名空间包含用于创建基于Windows的应用程序的类,以充分利用Microsoft Windows操作系统中提供的丰富的用户界面功能。WinForms应用程序使用两个.NET框架的基本类:Form类和Application类。Form类管理应用程序的窗体和窗体上的控件,Application类管理应用程序对Windows消息的接收和传递。,窗体在WinForms中是一个由Form类创建的对象,窗体有很多有用的属性和事件,同时,窗体间可以跳转,可以传值,可以实现模式窗体。在后面的Windows开发中,控件
5、都是承载在窗体之上的,所以,深入了解窗体的功能,会对以后的开发带来很大的帮助。创建所有用户界面都可以通过可视化编程工具完成。,9.2 向Windows窗体添加控件,由WinForms创建的窗体并没有什么内容,要开发丰富多彩的WinForms程序,需要添加众多的程序控件。Visual Studio自带有丰富的窗体控件,程序员也使用可以自定义的用户控件。在本节中,读者将了解.NET是怎样支持控件,并实现丰富多彩的窗体应用程序的。,9.2.2 窗体控件命名规则,每个控件都有一个Name属性,用以在代码中惟一标示该对象。常见的控件命名方法是:控件名简写+英文描述,英文描述首字母大写。主要控件的简写对照
6、如表9.3所示。,9.2.3 使用消息框(MessageBox),【,本节示例参考:源代码,chapter99.2.3MessageBoxExample】,在系统中,我们经常会遇到消息框,消息框常常用来显示消息,并提供选择按钮供用户确认信息。消息框是一个MessageBox对象。该对象的Show()方法用于提示消息框,Show()方法有20多种重载方式。下面通过一个程序实例来了解MessageBox的用法。,9.2.4 使用按钮(Button),【本节示例参考:源代码chapter99.2.4ButtonExample】,按钮(Button)在工具箱中的图标如图9.22所示,是应用程序交互的最
7、好的方式,用户通过单击按钮来触发Click事件。按钮的主要属性有:,(1)Text:设置按钮的文本。,(2)TextAlign:设置按钮的文本对齐方式。,(3)DialogResult:单击按钮时,返回给窗体的值,如“Yes”,“No”或“Cancel”。,9.2.5 使用标签(Label),【本节示例参考:源代码chapter99.2.5LabelExample】,标签(Label)在工具箱中的图标如图9.24所示,链接标签(LinkLabel)在工具箱中的图标如图9.25所示。标签用于显示用户不能编辑的文本,如标题或提示等,Label控件也可以用于显示图像。链接标签用于显示超级链接的效果。
8、标签的主要属性有:,(1)Text:设置标签的文本。,(2)AutoSize:设置标签是否自动大小,自动大小即根据标签文本的大小来确定标签大小。,(3)Image:设置控件上显示的图像。,9.2.6 使用文本框(TextBox),【本节示例参考:源代码chapter99.2.6TextBoxExample】,文本框(TextBox)在工具箱中的图标如图9.27所示,富文本框(RichTextBox)在工具箱中的图标如图9.28所示。文本框和富文本框用于获取用户输入或显示文本,两个控件通常用于可编辑文本。RichTextBox控件允许用户输入和编辑文本的同时提供了比普通的TextBox控件更高级
9、的格式特征。文本框(TextBox)的主要属性有:,9.3.1 颜色选择器,【本节示例参考:源代码chapter99.3.1ColorChangeApp】,本节将设计一个颜色选择器,可以通过选择单选按钮分别选择红、绿、蓝三原色,通过滚动条调整颜色的RGB值,还可以通过颜色对话框选择颜色,最后可以通过滚动条设置窗体的透明度效果。程序运行的效果如图9.31所示。现在按步骤来完成该程序的创建。,9.3.2 图片管理器,【本节示例参考:源代码chapter99.3.2PictureManageApp】,设计一个图片管理器,可以打开一幅图片并在图片框中预览,然后单击“保存”按钮,将图片存储在电脑中。窗体
10、右下角展示了一个图片轮番切换的效果。程序运行的效果如图9.32所示。现在按步骤来完成该程序的创建。,9.3.3 字体编辑器,【本节示例参考:源代码chapter99.3.2FontChangeApp】,在Word等Office办公软件中,经常会通过一个字体编辑器来编辑字体,字体编辑器是一个非常通用的软件组件。下面的例子将完成一个简单的字体编辑器。效果如图9.33所示。设计一个字体编辑器,可以改变字体的大小、颜色和删除线、下划线的效果。并通过示例直观的展示在读者面前,也通过字体对话框来设置字体样式。下面按步骤来完成该程序的创建。,9.4 小结,本章带领读者告别了,DOS,界面的控制台程序,进入可
11、视化桌面应用程序世界。从创建第一个,Windows,应用程序开始,到几个完整实例的学习,使读者对,WinForms,应用程序开发有了一个直观的认识。通过本章,我们学习了以下内容。,(,1,)开发,WinForms,有一个全新的编程环境,,Visual Studio 2008 IDE,提供了可视化的界面和丰富的窗口布局方式。,(,2,)命名空间包含用于创建基于,Windows,的应用程序的类,,WinForms,应用程序使用两个,.NET,框架的基本类:,Form,类和,Application,类。,(,3,)可以通过,Form,类创建窗体对象。,(,4,)工具箱提供了丰富的控件资源,可以利用这
12、些控件创建多彩的应用程序。,本章习题,一、选择题,1,要使文本框控件能够显示多行而且能够自动换行,应设置它的()属性,AMaxLength和Multline,BMultline和WordWrap,CPassWordChar和Multline,DMaxLength和WordWrap,2,已知在某Windows Form 应用程序中,主窗口类为Form1,程序入口为静态方法From1.Main。如下所示:,则在Main 方法中打开主窗口的正确代码是,AApplication.Run(new Form1();,BApplication.Open(new Form1();,C(new Form1().
13、Open();,D(new Form1().Run();,3,Windows Form 应用程序中,要求下压按钮控件Button1 有以下特性:正常情况下,该按钮是扁平的,当鼠标指针移动到它上面时,按钮升高。那么,在程序中,属性Button1.FlatStyle 的值应设定为,ASystem.Windows.Forms.FlatStyle.Flat,BSystem.Windows.Forms.FlatStyle.Popup,CSystem.Windows.Forms.FlatStyle.Standard,DSystem.Windows.Forms.FlatStyle.System,二、简答题,仿照Windows操作系统自带的计算器,用WinForms创建一个计算器程序,实现加、减、乘、除功能。,






