C程序设计 第三章 GUI程序设计.ppt
《C程序设计 第三章 GUI程序设计.ppt》由会员分享,可在线阅读,更多相关《C程序设计 第三章 GUI程序设计.ppt(65页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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(DialogResult.Yesif(DialogResult.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用户可以根据自己的需要创建对话框。自定义用户可以根据自己的需要创建对话框。自定义的对话框实际上也是窗体。作为对话框的窗体的对话框实际上也是窗体。作为对话框的窗体在外观上与一般的窗体在外观上是有所区别的,在外观上与一般的窗体在外观上是有所区别的,对话框没有控制菜单及最大化和最小化按钮,对话框没有控制菜单及最大化和最小化按钮,不能改变大小,多以模态方式显示,以防止用不能改变大小,多以模态方式显
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C程序设计 第三章 GUI程序设计 程序设计 第三 GUI
限制150内