您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > c#Windows应用程序设计基础.ppt
第9章Windows应用程序设计基础-基本控件9.3窗体控件概述控件是包含在窗体上的对象,是构成用户界面的基本元素,也是C#可视化编程的重要工具。使用控件可使程序的设计简化避免大量重复性工作,简化设计过程,有效地提高设计效率。对于一个程序开发人员而言,必须掌握每类控件的功能、用途,并掌握其常用的属性、事件和方法。22020/3/12C#程序设计实用教程9.3窗体控件概述在VS2005中,工具箱中包含了建立应用程序的各种控件。工具箱分为Windows窗体、公共控件、容器、菜单和工具栏、数据、组件、打印、对话框等部分,常用的Windows窗体控件放在“Windows窗体”选项卡下。工具箱中有数十个常用的Windows窗体控件,它们以图标的方式显示在工具箱中,其名称显示于图标的右侧。32020/3/12C#程序设计实用教程9.3窗体控件概述在介绍具体控件之前,首先在此探讨一下各个控件共有的属性、事件和方法。在C#中,所有的窗体控件,比如标签控件、文本框控件、按钮控件等全部都是继承于:System.Windows.Forms.Control。作为各种窗体控件的基类,Control类实现了所有窗体交互控件的基本功能。Control类的属性、方法和事件是所有窗体控件所公有的,而且其中很多是在编程中经常会遇到的。42020/3/12C#程序设计实用教程9.3窗体控件概述(1)Control类的属性•Control类的属性描述了一个窗体控件的所有公共属性,可以在属性(Properties)窗口中查看或修改窗体控件的属性。•常用的属性如下:Name属性•每一个控件都有一个Name(名字)属性,在应用程序中,可通过此属性来引用这个控件。•C#会给每个新添加的控件指定一个默认名。在应用程序设计中,可根据需要将控件的默认名字改成更有实际代表意义的名字。52020/3/12C#程序设计实用教程9.3窗体控件概述Text属性•在C#中,每一个控件对象都有Text属性。Text属性在很多控件中都有重要的意义和作用。•例如,在标签控件中显示的文字、在文本框中用户输入的文字、组合框和窗体中的标题等都是用控件的Text进行设定的。•对于Text属性的设置过程及设置结果如图9-9、9-10所示。62020/3/12C#程序设计实用教程9.3窗体控件概述Anchor属性•Anchor的意思是“锚”,那么Anchor属性是用来确定此控件与其容器控件的固定关系的。•在此,所谓容器控件是指什么呢?顾名思义,容器控件就是像一般的容器一样可以存放别的控件的控件!例如,窗体控件中会包含很多的控件,像标签控件、文本框等。这时,称包含控件的控件为容器控件或父控件,而里面的控件为子控件。显然,这必然涉及到一个问题,即子控件与父控件的位置关系问题。即当父控件的位置、大小变化时,子控件按照什么样的原则改变其位置、大小。Anchor属性就用于设置此原则。72020/3/12C#程序设计实用教程9.3窗体控件概述对于Anchor属性,可以设定Top、Bottom、Right、Left中任意的几种,设置的方法非常直观,如图9-11所示。82020/3/12C#程序设计实用教程9.3窗体控件概述图9-11中选中变黑的方位即为设定的控件方位,图中所示的方位为Top、Left、Bottom。此时,如果容器控件变化,子控件将保证其上边缘与容器上边的距离、左边缘与容器左边的距离,底边与容器底边的距离。其运行效果如图9-12所示。92020/3/12C#程序设计实用教程9.3窗体控件概述Dock属性Dock属性规定了子控件与父控件的边缘依赖关系。Dock的效果,如图9-13所示。10•Dock的值有6种,分别是Top、Bottom、Left、Right、Fill,最后还有默认值None。一旦Dock值被设定,子控件就会发生变化与父控件选定的边缘相融在一起。2020/3/12C#程序设计实用教程9.3窗体控件概述(2)Control类的方法可以调用Control类的方法来获得控件的一些信息,或者设置控件的属性值及行为状态。例如:Focus方法可设置此控件获得的焦点;Refresh方法可重画控件;Select方法可激活控件;Show方法可显示控件等。112020/3/12C#程序设计实用教程9.3窗体控件概述(3)Control类的事件在C#中,当用户进行某一项操作时,会引发某个事件的发生,此时就会调用事件处理程序代码,实现对程序的控制。事件驱动实现是基于窗体的消息传递和消息循环机制的。在C#中,所有的机制都被封装在控件之中,极大方便了编写事件的驱动程序。如果希望能够更加深入地操作,或定义自己的事件,就需要联合使用委托(Delegate)和事件(Event),可以灵活地添加、修改事件的响应,并自定义事件的处理方法。例如,Control类的可响应的事件有:单击时发生的Click事件;双击时发生的DoubleClick事件;取得焦点时发生的GetFocus事件;鼠标移动时发生的MouseMove事件等。122020/3/12C#程序设计实用教程9.4常用控件窗体是由一个个控件构成的,因此熟悉控件是进行合理、有效的程序开发的重要前提。本节内容将针对Windows窗体应用程序中常见的控件进行详细介绍。132020/3/12C#程序设计实用教程9.4.1按钮控件按钮(Button)是用户与应用程序交互的最常用的工具。它用于接收用户的操作信息,去执行预先规定的命令,触发相应的事件过程,以实现指定的功能。1.常用属性(1)Text属性该属性用于设定按钮上显示的文本。该属性也可为按钮创建快捷方式,其方法是在作为快捷键的字母前加一个“&”字符,则在程序运行时,命令按钮上该字母带有下划线,该字母就成为快捷键。例如,某个按钮的Text属性设置为“&Display”,程序运行时,就会显示为“Display”。142020/3/12C#程序设计实用教程9.4.1按钮控件(2)FlatStyle属性该属性指定了按钮的外观风格,它有4个可选值。分别是:Flat、Popup、System、Standard。该属性的默认值为Standard。(3)Image属性用于设定在按钮上显示的图形。(4)ImageAlign属性当图片显示在命令按钮上时,可以通过ImageAlign属性调节其在按钮上的位置。(5)Enable属性用于设定控件是否可用,不可用,则用灰色表示。(6)Visible属性用于设定控件是否可见,不可见,则隐藏。注意:上述的属性中,前4项为外观属性;而后2项为行为属性。152020/3/12C#程序设计实用教程9.4.1按钮控件2.响应的事件如果按钮具有焦点,就可以使用鼠标左键、Enter键或空格键触发该按钮的Click事件。当使用ShowDialog方法显示窗体时,可以使用按钮的DialogResult属性指定ShowDialog的返回值。【例9-7】按钮控件的运用。(1)为窗体Form1添加一个计数器nCounter,并添加3个按钮控件,分别完成递增计数器、递减计数器、通过消息框提示计数器的值的功能,并添加1个Label控件来显示每次运算后的计数器值。完成的窗体界面如图9-14所示。162020/3/12C#程序设计实用教程9.4.1按钮控件(2)设置窗体和各控件的属性,如表9-2所示。172020/3/12C#程序设计实用教程9.4.1按钮控件(3)切换到代码窗口,创建事件过程:privateintnCounter;//第一次加载时,进行计数器和lblResult的初始化privatevoidForm1_Load(objectsender,EventArgse){this.nCounter=50;this.ShowCounter();}//进行递增操作,并提示新值privatevoidbtnInc_Click(objectsender,EventArgse){this.nCounter++;this.ShowCounter();}182020/3/12C#程序设计实用教程9.4.1按钮控件//进行递减操作,并提示新值privatevoidbtnDes_Click(objectsender,EventArgse){this.nCounter--;this.ShowCounter();}//通过MessageBox提示当前的值privatevoidbtnMsg_Click(objectsender,EventArgse){stringstrMsg=当前计数器=+this.nCounter.ToString(D8);MessageBox.Show(strMsg,提示);192020/3/12C#程序设计实用教程9.4.1按钮控件//显示计数器值到Label控件lblResultprivatevoidShowCounter(){stringstrMsg=this.nCounter.ToString(D8);this.lblResult.Text=strMsg;}202020/3/12C#程序设计实用教程9.4.1按钮控件程序运行结果如图9-15所示。212020/3/12C#程序设计实用教程9.4.2标签控件标签(Label)主要用来显示文本。通常用标签来为其他控件显示说明信息、窗体的提示信息,或者用来显示处理结果等信息。但是,标签显示的文本不能被直接编辑。除了显示文本外,标签还可使用Image属性显示图像,或使用ImageIndex和ImageList属性组合显示图像。222020/3/12C#程序设计实用教程9.4.2标签控件1.常用属性(1)Text属性该属性用于设定标签显示的文本,可通过TextAlign属性设置文本的对齐方式。(2)BorderStyle属性该属性用于设定标签的边框形式,共有3个设定值,分别是None、FixedSingle、Fixed3D。该属性的默认值为None。(3)BackColor属性用于设定标签的背景色。(4)ForeColor属性用于设定标签中文本的颜色。(5)Font属性用于设定标签中文本的字体、大小、粗体、斜体、删除线等。232020/3/12C#程序设计实用教程9.4.2标签控件(6)Image属性用于设定标签的背景图片,可通过ImageAlign属性设置图片的对齐方式。(7)Enable属性用于设定控件是否可用,不可用,则用灰色表示。(8)Visible属性用于设定控件是否可见,不可见,则隐藏。(9)AutoSize属性用于设定控件是否根据文本自动调整,设置为true表示自动调整。注意:上述的属性中,前6项为外观属性;而后3项为行为属性。242020/3/12C#程序设计实用教程9.4.2标签控件2.响应的事件标签控件常用的事件有:Click事件和DoubleClick事件。252020/3/12C#程序设计实用教程9.4.2标签控件【例9-3】标签控件的运用。对窗体上的3个标签控件的参数进行设置,用来显示文本。程序代码如下:privatevoidForm1_Load(objectsender,EventArgse){//label1参数设置,默认字体为宋体9号、前景色为黑色this.label1.AutoSize=true;this.label1.BackColor=System.Drawing.Color.White;this.label1.Text=宋体9号-白底-黑字;262020/3/12C#程序设计实用教程9.4.2标签控件//label2参数设置,默认字体为宋体9号、前景色为黑色this.label2.AutoSize=true;this.label2.BackColor=System.Drawing.Color.Black;this.label2.Font=newSystem.Drawing.Font(宋体,10.5F,System.Drawing.Font
本文标题:c#Windows应用程序设计基础.ppt
链接地址:https://www.777doc.com/doc-4324489 .html