第3章Windows窗体与控件.ppt

上传人:本田雅阁 文档编号:2979397 上传时间:2019-06-17 格式:PPT 页数:47 大小:619.51KB
返回 下载 相关 举报
第3章Windows窗体与控件.ppt_第1页
第1页 / 共47页
第3章Windows窗体与控件.ppt_第2页
第2页 / 共47页
第3章Windows窗体与控件.ppt_第3页
第3页 / 共47页
第3章Windows窗体与控件.ppt_第4页
第4页 / 共47页
第3章Windows窗体与控件.ppt_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《第3章Windows窗体与控件.ppt》由会员分享,可在线阅读,更多相关《第3章Windows窗体与控件.ppt(47页珍藏版)》请在三一文库上搜索。

1、第3章 Windows窗体与控件,内容简介,Windows窗体是以.NET Framework为基础的一个新平台,主要用来开发Windows应用程序。一个Windows应用程序通常由窗体对象和控件对象构成,即使开发一个最简单的Windows应用程序,也必须了解窗体对象和控件对象的使用。 本章主要介绍Windows窗体的结构和常用属性、方法与事件,以及Label、LinkLabel、TextBox、Button几种常用控件的使用。,目录,3.1 窗体,3.2 几种常用控件,3.3 本章小结,3.1 窗体,窗体(Form)就是平常所说的窗口,各种控件对象必须建立在窗体上。窗体对象是Visual C

2、#应用程序的基本构造模块,是运行应用程序时与用户交互操作的实际窗口。窗体有自己的属性、方法和事件,用于控制其外观和行为。 3.1.1 窗体的结构 窗体是包含所有组成程序的用户界面的其他控件的对象。在创建Windows应用程序项目时,Visual Studio 2008会自动提供一个窗体,其组成结构如图3.1所示。,3.1.1 窗体的结构,图3.1 窗体的结构,3.1.1 窗体的结构,在创建Windows应用程序时,Visual Studio 2008会将窗体文件命名为Form1.cs,建议编程人员将其改为能够描述程序用途的名称。 在【解决方案资源管理器】中选择Form1.cs,在【属性窗口】中

3、显示出相应文件属性,双击“文件名”属性框的右侧区域,输入新的文件名,如图3.2所示。也可以直接在【解决方案资源管理器】中右击Form1.cs,在弹出的快捷菜单选择“重命名”,输入新的文件名即可。 提示:将应用程序的窗体文件名改为能够描述程序用途的名称,是一个良好的编程习惯。,3.1. 2 窗体的属性,窗体有一些表现其特征的属性,可以通过设置这些属性控制窗体的外观。窗体的主要属性如表3-1所示。 属性值的设置有两种方式:一种是在设计程序时,通过属性窗口实现;一种是在运行程序时,通过代码实现。 通过代码设置属性的一般格式是: 对象名.属性名 = 属性值;,3.1. 3 窗体的方法,窗体具有一些方法

4、,调用这些方法可以实现特定的操作。窗体常用的方法如表3-2所示。,3.1. 3 窗体的方法,关闭窗体与隐藏窗体的区别在于:关闭窗体是将窗体彻底销毁,之后无法对窗体进行任何操作;隐藏窗体只是使窗体不显示,可以使用Show或ShowDialog方法使窗体重新显示。 模式窗体与非模式窗体的区别在于:模式窗体,在其关闭或隐藏前无法切换到该应用程序的其他窗体;非模式窗体,则可以在窗体之间随意切换。 调用方法的一般格式为:对象名.方法名(参数列表)。如果要对调用语句所在的窗体调用方法,则用this关键字(表示当前类的对象)代替对象名,即: this.方法名(参数列表); 在面向对象的程序设计中,还有一种特

5、殊的的方法叫静态方法,这种类型的方法通过类名调用。调用的一般格式为: 类名.静态方法名(参数列表);,3.1. 4 窗体的事件,窗体作为对象,能够执行方法并对事件做出响应。窗体的常用事件,如表3-3所示。,3.1. 4 窗体的事件,如果要为窗体对象添加事件处理程序,首先在设计器窗口选中窗体对象,然后在属性窗口的事件列表中找到相应的事件并双击它,即可在代码窗口看到该窗体的事件处理程序。以Form1的Load事件为例,其事件处理程序的格式为: private void Form1_Load(object sender, EventArgs e) / 程序代码 其中,Form1_Load是事件处理程

6、序的名称,所有对象的事件处理程序默认名称都是“对象名_事件名”;所有对象的事件处理程序都具有sender和e两个参数,参数sender代表事件的源,参数e代表与事件相关的数据。,3.1. 5 创建应用程序的操作界面,应用程序的操作界面由各个对象组成,创建操作界面就是在窗体上绘制代表各个对象的控件。 1. 添加控件 2. 选择控件 3. 调整控件的尺寸和位置 4. 对控件进行布局 5. 设置所有控件的Tab键顺序索引 6. 锁定所有控件,3.1. 5 创建应用程序的操作界面,1. 添加控件 向窗体中添加一个控件的步骤如下(以按钮为例): (1) 单击【工具箱】中的“公共控件”选项卡,出现各种控件

7、。 (2) 将鼠标移到Button控件上单击,然后移到中间的窗体,这时会看到鼠标指针变成十字线的形状。 (3) 将十字线放在窗体的适当位置,单击窗体并按住左键不放,拖动鼠标画出一个矩形。 (4) 松开左键,会看到一个Button控件被创建在窗体上。 提示:向窗体中添加控件的另一个简单方法,是双击工具箱中的控件。这样会在窗体的默认位置创建一个具有默认尺寸的控件,然后可以将该控件移到窗体中的其他位置。,3.1. 5 创建应用程序的操作界面,2. 选择控件 一个窗体上通常有多个控件,可以一次选择一个或多个控件。 如果要选择一个控件,用鼠标在该控件上单击,即可选中该控件。 如果要选择多个控件,常用的方

8、法有两种。一种方法是先选择第一个控件,然后按下Shift键(或Ctrl键)不放,用鼠标依次单击要选择的其他控件,选择完毕后松开鼠标即可;另一种方法是在窗体的空白位置,单击窗体并按住左键不放,拖动鼠标画出一个矩形,然后松开鼠标,则该矩形区域内的控件都会被选中。 如果要撤销被选择的多个控件中的某个控件,只需按住Shift(或Ctrl键)不放,用鼠标单击要撤销选择的被选择控件。,3.1. 5 创建应用程序的操作界面,3. 调整控件的尺寸和位置 调整控件的尺寸和位置,可以通过设置控件的相应属性来实现。但在要求的精确度不高的情况下,最快捷的方法是在窗体设计器中直接用鼠标调整控件的尺寸和位置。 用鼠标调整

9、控件尺寸的步骤如下: (1) 用鼠标单击需要调整尺寸的控件,选定的控件上出现8个尺寸手柄。 (2) 将鼠标指针定位到尺寸手柄上,当鼠标变为双向箭头时按下鼠标左键,拖动该尺寸手柄直到控件达到所希望的大小为止。控件角上的4个尺寸手柄可以同时调整控件水平和垂直方向的大小,而边上的4个尺寸手柄调整控件一个方向的大小。 (3) 松开鼠标左键。 提示:也可按Shift键加上箭头键,来调整选定控件的尺寸。,3.1. 5 创建应用程序的操作界面,3. 调整控件的尺寸和位置 用鼠标调整控件位置的步骤如下: (1) 将鼠标指向要移动的控件,当鼠标变为十字箭头时,按下鼠标左键不放。 (2) 用鼠标把该控件拖动到新位

10、置。 (3) 松开鼠标左键。 提示:也可以通过键盘来调整选定控件的位置。每按一次箭头键,控件移动一个像素;如果按Ctrl键加上箭头键,控件每次移动一定的距离(多个像素),来与其它控件对齐。,3.1. 5 创建应用程序的操作界面,4. 对控件进行布局 对控件进行布局,可以通过【格式】菜单或工具栏实现。如果格式工具栏没有显示,可以通过【视图】菜单下的“工具栏|布局”命令来显示格式工具栏。格式工具栏如图3.4所示。 图3.4 格式工具栏 布局的内容包括对齐、大小、间距、叠放次序等。当多个控件被同时选中时,控件的所有布局功能都可用;只有一个控件被选中时,只有少数布局功能可用。,3.1. 5 创建应用程

11、序的操作界面,5. 设置所有控件的Tab键顺序索引 Tab键顺序是指当用户按下Tab键时,焦点在控件间移动的顺序。每个窗体都有自己的Tab键顺序,每个控件在窗体上也都有唯一的Tab键顺序索引。默认状态下,控件在窗体上的Tab键顺序索引与建立控件的顺序一致。如果要设置窗体上控件的Tab键顺序索引,可以分别对每个控件设置其TabIndex属性,也可以集中设置所有控件的Tab键顺序索引。,3.1. 5 创建应用程序的操作界面,要集中设置所有控件的Tab键顺序索引,可以选择菜单【视图|Tab键顺序】命令。如果需要改变多个控件的Tab键顺序索引,按照想设置的顺序依次单击各个控件。【Tab键顺序】命令是一

12、个切换命令,因此设置好所有控件的Tab键顺序索引之后,再次选择【Tab键顺序】命令即可结束Tab键顺序索引的设置。,3.1. 5 创建应用程序的操作界面,6. 锁定所有控件 可以把窗体及该窗体上的所有控件进行锁定,锁定之后,窗体的尺寸及控件的位置和尺寸就无法通过鼠标或键盘操作来改变。锁定控件可以防止已处于理想位置的控件因为不小心而被移动。 如果要进行锁定操作,在窗体编辑区的任意位置右击,从弹出的快捷菜单中选择【锁定控件】命令即可。本操作只锁定选定窗体上的全部控件,不影响其他窗体上的控件。 如果要调整锁定控件的位置和尺寸,可以在【属性】窗口中改变控件的Location和Size属性。【锁定控件】

13、命令是一个切换命令,因此,再次选择【锁定控件】命令即可解除锁定。,3.2 几种常用控件,最常用的基本控件标签、链接标签、文本框、按钮 3.2.1 标签Label Label(标签)控件的功能是显示不能编辑的文本信息,一般用于在窗体上进行文字说明。 标签有Name(名称)、AutoSize(自动尺寸)、BackColor(背景色)、BorderStyle(边框)、Enabled(可用)、Font(字体)、ForeColor(前景色)、Image(图像)、Location(位置)、Locked(锁定)、Size(尺寸)、Text(文本)、TextAlign(文本排列)、Visible(可见)等属性

14、。,3.2.1 标签Label,1. 设置标签的名称 任何对象都有名称,Name属性指示代码中用来表示对象的名称。要设置Label控件的名称,首先选择Label控件,然后在【属性】窗口中设置Name属性为某个标识符即可。 例如,有一个要显示“学生姓名”文本的标签,可以设置其Name属性为lblStuName。 2. 设置标签的文本 在Label中显示文本,使用Text属性。首先要选择Label控件,然后在属性窗口中设置该属性为某个字符串即可。 Label控件中的文本默认的排列方式为靠上左对齐,通过设置TextAlign属性可以改变排列方式。TextAlign属性值是ContentAlignme

15、nt枚举类型,共有9个枚举值,默认值是TopLeft。如果设置TextAlign为TopCenter,则靠上居中。,3.2.1 标签Label,3. 设置标签的图像 Image属性用来设置在标签上显示的图像。当在属性窗口中设置该属性时,单击该属性条,右端出现“”按钮后单击它,会打开【选择资源】对话框,如图3.5所示。,3.2.1 标签Label,3. 设置标签的图像 提示: 如果选择“本地资源”,程序运行时从指定位置的图像文件加载图像;如果选择“项目资源文件”,导入的图像文件会被复制到项目文件夹中的Resources文件夹下,程序运行时从Resources文件夹下的图像文件加载图像。 如果在运

16、行时设置Image属性,可以使用Image类的静态方法FromFile,格式如下: 对象名.Image = Image.FromFile(“图像文件的路径及名称“);,3.2.1 标签Label,4. 自动调整标签大小 AutoSize(自动尺寸)属性决定标签文本能否根据文本大小自动调整标签大小。 如果Label控件的AutoSize属性设置为True,则可根据Text属性指定文本自动调整标签的大小。 如果AutoSize属性设置为False,则标签将保持设计时定义的大小,在这种情况下,如果文本太长,则只能显示其中的一部分。当文本超过Label控件的宽度时,文本会自动换行,但在超过控件的高度时

17、,超出的部分将无法显示出来。,3.2.1 标签Label,5. 标签的其他属性 描述Label控件的边框的属性是BorderStyle,默认值为None(无边框)。如果将该属性设成FixedSingle,那么Label控件就有了一个黑色边框;如果将该属性设成Fixed3D,那么Label控件就有了一个立体边框。 决定Label控件是否可见的属性是Visible,默认值为True(可见)。如果设成False,那么Label控件将被隐藏。 还可以通过设置Label控件的BackColor(背景色)、ForeColor(前景色)、Font(字体)等属性来改变Label控件的其他外观;通过设置Loca

18、tion(位置)、Locked(锁定)、Size(尺寸)等属性来影响Label控件的位置和尺寸。 提示:Label控件不接受焦点。,3.2.2 链接标签LinkLabel,LinkLabel(链接标签)控件的功能是显示带链接的文本信息,可以链接到对象(如其他窗体、本机文件)或网页。 利用LinkLabel 控件,可以向Windows窗体应用程序添加Web样式的链接。 LinkLabel不仅具有Label 控件的所有属性,而且还有针对超链接和链接颜色的独特属性。,3.2.2 链接标签LinkLabel,1. 设置链接文本 在LinkLabel控件中显示文本,使用Text属性。设置好Text属性之

19、后,所有文本都属于链接的范围。如果要将文本的一部分设置为指向某个对象或网页的链接,还需要设置LinkArea属性。 LinkArea属性用于获取或设置激活链接的文本区域(即文本中视为链接的范围)。该属性值是用包含两个数字的LinkArea对象表示的,这两个数字分别表示起始字符位置和字符数目。在属性窗口中,该属性值可以从键盘输入,也可以单击属性值右侧的小按钮,在弹出的LinkArea编辑器中选择要进行链接的文本范围。,3.2.2 链接标签LinkLabel,2. 设置链接颜色 与LinkLabel的颜色相关的属性有三个,分别是LinkColor、ActiveLinkColor 和VisitedL

20、inkColor。 LinkColor属性,获取或设置显示普通链接使用的颜色。 ActiveLinkColor属性,获取或设置显示活动链接(如单击鼠标时)的颜色。 VisitedLinkColor属性,获取或设置显示被访问过的链接所使用的颜色。,3.2.2 链接标签LinkLabel,3. 设置链接行为 LinkBehavior属性,获取或设置一个表示链接行为的值。利用该属性,可以指定链接在LinkLabel中显示时的行为。 LinkBehavior属性值为LinkBehavior枚举类型,共有四个成员,如表3-4所示,默认值为SystemDefault。,3.2.2 链接标签LinkLabe

21、l,4LinkClicked事件 LinkClicked事件是LinkLabel控件的主要事件,当单击LinkLabel控件内的链接文本时触发。 在窗体上双击LinkLabel控件,将在代码中添加LinkClicked事件处理程序的框架,然后在框架内部添加相应代码即可。 提示:窗体或控件的大多数事件处理程序,都可以通过【属性】窗口添加。在【属性】窗口中单击“事件”按钮来切换到事件列表,然后双击相应的事件名,即可在代码中添加事件处理程序的框架。 【例3-1】 标签与链接标签的简单应用。,3.2.3 文本框TextBox,TextBox(文本框)控件是程序界面上的主要输入对象,有时也用于输出。其主

22、要功能是接受用户输入的信息,或显示系统提供的文本信息。在程序运行时,用户可以在文本框中编辑文本。 文本框具有标签的大多属性,如Name、BackColor、BorderStyle、Enabled、Font、ForeColor、Location、Locked、Size、Text、TextAlign、Visible等属性。 文本框还有一些自己特有的属性,如MaxLength(最大长度)、Multiline(多行)、PasswordChar(密码字符)、ReadOnly(只读)、ScrollBars(滚动条)、SelectedText(选定的文本)、SelectionStart(选择起始点)、Sel

23、ectionLength(选择长度)、TextLength(文本长度)、WordWrap(文本换行)等。,3.2.3 文本框TextBox,1设计时设置文本框的文本 在TextBox控件中显示文本,使用Text属性。TextBox在默认情况下只显示单行文本,且不显示滚动条。如果文本长度超过可用空间,则只能显示部分文本。 通过设置MultiLine、WordWrap和ScrollBars三个属性,可以改变TextBox的外观和行为。 把MultiLine属性设为True,可以使TextBox在运行时接受或显示多行文本。 WordWrap属性的默认值为True,即允许自动换行。只要没有水平方向滚动

24、条,TextBox中的多行文本会自动按字换行。,3.2.3 文本框TextBox,1设计时设置文本框的文本 ScrollBars属性的默认值为None(无滚动条),还有Horizontal(水平)、Vertical(竖直)、Both(两者)三个可取值。如果要显示水平滚动条,除了将ScrollBars属性值设置为Horizontal,还需要将WordWrap属性值设置为False。 自动换行省去了用户在行尾插入换行符的麻烦,当一行文本已超过所能显示的长度时,TextBox自动将文本折回到下一行显示。如果用户因为特殊要求必须使用换行符,在设置Text属性时,在属性值处不能直接输入换行符,而需要单击

25、属性值右侧的下拉箭头,然后在下拉列表框中适当的位置输入换行符。,3.2.3 文本框TextBox,2运行时设置文本框的文本 当一个TextBox首次得到焦点时,TextBox的所有文本默认是选中的。用户可以用键盘和鼠标移动插入点,当TextBox失去焦点而后再得到时,插入点位置与用户最后设置的位置一样。在某些情况下,可能用户有特殊要求,例如:有时希望新字符出现在已有文本后面,有时希望新的输入替换原有文本。 利用TextBox的SelectionStart、SelectionLength和SelectedText属性,可以控制TextBox的插入点和选择行为。这三个属性不能通过属性窗口设置,只能

26、通过代码访问。 SelectionStart属性是一个数字,代表选择文本的起始点,即TextBox文本内的插入点,其中值0表示最左边的位置。如果其值大于或等于文本中的字符数,那么插入点将被放在最后一个字符之后。,3.2.3 文本框TextBox,2运行时设置文本框的文本 SelectionLength属性是一个设置插入点宽度的数值,用于指示选择文本的长度。把SelectionLength设为大于0的值,会选中并突出显示从当前插入点开始的SelectionLength个字符。如果有一段文本被选中,此时用户键入的文字将替换被选中的文本。 SelectedText属性用于指示选定的文本。可以在运行时

27、通过该属性来获取当前选定的文本,也可以给该属性赋值以替换当前选中的文本。如果没有选中的文本,给SelectedText属性赋值将在当前插入点插入文本。,3.2.3 文本框TextBox,3密码文本框 密码框是文本框常用的一种特殊形式,它允许在用户输入密码的同时显示星号(*)之类的占位符。利用文本框的PasswordChar和MaxLength属性,可以实现密码框的功能。 PasswordChar属性用于指定显示在文本框中的字符。例如,若希望在密码框中显示星号,则可在【属性】窗口中将PasswordChar属性指定为“*”,这样无论用户输入什么字符,文本框中都显示星号。 MaxLength属性用

28、于指定允许在文本框中输入的最大字符数。如果输入的字符数超过MaxLength指定的值,系统不接受多出的字符并发出嘟嘟声。,3.2.3 文本框TextBox,4只读文本框 只读文本框不允许用户进行编辑操作,从而可以防止用户更改文本框内容。ReadOnly属性可以实现只读文本框的功能,只需将该属性值设置为True即可。 此时,用户可滚动文本框中的文本并将其突出显示,但不能作任何更改。 ReadOnly属性只影响程序运行时的用户交互,在运行时仍然可以通过代码更改文本框的内容。,3.2.3 文本框TextBox,5文本框的常用方法 文本框的大多数方法都是用来进行文本操作,常用的方法有:AppendTe

29、xt(追加文本)、Clear(清除所有文本)、Copy(复制选定文本)、Cut(剪切选定文本)、Paste(粘贴指定文本)、Select(选择指定范围的文本)、SelectAll(全选)等。,3.2.3 文本框TextBox,6文本框的常用事件 文本框可以识别多个事件,常用的事件有:TextChanged(文本更改)、KeyDown(按下键)、KeyUp(释放键)、KeyPress(按下并释放键)、MouseDown(按下鼠标按钮)、MouseUp(释放鼠标按钮)、MouseMove(鼠标指针移过)等。 提示:在窗体上双击TextBox控件,将在代码中添加TextChanged事件处理程序的框

30、架,然后在框架内部添加相应代码即可。,3.2.4 按钮Button,Button(按钮)控件是应用程序中使用最多的控件对象之一,常用来接收用户的操作信息,激发相应的事件。 按钮具有标签的大多属性,如Name(名称)、AutoSize(自动尺寸)、BackColor(背景色)、Enabled(可用)、Font(字体)、ForeColor(前景色)、Image(图像)、Location(位置)、Locked(锁定)、Size(尺寸)、Text(文本)、TextAlign(文本排列)、Visible(可见)等属性。 按钮还有一些自己特有的属性,如BackgroundImage(背景图像)、FlatS

31、tyle(样式)等。,3.2.4 按钮Button,1创建键盘快捷方式 Text属性可以用来设置按钮上显示的文本,同时也可以用来创建按钮的访问键快捷方式。 要为按钮创建访问键快捷方式,只需在作为访问键的字母前添加一个“&”符号。例如,要为按钮的文本“OK”创建访问键“O”,应在字母“O”前添加连字符,即将按钮的Text属性设置为“&OK”。此时,字母“O”将带下划线,程序运行时按键就相当于用鼠标单击按钮。,3.2.4 按钮Button,2Click事件 当用户用鼠标单击按钮时,将触发按钮的Click事件,这也是按钮最常响应的事件。 用鼠标单击按钮的过程中,还会触发一系列的事件,如果要在这些相关

32、事件中附加事件处理程序,则应确保操作不发生冲突。单击按钮过程中,按钮相关事件发生的顺序为: MouseEnter、MouseMove、MouseDown、Click、MouseUp、MouseMove、MouseLeave。 提示:在窗体上双击Button控件,将在代码中添加Click事件处理程序的框架,然后在框架内部添加相应代码即可。,3.2.4 按钮Button,3增强按钮的视觉效果 可以通过设置Image属性给Button控件添加图标以增强视觉效果,然后设置ImageAlign属性来指定显示图标的位置。 也可以通过设置BackgroundImage属性给Button控件添加背景图像以增强

33、视觉效果,然后设置BackgroundImageLayout属性来指定背景图像的布局。 【例3-2】 文本框与按钮的简单应用。,3.2.5 控件的命名规则,窗体和控件都有自己的名称,可以通过Name属性进行命名。为了提高控件名称的可读性,建议在为控件命名时,在控件名称前面加上控件的类型名称缩写作为前缀,例如窗体(frm)、标签(1b1)、按钮(btn)等。 紧跟在3个小写字母后面的则是该控件名称的命名,第一个字母建议大写,其他的使用小写;若有多个单词组成对象名称,则建议每个单词的首字母都采用大写。例如,有一个要显示“学生姓名”文本的Label控件,其命名如图3.9所示。,3.2.5 控件的命名规则,图3.9 控件命名 表3-7列出了常用控件名的前缀约定。,3.3 本章小结,本章主要介绍了Windows窗体和Label、LinkLabel、TextBox、Button几种常用控件,重点内容如下: Windows窗体的结构。 Windows窗体的常用属性、方法与事件。 创建应用程序的操作界面。 Label、LinkLabel、TextBox和Button控件的使用。 控件的命名规则。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1