《第三章 GUI程序设计.ppt》由会员分享,可在线阅读,更多相关《第三章 GUI程序设计.ppt(63页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C#程序设计与案例教程 清华大学出版社 第三章第三章 GUI程序设计程序设计GUI(Graphics User Interface),即图形用户界面,是指用图形的方式实现人与计算机之间的交互。1 1版权所有版权所有C#程序设计与案例教程 清华大学出版社 目录lGUI程序设计方法l窗体l对话框l标签、文本框和按钮l菜单和多文档界面l工具栏和状态栏l单选钮、复选钮、组和面板l列表框、组合框和复选列表框2 2版权所有版权所有C#程序设计与案例教程 清华大学出版社 3.1 GUI程序设计方法程序设计方法3.1.1 GUI3.1.1 GUI程序模型程序模型3 3版权所有版权所有C#程序设计与案例教程 清
2、华大学出版社 3.1.2 建立GUI应用程序的一般步骤 利用利用C#C#编写编写GUIGUI应用程序的一般步骤:应用程序的一般步骤:(1 1)建立)建立“WindowsWindows应用程序应用程序”项目项目(2 2)设计应用程序界面)设计应用程序界面(3 3)设置窗口和控件的属性)设置窗口和控件的属性 (4 4)编写事件方法代码)编写事件方法代码 4 4版权所有版权所有C#程序设计与案例教程 清华大学出版社 3.1.3 3.1.3 控件的基本属性控件的基本属性下面介绍的一些属性是多数控件都具有的属性:下面介绍的一些属性是多数控件都具有的属性:(1 1)NameName:用来获取或设置控件的名
3、称。名称是控件:用来获取或设置控件的名称。名称是控件的标识。的标识。(2 2)TextText:用来获取或设置控件的标题文字。:用来获取或设置控件的标题文字。(3 3)WidthWidth和和HeightHeight:用来获取或设置控件的大小。:用来获取或设置控件的大小。(4 4)LeftLeft和和TopTop:用来获取或设置控件的位置。:用来获取或设置控件的位置。(5 5)VisibleVisible:用来获取或设置控件是否可见。取值为:用来获取或设置控件是否可见。取值为truetrue或或falsefalse。(6 6)EnabledEnabled:用来获取或设置控件是否对响应交互。:用
4、来获取或设置控件是否对响应交互。取值为取值为truetrue或或falsefalse。(7 7)ForeColorForeColor:用来获取或设置控件的前景色。:用来获取或设置控件的前景色。(8 8)BackColorBackColor:用来获取或设置控件的背景色。:用来获取或设置控件的背景色。5 5版权所有版权所有C#程序设计与案例教程 清华大学出版社 (9 9)FontFont:用来获取或设置控件的字体。:用来获取或设置控件的字体。(1010)BorderStyleBorderStyle:用来获取或设置控件的边框。:用来获取或设置控件的边框。(1111)AutoSizeAutoSize:
5、用来获取或设置控件是否自动调整大:用来获取或设置控件是否自动调整大小。取值为小。取值为truetrue或或falsefalse。(1212)AnchorAnchor:获取或设置控件的哪些边缘锚定到其容:获取或设置控件的哪些边缘锚定到其容器边缘。器边缘。(1313)DockDock:获取或设置控件停靠到父容器的哪一个边:获取或设置控件停靠到父容器的哪一个边缘。缘。(1414)TabIndexTabIndex:用来获取或设置控件的:用来获取或设置控件的TabTab键顺序。键顺序。(1515)TextAlignTextAlign:用来确定文本对齐方式。:用来确定文本对齐方式。(1616)Cursor
6、Cursor:用来获取或设置鼠标移到控件上时,被:用来获取或设置鼠标移到控件上时,被显示的鼠标指针的类型。显示的鼠标指针的类型。6 6版权所有版权所有C#程序设计与案例教程 清华大学出版社 【案例案例案例案例3-13-1】图片的显示和隐藏。图片的显示和隐藏。在窗体上放置一个图片框、一个在窗体上放置一个图片框、一个“显示显示”按钮和一个按钮和一个“隐藏隐藏”按按钮。开始运行时,图片不可见,钮。开始运行时,图片不可见,“显示显示“按钮可用,按钮可用,“隐藏隐藏”按按钮不可用。单击钮不可用。单击“显示显示”按钮后,按钮后,图片显示出来,图片显示出来,“显示显示”按钮变按钮变成不可用,而成不可用,而“
7、隐藏隐藏”按钮变成按钮变成可用。可用。7 7版权所有版权所有C#程序设计与案例教程 清华大学出版社 3.1.4 事件和事件处理1 1事件处理模型事件处理模型事件处理模型事件处理模型 在在C#C#中,中,WindowsWindows窗体应用程序中的事件处窗体应用程序中的事件处理是通过委托来实现的。在理是通过委托来实现的。在.NET.NET框架中,框架中,DelegateDelegate类用于生成事件处理机制。一个委托类用于生成事件处理机制。一个委托由对对象的引用以及对该对象内部一个或多个由对对象的引用以及对该对象内部一个或多个方法的引用组成的。在委托事件模型中,方法的引用组成的。在委托事件模型中
8、,“委委托托”实际上是将事件和处理事件的方法绑定到实际上是将事件和处理事件的方法绑定到一起。委托可以将一个事件绑定到单个方法或一起。委托可以将一个事件绑定到单个方法或多个方法;也允许将多个事件绑定到一个方法。多个方法;也允许将多个事件绑定到一个方法。8 8版权所有版权所有C#程序设计与案例教程 清华大学出版社 事件处理程序是绑定到事件的方法。当引发事件事件处理程序是绑定到事件的方法。当引发事件时,执行事件处理程序内的代码。每个事件处理时,执行事件处理程序内的代码。每个事件处理程序提供两个使您得以正确处理事件的参数。如程序提供两个使您得以正确处理事件的参数。如下为下为Button Button
9、控件的控件的 Click Click 事件的事件处理程序:事件的事件处理程序:private void button1_Clicked(object private void button1_Clicked(object sender,System.EventArgssender,System.EventArgs e)e)第一个参数第一个参数 sender sender 提供对引发事件的对象的引提供对引发事件的对象的引用。第二个参数用。第二个参数e e传递针对要处理的事件的对象。传递针对要处理的事件的对象。通过引用对象的属性(有时引用其方法)可获得通过引用对象的属性(有时引用其方法)可获得一些
10、信息,如鼠标事件中鼠标的位置或拖放事件一些信息,如鼠标事件中鼠标的位置或拖放事件中传输的数据。中传输的数据。9 9版权所有版权所有C#程序设计与案例教程 清华大学出版社 2键盘事件键盘事件 当用户对键盘进行操作时,系统会产生相应的当用户对键盘进行操作时,系统会产生相应的键盘事件。当用户按下某个键时,就会发生键盘事件。当用户按下某个键时,就会发生KeyDownKeyDown事件,随后便发生事件,随后便发生KeyPressKeyPress事件。事件。而当用户释放某个键时,发生而当用户释放某个键时,发生KeyUpKeyUp事件。当事件。当用户按住某个键不放时,用户按住某个键不放时,KeyDownKe
11、yDown和和KeyPressKeyPress事件会不停地重复触发。表事件会不停地重复触发。表3-23-2列出列出了这些键盘事件的含义与说明。了这些键盘事件的含义与说明。1010版权所有版权所有C#程序设计与案例教程 清华大学出版社 1111版权所有版权所有C#程序设计与案例教程 清华大学出版社 3鼠标事件鼠标事件n n鼠标是一种定位输入设备,通常有两个或三个鼠标是一种定位输入设备,通常有两个或三个按钮(左、中和右按钮),还可能有滚轮。它按钮(左、中和右按钮),还可能有滚轮。它的基本操作方式主要有:单击、双击和滚动。的基本操作方式主要有:单击、双击和滚动。1212版权所有版权所有C#程序设计与
12、案例教程 清华大学出版社 1313版权所有版权所有C#程序设计与案例教程 清华大学出版社 【案例案例案例案例3-23-2】利用鼠标和键盘控制图片显示。利用鼠标和键盘控制图片显示。n n窗体上用图片框显示一张图片。当在图片框上单击鼠窗体上用图片框显示一张图片。当在图片框上单击鼠标左键时图片放大标左键时图片放大10%10%,单击鼠标右键时图片缩小,单击鼠标右键时图片缩小10%10%。若转动滚轮,则图片根据前后方向垂直移动,。若转动滚轮,则图片根据前后方向垂直移动,移动步长为移动步长为1212。鼠标在图片框上移动时,窗体标题显。鼠标在图片框上移动时,窗体标题显示当前位置坐标,鼠标在图片框上悬停时,显
13、示提示示当前位置坐标,鼠标在图片框上悬停时,显示提示信息信息“单击左键放大图片单击左键放大图片,单击右键缩小图片单击右键缩小图片,用光标用光标移动图片移动图片”。鼠标离开图片框时,显示。鼠标离开图片框时,显示“利用鼠标和利用鼠标和键盘控制图片显示键盘控制图片显示”。按下各方向键时,图片按相应。按下各方向键时,图片按相应的方向移动;当按的方向移动;当按ESCESC键时,窗体关闭,退出程序;键时,窗体关闭,退出程序;当按下其他键时,在窗体标题上显示所按的键的名称。当按下其他键时,在窗体标题上显示所按的键的名称。1414版权所有版权所有C#程序设计与案例教程 清华大学出版社 1515版权所有版权所有
14、C#程序设计与案例教程 清华大学出版社 3.2 窗体 3.2.1 窗体的创建n n 创建窗体可以有两种方法:一种是手动创建,创建窗体可以有两种方法:一种是手动创建,即直接编写代码,一种是用项目模板来创建。即直接编写代码,一种是用项目模板来创建。无论怎样创建,都要用到无论怎样创建,都要用到.NET.NET框架的框架的System.Windows.FormsSystem.Windows.Forms命名空间和命名空间和System.Windows.Forms.FormSystem.Windows.Forms.Form类。类。1616版权所有版权所有C#程序设计与案例教程 清华大学出版社 3.2.2
15、3.2.2 窗体的属性和方法窗体的属性和方法 窗体的属性决定了窗体的外观和操作。下面是窗体的一些主窗体的属性决定了窗体的外观和操作。下面是窗体的一些主要属性:要属性:(1 1)TextText:用来指定窗体的标题内容。:用来指定窗体的标题内容。(2 2)SizeSize和和StartPositionStartPosition:用来指定窗体显示的大小和位置。:用来指定窗体显示的大小和位置。(3 3)ForeColorForeColor:用来更改窗体内所有控件默认前景色。:用来更改窗体内所有控件默认前景色。(4 4)FormBorderStyleFormBorderStyle:用来指定窗体的边框类
16、型。:用来指定窗体的边框类型。(5 5)MinimizeBoxMinimizeBox和和MaximinzeBoxMaximinzeBox:指定窗体是否显示最小化、最大:指定窗体是否显示最小化、最大化按钮。化按钮。(6 6)TopMostTopMost:用来指定窗体是否应显示为应用程序的最顶层窗体。:用来指定窗体是否应显示为应用程序的最顶层窗体。(7 7)WindowStateWindowState:用来指定窗体运行时的状态。:用来指定窗体运行时的状态。(8 8)OpacityOpacity:用来指定窗体的不透明度级别(:用来指定窗体的不透明度级别(0.00.01.01.0)。)。(9 9)Ic
17、onIcon:用来指定窗体的图标。:用来指定窗体的图标。1717版权所有版权所有C#程序设计与案例教程 清华大学出版社 窗体的常用方法有:窗体的常用方法有:(1 1)AcitvateAcitvate()():激活窗体使其获得焦点。:激活窗体使其获得焦点。(2 2)BringToFrontBringToFront()()和和SendToBackSendToBack()():将某个窗体置于:将某个窗体置于Z Z顺序的前面顺序的前面(或后面)。(或后面)。(3 3)Close()Close():关闭窗体。:关闭窗体。(4 4)Contains()Contains():判断指定控件是否为窗体的子控件。
18、:判断指定控件是否为窗体的子控件。(5 5)GetChildAtPointGetChildAtPoint()():检索位于指定位置处的子控件。:检索位于指定位置处的子控件。(6 6)GetNextControlGetNextControl()():按照窗体上子控件的:按照窗体上子控件的TabTab顺序向前或向后检顺序向前或向后检索下一个控件。索下一个控件。(7 7)Hide()Hide():隐藏窗体。:隐藏窗体。(8 8)InvalidatInvalidat()():使窗体的特定区域无效并发送重新绘制消息。:使窗体的特定区域无效并发送重新绘制消息。(9 9)Refresh()Refresh()
19、:强制控件使其工作区无效并立既重绘自己和任何子:强制控件使其工作区无效并立既重绘自己和任何子控件。控件。(1010)ResetXXXResetXXX()():将:将XXXXXX属性重置为其默认值。(属性重置为其默认值。(1111)Show()Show()和和ShowDialogShowDialog()():Show()Show()和和ShowDialogShowDialog()()都可以用来显示窗体。都可以用来显示窗体。1818版权所有版权所有C#程序设计与案例教程 清华大学出版社 【案例案例3-3】启动界面。n n本案例建立一个启动界面程序,运行效果如图本案例建立一个启动界面程序,运行效果如
20、图3-43-4所示。当程序运行时,启动界面显示一幅图所示。当程序运行时,启动界面显示一幅图片,进度条自动开始走动,图片随进度条的走片,进度条自动开始走动,图片随进度条的走动渐渐显示清晰,进度条到头时,关闭该窗口,动渐渐显示清晰,进度条到头时,关闭该窗口,进入主窗口,进入主窗口,1919版权所有版权所有C#程序设计与案例教程 清华大学出版社 2020版权所有版权所有C#程序设计与案例教程 清华大学出版社 3.3 对话框对话框n n对话框是一种简单的窗口,主要用于向用户显对话框是一种简单的窗口,主要用于向用户显示提示信息或接受用户输入的信息。在示提示信息或接受用户输入的信息。在C#C#提供提供了一
21、些标准的对话框供用户使用。对话框与窗了一些标准的对话框供用户使用。对话框与窗口的不同,主要是对话框可以处于模态状态。口的不同,主要是对话框可以处于模态状态。处于模态的对话框,要求用户必须作出响应,处于模态的对话框,要求用户必须作出响应,否则无法激活其他窗口。否则无法激活其他窗口。2121版权所有版权所有C#程序设计与案例教程 清华大学出版社 3.3.1 消息对话框n n消息对话框是最简单的一类对话框,用来显示消息对话框是最简单的一类对话框,用来显示一些提示、警告等信息。在一些提示、警告等信息。在.NET.NET框架中,使用框架中,使用MessageBoxMessageBox类来封装消息对话框,
22、但它不能类来封装消息对话框,但它不能创建创建MessageBoxMessageBox实例,而只能调用其静态成实例,而只能调用其静态成员方法员方法ShowShow显示消息对话框显示消息对话框 。2222版权所有版权所有C#程序设计与案例教程 清华大学出版社 例如,下面代码运行结果如图所示。MessageBox.Show(你喜欢Visual C#.NET吗?);2323版权所有版权所有C#程序设计与案例教程 清华大学出版社 例如下面的代码,其运行结果如图所示。例如下面的代码,其运行结果如图所示。if(if(DialogResult.YesDialogResult.Yes=MessageBox.Sh
23、owMessageBox.Show(退出吗?退出吗?,提问提问,MessageBoxButtons.YesNoMessageBoxButtons.YesNo,MessageBoxIcon.QuestionMessageBoxIcon.Question,MessageBoxDefaultButton.Button1 MessageBoxDefaultButton.Button1 )Application.ExitApplication.Exit();();2424版权所有版权所有C#程序设计与案例教程 清华大学出版社 3.3.2 通用对话框n n在在WindowsWindows应用程序中,经常进
24、行打开或保存应用程序中,经常进行打开或保存文件、选择颜色或字体、打印文档等操作。文件、选择颜色或字体、打印文档等操作。.NET.NET框架中框架中System.Windows.FormsSystem.Windows.Forms命名空间命名空间中为这些操作提供了一组标准用户界面对话框,中为这些操作提供了一组标准用户界面对话框,它们称为它们称为“通用对话框通用对话框通用对话框通用对话框”,并有相应的通用对,并有相应的通用对话框类支持,它们都是从一个公共的基类话框类支持,它们都是从一个公共的基类System.Windows.Forms.CommonDialogSystem.Windows.Forms
25、.CommonDialog派生派生而来的。而来的。2525版权所有版权所有C#程序设计与案例教程 清华大学出版社 2626版权所有版权所有C#程序设计与案例教程 清华大学出版社 3.3.3 自定义对话框n n用户可以根据自己的需要创建对话框。自定义用户可以根据自己的需要创建对话框。自定义的对话框实际上也是窗体。作为对话框的窗体的对话框实际上也是窗体。作为对话框的窗体在外观上与一般的窗体在外观上是有所区别的,在外观上与一般的窗体在外观上是有所区别的,对话框没有控制菜单及最大化和最小化按钮,对话框没有控制菜单及最大化和最小化按钮,不能改变大小,多以模态方式显示,以防止用不能改变大小,多以模态方式显
26、示,以防止用户在对话框外执行任务。户在对话框外执行任务。2727版权所有版权所有C#程序设计与案例教程 清华大学出版社 3.4 标签、文本框和按钮 3.4.13.4.1 标签标签(LabelLabel).NET.NET框架中框架中LabelLabel类封装了标签控件。标签用于显示用类封装了标签控件。标签用于显示用户不能编辑的文本或图像。户不能编辑的文本或图像。1 1标签的属性标签的属性标签的属性标签的属性(1 1)BackColorBackColor和和和和AutoSizeAutoSize:通过将:通过将:通过将:通过将LabelLabel的的的的BackColorBackColor属性设置为
27、属性设置为属性设置为属性设置为Color.TransparentColor.Transparent,可使该标签成为透明的。,可使该标签成为透明的。,可使该标签成为透明的。,可使该标签成为透明的。使用透明标签时,请只使用当前设备坐标系在容器上绘制,使用透明标签时,请只使用当前设备坐标系在容器上绘制,使用透明标签时,请只使用当前设备坐标系在容器上绘制,使用透明标签时,请只使用当前设备坐标系在容器上绘制,否则就可能无法正确绘制否则就可能无法正确绘制否则就可能无法正确绘制否则就可能无法正确绘制 Label Label 背景。背景。背景。背景。Label Label 控件可为单行或多行,可以为固定大小,
28、也可控件可为单行或多行,可以为固定大小,也可控件可为单行或多行,可以为固定大小,也可控件可为单行或多行,可以为固定大小,也可以自动调整自身大小以适应其标题。以自动调整自身大小以适应其标题。以自动调整自身大小以适应其标题。以自动调整自身大小以适应其标题。AutoSizeAutoSize 属性设为属性设为属性设为属性设为真时,标签自动调整大小以适应较大或较小的标题。如果真时,标签自动调整大小以适应较大或较小的标题。如果真时,标签自动调整大小以适应较大或较小的标题。如果真时,标签自动调整大小以适应较大或较小的标题。如果将将将将 AutoSizeAutoSize 设置为设置为设置为设置为 falsef
29、alse,则,则,则,则 Text Text 属性中指定的文字将属性中指定的文字将属性中指定的文字将属性中指定的文字将切换到下一行(如果可能),但该控件不会增大。切换到下一行(如果可能),但该控件不会增大。切换到下一行(如果可能),但该控件不会增大。切换到下一行(如果可能),但该控件不会增大。2828版权所有版权所有C#程序设计与案例教程 清华大学出版社 (2 2)ImageImage:获取或设置显示在:获取或设置显示在:获取或设置显示在:获取或设置显示在 Label Label 上的图像。上的图像。上的图像。上的图像。(3 3)ImageAlignImageAlign:获取或设置在控件中显示
30、的图像的:获取或设置在控件中显示的图像的:获取或设置在控件中显示的图像的:获取或设置在控件中显示的图像的对齐方式。对齐方式。对齐方式。对齐方式。(4 4)ImageIndexImageIndex:获取或设置在:获取或设置在:获取或设置在:获取或设置在 Label Label 上显示的图像上显示的图像上显示的图像上显示的图像的索引值。的索引值。的索引值。的索引值。(5 5)ImageListImageList:获取或设置包含要在:获取或设置包含要在:获取或设置包含要在:获取或设置包含要在 Label Label 控件中显控件中显控件中显控件中显示的图像的示的图像的示的图像的示的图像的 Image
31、ListImageList。(6 6)UseMnemonicUseMnemonic:获取或设置一个值,该值指示控:获取或设置一个值,该值指示控:获取或设置一个值,该值指示控:获取或设置一个值,该值指示控件是否将控件的件是否将控件的件是否将控件的件是否将控件的 Text Text 属性中的属性中的属性中的属性中的“and”and”符符符符 (&)(&)解释为解释为解释为解释为访问键前缀字符。访问键前缀字符。访问键前缀字符。访问键前缀字符。2929版权所有版权所有C#程序设计与案例教程 清华大学出版社 2 2使用使用使用使用Label Label 控件创建访问键控件创建访问键控件创建访问键控件创建
32、访问键使用使用使用使用LabelLabel控件创建访问键的步骤如下:控件创建访问键的步骤如下:控件创建访问键的步骤如下:控件创建访问键的步骤如下:(1 1)先添加标签和另一个控件。将该标签的)先添加标签和另一个控件。将该标签的)先添加标签和另一个控件。将该标签的)先添加标签和另一个控件。将该标签的TabIndexTabIndex 属属属属性设置为比另一个控件小性设置为比另一个控件小性设置为比另一个控件小性设置为比另一个控件小1 1。(2 2)将该标签的)将该标签的)将该标签的)将该标签的UseMnemonicUseMnemonic 属性设置为属性设置为属性设置为属性设置为 truetrue。(
33、3 3)在该标签的)在该标签的)在该标签的)在该标签的Text Text 属性中使用属性中使用属性中使用属性中使用“and”and”符符符符 (&)(&)为该标为该标为该标为该标签分配访问键。签分配访问键。签分配访问键。签分配访问键。label1.UseMnemonic=true;label1.UseMnemonic=true;label1.Text=&Print;label1.Text=&Print;label2.UseMnemonic=true;label2.UseMnemonic=true;label2.Text=&Copy&Paste;label2.Text=&Copy&Paste;3
34、030版权所有版权所有C#程序设计与案例教程 清华大学出版社 3 3使用标签显示图像使用标签显示图像使用标签显示图像使用标签显示图像 除了显示文本外,除了显示文本外,Label Label 控件还可使用控件还可使用 Image Image 属性显示图像,或使用属性显示图像,或使用 ImageIndexImageIndex 和和 ImageListImageList 属性组合显示图像。属性组合显示图像。3131版权所有版权所有C#程序设计与案例教程 清华大学出版社 3.4.2 3.4.2 文本框文本框 .NET.NET框架中框架中TextBoxTextBox类封装了文本框控件,它是从类封装了文本
35、框控件,它是从TextBoxBaseTextBoxBase类派生的,用于显示或输入文本。类派生的,用于显示或输入文本。(1 1)MultilineMultiline和和ScrollBarsScrollBars:MultilineMultiline获取或设置一个值,获取或设置一个值,该值指示它是否为多行文本框控件。该值指示它是否为多行文本框控件。ScrollBarsScrollBars获取或获取或设置哪些滚动条应出现在多行设置哪些滚动条应出现在多行TextBoxTextBox 控件中。控件中。(2 2)AcceptsTabAcceptsTab 和和 AcceptsReturnAcceptsRet
36、urn :AcceptsReturnAcceptsReturn获获取或设置一个值,该值指示在多行取或设置一个值,该值指示在多行 TextBoxTextBox 控件中按控件中按 ENTER ENTER 键时,是在控件中创建一行新文本还是激活窗键时,是在控件中创建一行新文本还是激活窗体的默认按钮。体的默认按钮。AcceptsTabAcceptsTab 获取或设置一个值,该值获取或设置一个值,该值指示在多行文本框控件中按指示在多行文本框控件中按 TAB TAB 键时,是否在控件中键时,是否在控件中键入一个键入一个 TAB TAB 字符,而不是按选项卡的顺序将焦点移字符,而不是按选项卡的顺序将焦点移动
37、到下一个控件。动到下一个控件。3232版权所有版权所有C#程序设计与案例教程 清华大学出版社 (3 3)MaxLengthMaxLength:获取或设置用户可在文本框:获取或设置用户可在文本框控件中键入或粘贴的最大字符数。控件中键入或粘贴的最大字符数。(4 4)PasswordCharPasswordChar:获取或设置字符,用于屏:获取或设置字符,用于屏蔽单行蔽单行 TextBoxTextBox 控件中的密码字符。控件中的密码字符。(5 5)ReadOnlyReadOnly:获取或设置一个值,该值指示:获取或设置一个值,该值指示文本框中的文本是否为只读。文本框中的文本是否为只读。3333版权
38、所有版权所有C#程序设计与案例教程 清华大学出版社 2 2文本框的基本操作文本框的基本操作文本框的基本操作文本框的基本操作 (1 1)设置焦点)设置焦点 使用使用Focus()Focus()方法。例如:方法。例如:textBox1.Focus();textBox1.Focus();(2 2)选择文本)选择文本 选择文本一般用鼠标或键盘进行操作。如果用代选择文本一般用鼠标或键盘进行操作。如果用代码进行,可以使用文本框的从基类码进行,可以使用文本框的从基类TextBaseBoxTextBaseBox继承的继承的方法方法Select()Select()或或SelectAllSelectAll()()
39、。Select()Select()方法有两个参数分方法有两个参数分别确定要选择文本的起始位置和要选择文本的字符个别确定要选择文本的起始位置和要选择文本的字符个数。也可以利用文本框的属性来选择文本,数。也可以利用文本框的属性来选择文本,SelectionStartSelectionStart、SelectionTextSelectionText、SelectionLengthSelectionLength:3434版权所有版权所有C#程序设计与案例教程 清华大学出版社 (3 3)文本操作)文本操作 添加文本使用添加文本使用AppendTextAppendText()()方法,清除文本使用方法,清
40、除文本使用ClearClear()()方法,撤销文本的上一次操作用方法,撤销文本的上一次操作用Undo()Undo()方法;从文本方法;从文本框的撤销缓冲区中清楚关于最近操作的信息使用框的撤销缓冲区中清楚关于最近操作的信息使用ClearUndoClearUndo()()方法。方法。(4 4)限制文本输入)限制文本输入 要限制某些文本不被输入到要限制某些文本不被输入到 TextBoxTextBox 控件,可以为控件,可以为 KeyDownKeyDown 事件创建一个事件处理程序,以便验证在控件事件创建一个事件处理程序,以便验证在控件中输入的每个字符。也可以通过将中输入的每个字符。也可以通过将 R
41、eadOnlyReadOnly 属性设置属性设置为为 true true 来限制来限制 TextBoxTextBox 控件中的所有数据项输入。控件中的所有数据项输入。(5 5)获取多行文本框文本)获取多行文本框文本 通过通过TextText属性可获得全部文本,不能单独获得某一行文属性可获得全部文本,不能单独获得某一行文本。要获得某一行文本,可使用本。要获得某一行文本,可使用LinesLines属性,属性,LinesLines属性属性是一个字符串数组,它的每一个元素对应多行文本框的是一个字符串数组,它的每一个元素对应多行文本框的一行文本。一行文本。3535版权所有版权所有C#程序设计与案例教程
42、清华大学出版社 3 3文本框的常用事件文本框的常用事件文本框的常用事件文本框的常用事件(1 1)GotFocusGotFocus事件:该事件在文本框接收焦点时发生。事件:该事件在文本框接收焦点时发生。(2 2)LostFocusLostFocus事件:该事件在文本框失去焦点时发生。事件:该事件在文本框失去焦点时发生。(3 3)TextChangedTextChanged事件:文本的事件:文本的TextText属性的值改变时发生。属性的值改变时发生。3636版权所有版权所有C#程序设计与案例教程 清华大学出版社 3.5 菜单和多文档界面 3.5.1 菜单n nWindows Windows 窗体
43、上的菜单是使用窗体上的菜单是使用 MainMenuMainMenu 对对象创建的,该对象是一个象创建的,该对象是一个 MenuItemMenuItem 对象集合。对象集合。可以在设计时向可以在设计时向 Windows Windows 窗体添加菜单,方窗体添加菜单,方法是添加法是添加 MainMenuMainMenu 组件然后使用菜单设计器组件然后使用菜单设计器向其追加菜单项。还可以用编程方法添加菜单,向其追加菜单项。还可以用编程方法添加菜单,方法是向方法是向 Windows Windows 窗体添加一个或多个窗体添加一个或多个 MainMenuMainMenu 对象并向该集合中添加对象并向该集
44、合中添加 MenuItemMenuItem 对象。对象。3737版权所有版权所有C#程序设计与案例教程 清华大学出版社 1 1菜单的主要属性菜单的主要属性菜单的主要属性菜单的主要属性(1 1)MainMenuMainMenu的属性的属性 MenuItemsMenuItems:获取一个值,通过该值指示与菜单关联的:获取一个值,通过该值指示与菜单关联的 MenuItemMenuItem 对象的集合。通过集合类的通用操作方法对象的集合。通过集合类的通用操作方法AddAdd、AddRangeAddRange等可以用来添加菜单项。等可以用来添加菜单项。RightToLeftRightToLeft:获取或
45、设置控件显示的文本是否从右向左:获取或设置控件显示的文本是否从右向左显示。显示。(2 2)MenuItemMenuItem的主要属性的主要属性 CheckedChecked:获取或设置一个值,通过该值指示选中标记:获取或设置一个值,通过该值指示选中标记是否出现在菜单项文本的旁边。是否出现在菜单项文本的旁边。IndexIndex:获取或设置一个值,通过该值指示菜单项在其父:获取或设置一个值,通过该值指示菜单项在其父菜单中的位置。菜单中的位置。IsParentIsParent:获取一个值,通过该值指示菜单项是否包含:获取一个值,通过该值指示菜单项是否包含子菜单项。子菜单项。MenuItemsMen
46、uItems:获取一个值,通过该值指示与菜单关联的:获取一个值,通过该值指示与菜单关联的 MenuItemMenuItem 对象的集合。对象的集合。MergeOrderMergeOrder:获取或设置一个值,通过该值指示菜单项:获取或设置一个值,通过该值指示菜单项与另一个项合并时的相对位置。与另一个项合并时的相对位置。3838版权所有版权所有C#程序设计与案例教程 清华大学出版社 MergeTypeMergeType:获取或设置一个值,通过该值指示该菜单项的菜:获取或设置一个值,通过该值指示该菜单项的菜单与另一个菜单合并时该菜单项的行为。单与另一个菜单合并时该菜单项的行为。MnemonicMn
47、emonic:获取一个值,通过该值指示与此菜单项关联的助:获取一个值,通过该值指示与此菜单项关联的助记字符。记字符。MdiListMdiList:获取或设置一个值,通过该值指示是否使用在关联窗:获取或设置一个值,通过该值指示是否使用在关联窗体内显示的多文档界面体内显示的多文档界面 (MDI)(MDI)子窗口列表来填充菜单项。子窗口列表来填充菜单项。RadioCheckRadioCheck:获取或设置一个值,通过该值指示:获取或设置一个值,通过该值指示 MenuItemMenuItem(如果已选中)是否显示单选按钮而不是选中标记。(如果已选中)是否显示单选按钮而不是选中标记。ShortcutSh
48、ortcut:获取或设置一个值,通过该值指示与菜单项关联的:获取或设置一个值,通过该值指示与菜单项关联的快捷键。快捷键。ShowShortcutShowShortcut:获取或设置一个值,通过该值指示与菜单项关:获取或设置一个值,通过该值指示与菜单项关联的快捷键是否在菜单项标题的旁边显示。联的快捷键是否在菜单项标题的旁边显示。TextText:获取或设置一个值,通过该值指示菜单项标题。:获取或设置一个值,通过该值指示菜单项标题。VisibleVisible:获取或设置一个值,通过该值指示菜单项是否可见。:获取或设置一个值,通过该值指示菜单项是否可见。3939版权所有版权所有C#程序设计与案例教
49、程 清华大学出版社 2 2菜单的事件菜单的事件菜单的事件菜单的事件在菜单类在菜单类MenuMenu、MainMenuMainMenu和和MenuItemMenuItem中,只有中,只有MenuItemMenuItem类具有事件。常用的事件有类具有事件。常用的事件有ClickClick、PopupPopup和和SelectSelect。(1 1)ClickClick事件。当单击菜单项或使用为该菜单项事件。当单击菜单项或使用为该菜单项定义的快捷键或访问键选择菜单项时发生。定义的快捷键或访问键选择菜单项时发生。(2 2)PopupPopup事件。在显示菜单项的菜单项列表之前事件。在显示菜单项的菜单项
50、列表之前发生。发生。(3 3)SelectSelect事件。当用户将光标放在菜单项上时发事件。当用户将光标放在菜单项上时发生。生。4040版权所有版权所有C#程序设计与案例教程 清华大学出版社 3使用菜单设计器创建菜单的一般步骤使用菜单设计器创建菜单的一般步骤(1)在设计时向 Windows 窗体添加菜单。(2)添加菜单项。(3)修改和删除菜单项。(4)添加分隔符和快捷键。(5)为菜单项的Click事件添加代码。4141版权所有版权所有C#程序设计与案例教程 清华大学出版社 3.5.2 3.5.2 多文档界面多文档界面 1 1多文档界面的特性多文档界面的特性多文档界面的特性多文档界面的特性n