cWindows应用程序设计基础实用实用教案

上传人:m**** 文档编号:568611727 上传时间:2024-07-25 格式:PPT 页数:88 大小:1.98MB
返回 下载 相关 举报
cWindows应用程序设计基础实用实用教案_第1页
第1页 / 共88页
cWindows应用程序设计基础实用实用教案_第2页
第2页 / 共88页
cWindows应用程序设计基础实用实用教案_第3页
第3页 / 共88页
cWindows应用程序设计基础实用实用教案_第4页
第4页 / 共88页
cWindows应用程序设计基础实用实用教案_第5页
第5页 / 共88页
点击查看更多>>
资源描述

《cWindows应用程序设计基础实用实用教案》由会员分享,可在线阅读,更多相关《cWindows应用程序设计基础实用实用教案(88页珍藏版)》请在金锄头文库上搜索。

1、9.3窗体控件概述窗体控件概述(ish)在VS2005中,工具箱中包含了建立应用程序的各种控件。工具箱分为Windows窗体、公共控件、容器、菜单和工具栏、数据、组件、打印、对话框等部分,常用的Windows窗体控件放在“Windows窗体”选项卡下。工具箱中有数十个常用的Windows窗体控件,它们以图标的方式(fngsh)显示在工具箱中,其名称显示于图标的右侧。12024/7/25第1页/共87页第一页,共88页。9.3窗体控件概述窗体控件概述(ish)在介绍具体控件之前,首先在此探讨一下各个控件共有的属性、事件和方法。在C#中,所有的窗体控件,比如标签控件、文本框控件、按钮控件等全部都是

2、继承于:System.Windows.Forms.Control。作为(zuwi)各种窗体控件的基类,Control类实现了所有窗体交互控件的基本功能。Control类的属性、方法和事件是所有窗体控件所公有的,而且其中很多是在编程中经常会遇到的。22024/7/25第2页/共87页第二页,共88页。9.3窗体控件概述窗体控件概述(ish)(1)Control类的属性Control类的属性描述了一个窗体控件的所有(suyu)公共属性,可以在属性(Properties)窗口中查看或修改窗体控件的属性。常用的属性如下:Name属性每一个控件都有一个Name(名字)属性,在应用程序中,可通过此属性来引

3、用这个控件。C#会给每个新添加的控件指定一个默认名。在应用程序设计中,可根据需要将控件的默认名字改成更有实际代表意义的名字。32024/7/25第3页/共87页第三页,共88页。9.3窗体控件概述窗体控件概述(ish)lText属性l在C#中,每一个控件对象都有Text属性。Text属性在很多控件中都有重要的意义和作用。l例如,在标签控件中显示的文字(wnz)、在文本框中用户输入的文字(wnz)、组合框和窗体中的标题等都是用控件的Text进行设定的。l对于Text属性的设置过程及设置结果如图9-9、9-10所示。42024/7/25第4页/共87页第四页,共88页。9.3窗体控件概述窗体控件概

4、述(ish)lAnchor属性lAnchor的意思是“锚”,那么Anchor属性是用来确定此控件与其容器控件的固定关系的。l在此,所谓容器控件是指什么呢?顾名思义,容器控件就是像一般的容器一样可以存放别的控件的控件!例如,窗体控件中会包含很多的控件,像标签控件、文本框等。这时,称包含控件的控件为容器控件或父控件,而里面的控件为子控件。显然(xinrn),这必然涉及到一个问题,即子控件与父控件的位置关系问题。即当父控件的位置、大小变化时,子控件按照什么样的原则改变其位置、大小。Anchor属性就用于设置此原则。52024/7/25第5页/共87页第五页,共88页。9.3窗体控件概述窗体控件概述(

5、ish)对于Anchor属性,可以设定Top、Bottom、Right、Left中任意的几种,设置的方法(fngf)非常直观,如图9-11所示。62024/7/25第6页/共87页第六页,共88页。9.3窗体控件概述窗体控件概述(ish)图9-11中选中变黑的方位即为设定的控件方位,图中所示的方位为Top、Left、Bottom。此时,如果容器控件变化,子控件将保证其上边(shngbin)缘与容器上边(shngbin)的距离、左边缘与容器左边的距离,底边与容器底边的距离。其运行效果如图9-12所示。72024/7/25第7页/共87页第七页,共88页。9.3窗体控件概述窗体控件概述(ish)l

6、Dock属性lDock属性规定(gudng)了子控件与父控件的边缘依赖关系。Dock的效果,如图9-13所示。8Dock的值有6种,分别是Top、Bottom、Left、Right、Fill,最后还有默认值None。一旦Dock值被设定(sh dn),子控件就会发生变化与父控件选定的边缘相融在一起。2024/7/25第8页/共87页第八页,共88页。9.3窗体控件概述窗体控件概述(ish)(2)Control类的方法可以(ky)调用Control类的方法来获得控件的一些信息,或者设置控件的属性值及行为状态。例如:Focus方法可设置此控件获得的焦点;Refresh方法可重画控件;Select方

7、法可激活控件;Show方法可显示控件等。92024/7/25第9页/共87页第九页,共88页。9.3窗体控件概述窗体控件概述(ish)(3)Control类的事件在C#中,当用户进行某一项操作时,会引发某个事件的发生,此时就会调用事件处理程序代码,实现对程序的控制。事件驱动实现是基于窗体的消息传递和消息循环机制的。在C#中,所有的机制都被封装在控件之中,极大方便了编写事件的驱动程序。如果希望能够更加深入地操作,或定义自己的事件,就需要联合使用(shyng)委托(Delegate)和事件(Event),可以灵活地添加、修改事件的响应,并自定义事件的处理方法。例如,Control类的可响应的事件有

8、:单击时发生的Click事件;双击时发生的DoubleClick事件;取得焦点时发生的GetFocus事件;鼠标移动时发生的MouseMove事件等。102024/7/25第10页/共87页第十页,共88页。9.4常用常用(chnyn)控件控件窗体是由一个个控件构成的,因此熟悉控件是进行合理、有效的程序开发的重要(zhngyo)前提。本节内容将针对Windows窗体应用程序中常见的控件进行详细介绍。112024/7/25第11页/共87页第十一页,共88页。9.4.1 按钮控件按钮(Button)是用户与应用程序交互的最常用的工具。它用于接收用户的操作信息,去执行预先规定的命令(mnglng)

9、,触发相应的事件过程,以实现指定的功能。1.常用属性(1)Text属性该属性用于设定按钮上显示的文本。该属性也可为按钮创建快捷方式,其方法是在作为快捷键的字母前加一个“&”字符,则在程序运行时,命令(mnglng)按钮上该字母带有下划线,该字母就成为快捷键。例如,某个按钮的Text属性设置为“&Display”,程序运行时,就会显示为“Display”。122024/7/25第12页/共87页第十二页,共88页。9.4.1 按钮控件(2)FlatStyle属性该属性指定了按钮的外观风格,它有4个可选值。分别是:Flat、Popup、System、Standard。该属性的默认值为Standar

10、d。(3)Image属性用于设定在按钮上显示的图形。(4)ImageAlign属性当图片显示在命令按钮上时(shnsh),可以通过ImageAlign属性调节其在按钮上的位置。(5)Enable属性用于设定控件是否可用,不可用,则用灰色表示。(6)Visible属性用于设定控件是否可见,不可见,则隐藏。注意:上述的属性中,前4项为外观属性;而后2项为行为属性。132024/7/25第13页/共87页第十三页,共88页。9.4.1 按钮控件2.响应的事件如果按钮具有焦点,就可以使用鼠标左键、Enter键或空格键触发该按钮的Click事件。当使用ShowDialog方法显示窗体时,可以使用按钮的D

11、ialogResult属性指定ShowDialog的返回值。【例9-7】按钮控件的运用。(1)为窗体Form1添加一个计数器nCounter,并添加3个按钮控件,分别完成递增(dzng)计数器、递减计数器、通过消息框提示计数器的值的功能,并添加1个Label控件来显示每次运算后的计数器值。完成的窗体界面如图9-14所示。142024/7/25第14页/共87页第十四页,共88页。9.4.1 按钮控件(2)设置(shzh)窗体和各控件的属性,如表9-2所示。152024/7/25第15页/共87页第十五页,共88页。9.4.1 按钮控件(3)切换到代码窗口,创建事件过程:privateintnC

12、ounter;/第一次加载时,进行计数器和lblResult的初始化privatevoidForm1_Load(objectsender,EventArgse)this.nCounter=50;this.ShowCounter();/进行递增(dzng)操作,并提示新值privatevoidbtnInc_Click(objectsender,EventArgse)this.nCounter+;this.ShowCounter();162024/7/25第16页/共87页第十六页,共88页。9.4.1 按钮控件/进行递减操作,并提示(tsh)新值privatevoidbtnDes_Click(o

13、bjectsender,EventArgse)this.nCounter-;this.ShowCounter();/通过MessageBox提示(tsh)当前的值privatevoidbtnMsg_Click(objectsender,EventArgse)stringstrMsg=当前计数器+this.nCounter.ToString(D8);MessageBox.Show(strMsg,提示(tsh);172024/7/25第17页/共87页第十七页,共88页。9.4.1 按钮控件/显示(xinsh)计数器值到Label控件lblResultprivatevoidShowCounter(

14、)stringstrMsg=this.nCounter.ToString(D8);this.lblResult.Text=strMsg;182024/7/25第18页/共87页第十八页,共88页。9.4.1 按钮控件程序运行结果(jigu)如图9-15所示。192024/7/25第19页/共87页第十九页,共88页。9.4.2标签(bioqin)控件标签(Label)主要用来显示文本。通常(tngchng)用标签来为其他控件显示说明信息、窗体的提示信息,或者用来显示处理结果等信息。但是,标签显示的文本不能被直接编辑。除了显示文本外,标签还可使用Image属性显示图像,或使用ImageIndex

15、和ImageList属性组合显示图像。202024/7/25第20页/共87页第二十页,共88页。9.4.2标签(bioqin)控件1.常用属性(1)Text属性该属性用于设定标签(bioqin)显示的文本,可通过TextAlign属性设置文本的对齐方式。(2)BorderStyle属性该属性用于设定标签(bioqin)的边框形式,共有3个设定值,分别是None、FixedSingle、Fixed3D。该属性的默认值为None。(3)BackColor属性用于设定标签(bioqin)的背景色。(4)ForeColor属性用于设定标签(bioqin)中文本的颜色。(5)Font属性用于设定标签(

16、bioqin)中文本的字体、大小、粗体、斜体、删除线等。212024/7/25第21页/共87页第二十一页,共88页。9.4.2标签(bioqin)控件(6)Image属性用于设定标签的背景图片,可通过ImageAlign属性设置图片的对齐方式。(7)Enable属性用于设定控件是否可用,不可用,则用灰色表示。(8)Visible属性用于设定控件是否可见,不可见,则隐藏。(9)AutoSize属性用于设定控件是否根据文本自动调整,设置为true表示自动调整。注意:上述(shngsh)的属性中,前6项为外观属性;而后3项为行为属性。222024/7/25第22页/共87页第二十二页,共88页。9

17、.4.2标签(bioqin)控件2.响应的事件标签(bioqin)控件常用的事件有:Click事件和DoubleClick事件。232024/7/25第23页/共87页第二十三页,共88页。9.4.2标签(bioqin)控件【例9-3】标签控件的运用。对窗体上的3个标签控件的参数进行设置,用来(ynli)显示文本。程序代码如下:privatevoidForm1_Load(objectsender,EventArgse)/label1参数设置,默认字体为宋体9号、前景色为黑色this.label1.AutoSize=true;this.label1.BackColor=System.Drawin

18、g.Color.White;this.label1.Text=宋体9号白底黑字;242024/7/25第24页/共87页第二十四页,共88页。9.4.2标签(bioqin)控件/label2参数设置,默认字体为宋体9号、前景色为黑色this.label2.AutoSize=true;this.label2.BackColor=System.Drawing.Color.Black;this.label2.Font=newSystem.Drawing.Font(宋体,10.5F,System.Drawing.FontStyle.Regular,System.Drawing.GraphicsUnit

19、.Point,(byte)(134);this.label2.ForeColor=System.Drawing.Color.White;this.label2.Text=宋体10号黑底(hid)白字“;252024/7/25第25页/共87页第二十五页,共88页。9.4.2标签(bioqin)控件/label3参数设置this.label3.AutoSize=true;this.label3.BackColor=System.Drawing.Color.Blue;this.label3.Font=newSystem.Drawing.Font(楷体(kit)_GB2312,14.25F,Syst

20、em.Drawing.FontStyle.Regular,System.Drawing.GraphicsUnit.Point,(byte)(134);this.label3.ForeColor=System.Drawing.Color.Red;this.label3.Text=楷体(kit)14号蓝底红字;262024/7/25第26页/共87页第二十六页,共88页。9.4.2标签(bioqin)控件程序运行结果(jigu)如图9-16所示。272024/7/25第27页/共87页第二十七页,共88页。9.4.3 文本框控件在C#中,文本框(TextBox)是最常用的和最简单的文本显示(xin

21、sh)和输入控件。文本框有两种用途,一是可以用来输出或显示(xinsh)文本信息;二是可以接受从键盘输入的信息。1.常用属性(1)Text属性该属性用于设定文本框显示(xinsh)的文本,可通过TextAlign属性设置文本的对齐方式。(2)BackColor属性用于设定文本框的背景色。(3)ForeColor属性用于设定文本框中文本的颜色。282024/7/25第28页/共87页第二十八页,共88页。9.4.3 文本框控件(4)Font属性用于设定文本框中文本的字体、大小、粗体、斜体、删除线等。(5)PasswordChar属性文本框控件以密码输入方式使用,输入字母用该属性指定字符屏蔽(pn

22、gb)。(6)Enable属性用于设定文本框控件是否可用,不可用,则用灰色表示。(7)Visible属性用于设定文本框控件是否可见,不可见,则隐藏。(8)ReadOnly属性用于设定文本框控件是否只读。(9)MultiLine属性用于设定文本框控件是否包多行文本。注意:上述的属性中,前5项为外观属性;而后4项为行为属性。292024/7/25第29页/共87页第二十九页,共88页。9.4.3 文本框控件2.常用的方法(fngf)(1)Clear方法(fngf)用于清除文本框中已有的文本。(2)AppendText方法(fngf)用于文本框最后追加文本。302024/7/25第30页/共87页第

23、三十页,共88页。9.4.3 文本框控件3.常用的事件在文本(wnbn)框控件所能响应的事件中,TextChanged、Enter和Leave是常用的事件。(1)TextChanged事件当文本(wnbn)框的文本(wnbn)内容发生变化时,触发该事件。当向文本(wnbn)框输入信息时,每输入一个字符,就会引发一次TextChanged事件。(2)Enter事件当文本(wnbn)框获得焦点时,就会引发的事件。(3)Leave事件当文本(wnbn)框失去焦点时,就会引发的事件。312024/7/25第31页/共87页第三十一页,共88页。9.4.3 文本框控件【例9-9】文本框控件的运用(yny

24、ng)。实现步骤如下:(1)为窗体Form1添加2个TextBox控件:tbInput和tbHint,前者可编辑单行文本,用来获取用户输入;后者用于显示数据,应设置为只读多行文本。同时,再添加1个Label控件lblCopy,用来显示输入文本框中数据。322024/7/25第32页/共87页第三十二页,共88页。9.4.3 文本框控件(2)在此例中,通过程序代码设置相应的控件的属性。主要(zhyo)程序代码如下:privatevoidForm1_Load(objectsender,EventArgse)/设置2个文本框的属性this.tbInput.ForeColor=Color.Blue;t

25、his.tbHint.BackColor=Color.White;this.tbHint.ForeColor=Color.Green;this.tbHint.ReadOnly=true;332024/7/25第33页/共87页第三十三页,共88页。9.4.3 文本框控件privatevoidtbInput_Enter(objectsender,EventArgse)/光标进入(jnr)清除原有文本this.tbInput.Clear();privatevoidtbInput_Leave(objectsender,EventArgse)/焦点退出,将文本添加到tbHint新的一行this.tbH

26、int.AppendText(this.tbInput.Text+Environment.NewLine);342024/7/25第34页/共87页第三十四页,共88页。9.4.3 文本框控件privatevoidtbInput_TextChanged(objectsender,EventArgse)/将当前tbInput中文本内容同步显示到lblCopy中this.lblCopy.Text=this.tbInput.Text;注意:在tbInput_Leave事件中将编辑(binj)好的文本通过方法TextBox.AppendText()追加tbHint中;在tbInput_TextChan

27、ged事件中将tbInput中最新的文本同步显示到lbCopy控件上。程序运行结果如图9-17所示。352024/7/25第35页/共87页第三十五页,共88页。9.4.4 单选按钮控件单选按钮(RadioButton)控件为用户提供由两个或多个互斥选项组成的选项集。当用户选中某单选项按钮时,同一组中的其他单选项按钮不能同时选定,该控件以圆圈内加点的方式表示选中。单选按钮用来让用户在一组相关的选项中选择一项,因此单选按钮控件总是成组出现。直接添加到一个窗体中的所有单选按钮将形成一个组。若要添加不同的组,必须将它们放到面板或分组框中。将若干(rugn)RadionButton控件放在一个Grou

28、pBox控件内组成一组时,当这一组中的某个单选按钮控件被选中时,该组中的其他单选控件将自动处于不选中状态。362024/7/25第36页/共87页第三十六页,共88页。9.4.4 单选按钮控件1.常用属性(1)Text属性该属性用于设置单选按钮旁边的说明文字(wnz),以说明单选按钮的用途。(2)Check属性表示单选按钮是否被选中,选中则Checked值为True,否则为False。2.响应的事件单选按钮响应的事件主要是Click事件和CheckedChanged事件。当鼠标单击单选按钮时,触发Click事件,并且改变Checked属性值。Checked属性值的改变,同时将触发Checked

29、Changed事件。372024/7/25第37页/共87页第三十七页,共88页。9.4.4 单选按钮控件【例9-10】单选按钮控件的运用。通过选择(xunz)不同的单选按钮,实现在文本框中显示不同水果的价格。实现步骤如下:(1)创建如图9-18所示的窗体。382024/7/25第38页/共87页第三十八页,共88页。9.4.4 单选按钮控件(2)设置(shzh)窗体和各控件的属性,如表9-3所示。392024/7/25第39页/共87页第三十九页,共88页。9.4.4 单选按钮控件(3)打开(dki)代码窗口,编写事件过程。privatevoidrdoApple_CheckedChanged

30、(objectsender,EventArgse)txtPrice.Text=10.0;privatevoidrdoBanana_CheckedChanged(objectsender,EventArgse)txtPrice.Text=8.5;402024/7/25第40页/共87页第四十页,共88页。9.4.4 单选按钮控件privatevoidrdoPineapple_CheckedChanged(objectsender,EventArgse)txtPrice.Text=12.5;412024/7/25第41页/共87页第四十一页,共88页。9.4.5复选框控件复选按钮(CheckBox

31、)控件,它与单选按钮一样,也给用户提供一组选项供其选择。但它与单选按钮有所不同,每个复选框都是一个单独的选项,用户既可以选择它,也可以不选择它,不存在互斥的问题,可以同时选择多项。1.常用属性(1)Text属性。该属性用于设置复选框旁边(pngbin)的说明文字,以说明复选框的用途。(2)Check属性。表示复选框是否被选择。True表示复选框被选择,False表示复选框未被选择。422024/7/25第42页/共87页第四十二页,共88页。9.4.5复选框控件(3)CheckState属性。反映该复选框的状态,有3个可选值。Checked:表示复选框当前被选中。Unchecked:表示复选框

32、当前未被选中。Indeterminate:表示复选框当前状态未定,此时该复选框呈灰色。2.响应的事件复选框响应的事件主要是Click事件、CheckedChanged事件和CheckStateChanged事件。当鼠标单击复选框时,触发Click事件,并且(bngqi)改变Checked属性值和CheckState属性值。Checked属性值的改变,同时将触发CheckedChanged事件;CheckState属性值的改变,同时将触发CheckStateChanged事件。432024/7/25第43页/共87页第四十三页,共88页。9.4.5复选框控件【例9-11】复选框控件的运用。通过选

33、择不同的复选框,实现输出选中的业余爱好。实现步骤如下:(1)创建一个Windows窗体应用的程序,添加如图9-19所示的控件。(2)编写“确定”按钮btnOk和“退出”btnExit的代码(dim)。其中“确定”按钮功能为显示一个对话框,输出用户用户所填内容;“退出”按钮功能为结束程序。442024/7/25第44页/共87页第四十四页,共88页。9.4.5复选框控件452024/7/25第45页/共87页第四十五页,共88页。9.4.5复选框控件(3)程序(chngx)的完整代码如下:usingSystem;usingSystem.Collections.Generic;usingSyste

34、m.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;namespaceUseCheckBoxpublicpartialclassForm1:Form462024/7/25第46页/共87页第四十六页,共88页。9.4.5复选框控件publicForm1()InitializeComponent();/检查用户输入的信息是否有效(yuxio)privatevoidtxtName_Validating(objectsender,CancelEventArgs

35、e)if(txtName.Text.Trim()=string.Empty)MessageBox.Show(姓名为空,请重新输入!);txtName.Focus();472024/7/25第47页/共87页第四十七页,共88页。9.4.5复选框控件privatevoidbtnExit_Click(objectsender,EventArgse)this.Close();482024/7/25第48页/共87页第四十八页,共88页。9.4.5复选框控件privatevoidbtnOk_Click(objectsender,EventArgse)stringstrUser=string.Empty

36、;strUser=姓名:+txtName.Text+n;strUser=strUser+业余爱好:+(chkMovie.Checked?电影:)+(chkMusic.Checked?音乐:)+(chkSport.Checked?体育(ty):)+n;DialogResultresult=MessageBox.Show(strUser, 信息确认,MessageBoxButtons.OKCancel,MessageBoxIcon.Information,MessageBoxDefaultButton.Button1);if(result=DialogResult.OK)txtName.Clear

37、();chkMovie.Checked=false;chkMusic.Checked=false;chkSport.Checked=false;492024/7/25第49页/共87页第四十九页,共88页。9.4.5复选框控件privatevoidbtnExit_MouseEnter(objectsender,EventArgse)txtName.CausesValidation=false;privatevoidbtnExit_MouseLeave(objectsender,EventArgse)txtName.CausesValidation=true;502024/7/25第50页/共8

38、7页第五十页,共88页。9.4.5复选框控件单击“信息确认”对话框中的“确定”按钮,将会清除(qngch)已输入的内容,包括复选框的选中状态。51程序运行,输入相应(xingyng)的内容,如图9-20所示。单击“确定”按钮后,弹出的对话框如图9-21所示。2024/7/25第51页/共87页第五十一页,共88页。9.4.5复选框控件说明:代码中用到了MessageBox的另一个构造方法,这种方法使得MessageBox的外观更加多样化,包括了MessageBox的标题(Title)、图标(MessageBoxIcons)的按钮(MessageBoxButtons)。另外,程序中还编写(bin

39、xi)了btnExit的Enter和Leave事件,目的是为了在单击“退出”按钮时,不引发TextBox控件的Validating事件,防止多余的提示;在Leave事件中又恢复TextBox控件的Validating事件。读者可以先删除该段代码,以查看相应的效果。522024/7/25第52页/共87页第五十二页,共88页。9.4.6 列表框列表框(ListBox)控件提供一个项目列表,用户可以从中选择一项或多项。在列表框内的项目称为列表框,列表项的加入是按一定的顺序进行的,这个顺序号称为索引号。列表框内列表项的索引号是从0开始(kish)的,即第一个加入的列表项索引号为0,其余索引项的索引号

40、依次类推。532024/7/25第53页/共87页第五十三页,共88页。9.4.6 列表框1常用属性(1)Items属性通过该属性,设置或获取列表框的项。用户(yngh)可以事先在属性窗口中设置,也可以在程序中进行设置。(2)Multicolumn属性用于设置列表框是否多列列表框,默认值为False,表示列表项一单列显示。542024/7/25第54页/共87页第五十四页,共88页。9.4.6 列表框(3)SelectionMode属性该属性用于设定列表框选择属性,共有4个可选值:None:表示不允许进行选择。One:表示只允许选择其中一项。此值为默认值。MultiSimple:表示允许同时选

41、择多个列表项。MultiExtended:用鼠标和Shift键组合可以(ky)选择连续的列表项;用鼠标和Ctrl键组合可以(ky)选择不连续的列表项。552024/7/25第55页/共87页第五十五页,共88页。9.4.6 列表框(4)SelectedItem属性获取或设置列表框中的当前选定项。(5)SelectedItems属性获取或设置列表框中当前选定项的集合。(6)SelectedIndex属性获取或设置列表框中的当前选定项的从零开始的索引。在编程时,用户可以捕获该属性值,然后根据该值来进行(jnxng)相应的动作。注意:上述的属性中,前2项为外观属性;而后4项为行为属性。562024/

42、7/25第56页/共87页第五十六页,共88页。9.4.6 列表框2.响应(xingyng)的事件列表框控件除了能响应(xingyng)常用的Click、DoubleClick、GotFocus、LostFocus等事件外,还可响应(xingyng)特有的SelectedIndexChanged事件。SelectedIndexChanged事件:当用户改变列表中的选择时,将会触发此事件。572024/7/25第57页/共87页第五十七页,共88页。9.4.6 列表框3.常用的方法(fngf)列表框的列表项可以在属性窗口中通过Item属性来设置,也可以在应用程序中用Items.Add或Items

43、.Insert方法(fngf)来添加,用Items.Remove或Items.Clear方法(fngf)删除。(1)Items.Add方法(fngf)Items.Add方法(fngf)的功能是把一个列表项加入列表框的底部。其一般格式如下:Listname.Items.Add(Item)其中,Listname是列表控件的名称;Items是要加入列表框的列表框,必须是一个字符串表达式。582024/7/25第58页/共87页第五十八页,共88页。9.4.6 列表框(2)Items.Insert方法Items.Insert方法的功能是把一个列表项插入到列表框的指定位置。其一般格式如下(rxi):Li

44、stname.Items.Insert(Index,列表项)其中,Index是新增列表项在列表框中的指定位置。Index值为0时,表示列表项添加到列表框的第一个位置。(3)Items.Remove方法Items.Remove方法的功能是清除列表框中的指定列表项。其一般格式如下(rxi):Listname.Items.Remove(Item)592024/7/25第59页/共87页第五十九页,共88页。9.4.6 列表框()Items.Clear方法(fngf)Items.Clear方法(fngf)的功能是清除列表框中的所有列表项。其一般格式如下:Listname.Items.Clear()60

45、2024/7/25第60页/共87页第六十页,共88页。9.4.6 列表框【例9-12】列表框控件的运用。(1)创建一个Windows窗体应用程序,在窗体上添加如图9-22所示的控件。其中,ListBox控件名称如图所示,4个按钮的名称依次为btnRight、btnRightAll、btnLeftAll和btnLeft。(2)更改lstLeft控件的Items属性,弹出如图9-23所示的字符串集合编辑器。依次输入星期日、星期一、星期二、星期三、星期四、星期五和星期六。单击“确定”按钮,得到如图9-24所示的窗体。(3)编写各个按钮的代码,功能为使得ListBox控件的选项在lstLeft和ls

46、tRight控件之间移动(ydng),并将记录输出到lstBottom列表框控件中。612024/7/25第61页/共87页第六十一页,共88页。9.4.6 列表框622024/7/25第62页/共87页第六十二页,共88页。9.4.6 列表框(4)完整(wnzhng)的程序代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;namesp

47、aceUseListBoxpublicpartialclassForm1:Form632024/7/25第63页/共87页第六十三页,共88页。9.4.6 列表框publicForm1()InitializeComponent();642024/7/25第64页/共87页第六十四页,共88页。9.4.6 列表框privatevoidbtnRight_Click(objectsender,EventArgse)if(lstLeft.SelectedItems.Count=0)return;elselstRight.Items.Add(lstLeft.SelectedItem);lstBottom

48、.Items.Add(lstLeft.SelectedItem.ToString()+被移至右侧(yuc);lstLeft.Items.Remove(lstLeft.SelectedItem);652024/7/25第65页/共87页第六十五页,共88页。9.4.6 列表框privatevoidbtnRightAll_Click(objectsender,EventArgse)foreach(objectiteminlstLeft.Items)lstRight.Items.Add(item);lstBottom.Items.Add(左侧(zuc)列表项被全部移至右侧);lstLeft.Item

49、s.Clear();662024/7/25第66页/共87页第六十六页,共88页。9.4.6 列表框privatevoidbtnLeftAll_Click(objectsender,EventArgse)foreach(objectiteminlstRight.Items)lstLeft.Items.Add(item);lstBottom.Items.Add(右侧(yuc)列表项被全部移至左侧);lstRight.Items.Clear();672024/7/25第67页/共87页第六十七页,共88页。9.4.6 列表框privatevoidbtnLeft_Click(objectsender

50、,EventArgse)if(lstRight.SelectedItems.Count=0)return;elselstLeft.Items.Add(lstRight.SelectedItem);lstBottom.Items.Add(lstRight.SelectedItem.ToString()+被移至左侧(zuc);lstRight.Items.Remove(lstRight.SelectedItem);682024/7/25第68页/共87页第六十八页,共88页。9.4.6 列表框运行程序(chngx),可以随意将两侧列表框中的项移动,如图9-25所示。692024/7/25第69页/

51、共87页第六十九页,共88页。9.4.7可选列表框控件可选列表(libio)框(CheckedListBox)控件与ListBox控件类似,但是其列表(libio)表中选项的左侧还可以显示选择框。702024/7/25第70页/共87页第七十页,共88页。9.4.8组合(zh)框控件组合框(ComboBox)控件是一个文本框和一个列表框的组合。在列表框使用时,只能在给定的列表项中选择,如果用户想要选择列表框中没有给出的选项,则用列表框不能实现。与列表框不同的是,在组合框中向用户提供了一个供选择的列表框,若用户选中列表框中某个列表项,该列表项的内容将自动装入文本框中。当列表框中没有所需的选项时,

52、也允许在文本框中直接输入(shr)特定的信息(但,组合框的DropDownStyle属性设置为DropDownList时除外)。712024/7/25第71页/共87页第七十一页,共88页。9.4.8组合(zh)框控件1常用属性(1)DropDownStyle属性该属性用于设置组合框的样式。有3种可选值:Simple:没有下拉列表框,所以不能选择,可以输入,和TextBox控件相似(xins)。DropDown:具有下拉列表框,可以选择,也可以直接输入选择项中不存在的文本。该值是默认值。DropDownList:具有下拉列表框,只能选择已有可选项中的值,不能输入其他的文本。722024/7/2

53、5第72页/共87页第七十二页,共88页。9.4.8组合(zh)框控件(2)MaxDropDownItems属性该属性用于设置下拉列表框中最多显示列表项的个数。2.常用的事件(shjin)组合框的常用事件(shjin)不多,一般是使用Click事件(shjin),有时也使用SelectedIndexChanged事件(shjin)和SelectedItemChanged事件(shjin)。732024/7/25第73页/共87页第七十三页,共88页。9.4.8组合(zh)框控件【例9-13】组合框控件的运用。(1)创建一个Windows窗体应用程序,在窗体上添加(tinji)如图9-26所示的

54、控件。其中,将两个ComboBox控件分别命名为cboCountry和cboCity,“确定”按钮命名为btnOk。74( 2) 更 改 两 个 ComboBox控 件 的 DropDownStyle属 性 为DropDownList。为cboCountry有Items添加如下内容(nirng):中国美国英国2024/7/25第74页/共87页第七十四页,共88页。9.4.8组合(zh)框控件75(3)编写程序代码,实现如下的功能:当cboCountry中,选择相应(xingyng)的国家,在cboCity中显示该国家的部分城市。2024/7/25第75页/共87页第七十五页,共88页。9.4

55、.8组合(zh)框控件(4)程序完整代码(dim)如下:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;namespaceUseComboBoxpublicpartialclassForm1:Form762024/7/25第76页/共87页第七十六页,共88页。9.4.8组合(zh)框控件publicForm1()InitializeCompo

56、nent();privatevoidForm1_Load(objectsender,EventArgse)cboCountry.SelectedIndex=0;772024/7/25第77页/共87页第七十七页,共88页。9.4.8组合(zh)框控件privatevoidcboCountry_SelectedIndexChanged(objectsender,EventArgse)switch(cboCountry.SelectedIndex)case0:cboCity.Items.Clear();cboCity.Items.Add(北京(bijn);cboCity.Items.Add(上海)

57、;cboCity.Items.Add(天津);cboCity.SelectedIndex=0;break;782024/7/25第78页/共87页第七十八页,共88页。9.4.8组合(zh)框控件case1:cboCity.Items.Clear();cboCity.Items.Add(华盛顿);cboCity.Items.Add(纽约);cboCity.Items.Add(芝加哥);cboCity.SelectedIndex=0;break;case2:cboCity.Items.Clear();cboCity.Items.Add(伦敦(lndn);cboCity.Items.Add(曼彻斯

58、特);cboCity.Items.Add(考文垂);cboCity.SelectedIndex=0;break;792024/7/25第79页/共87页第七十九页,共88页。9.4.8组合(zh)框控件default:cboCity.Items.Clear();break;privatevoidbtnOk_Click(objectsender,EventArgse)stringstrSelect=cboCountry.SelectedItem.ToString()+:+cboCity.SelectedItem.ToString();MessageBox.Show(strSelect,国家(gu

59、ji)城市列表,MessageBoxButtons.OK,MessageBoxIcon.Information);802024/7/25第80页/共87页第八十页,共88页。9.4.8组合(zh)框控件运行程序,可以实现在任意(rny)选择国家组合框中的项,右侧的城市也随之改变,如图9-27所示。单击“确定”按钮,通过MessageBox提示框显示所选的内容,如图9-28所示。81说明:代码在Form1窗体的Load事件中对cboCountry控件的SelectedIndex属性赋值,使其默认选择一个选择,避免了运行程序时组合框是所选内容为空。随后的代码处理了cboCountry控件的Sele

60、ctedIndexChanged事件,根据不同(b tn)的国家添加不同(b tn)的城市名称。2024/7/25第81页/共87页第八十一页,共88页。9.4.9 面板(min bn)控件和分组框控件面板(Panel)控件和分组框(GroupBox)控件是一种容器控件,可以容纳其他控件,同时为控件分组。通常情况下,单选按钮控件经常与Panel控件或GroupBox控件一起使用。另外,放在Panel控件或GroupBox控件内的所有对象将随着容器控件一起移动、显示、消失和屏蔽。这样,使用容器控件可将窗体的区域分割为不同的功能区,可以提供视觉上的区分和分区(fnq)激活或屏蔽的功能。822024

61、/7/25第82页/共87页第八十二页,共88页。9.4.9 面板(min bn)控件和分组框控件.使用方法使用Panel控件或GroupBox控件将控件分组的方法如下:(1)在“工具箱”中选择(xunz)Panel控件或GroupBox控件,将其添加到窗体上。(2)在“工具箱”中选择(xunz)其他控件放在Panel控件或GroupBox控件上。(3)重复步骤(2),添加所需的其他控件。832024/7/25第83页/共87页第八十三页,共88页。9.4.9 面板(min bn)控件和分组框控件2.Panel控件常用属性控件常用属性Panel控件常用的属性主要有如下几种:控件常用的属性主要有

62、如下几种:(1)BorderStyle属性属性该属性用于设置边框的样式,有该属性用于设置边框的样式,有3种设定值。种设定值。None:无边框。:无边框。Fixed3D:立体边框。:立体边框。FixedSingle:简单:简单(jindn)边框。边框。默认值是默认值是None,不显示边框。,不显示边框。(2)AutoScroll属性属性该属性用于设置是否在框内加滚动条。设置为该属性用于设置是否在框内加滚动条。设置为True时,则加滚动条;设置为时,则加滚动条;设置为False时,则不加滚动条。时,则不加滚动条。842024/7/25第84页/共87页第八十四页,共88页。9.4.9 面板(min

63、 bn)控件和分组框控件3.GroupBox控件的常用属性控件的常用属性GroupBox控件最常用的是控件最常用的是Text属性,该属性可用于属性,该属性可用于在在GroupBox控件的边框上设置显示的标题。控件的边框上设置显示的标题。Panel控件与控件与GroupBox控件功能类似,都用来做容器来组控件功能类似,都用来做容器来组合合(zh)控件,但两者之间有控件,但两者之间有3个主要区别:个主要区别:Panel控件可以设置控件可以设置BorderStyle属性,选择是否有边属性,选择是否有边框。框。Panel控件可把其控件可把其AutoScroll属性设置为属性设置为True,进行,进行滚

64、动。滚动。Panel控件没有控件没有Text属性,不能设置标题。属性,不能设置标题。852024/7/25第85页/共87页第八十五页,共88页。9.4.9 面板(min bn)控件和分组框控件【例9-14】Panel控件和GroupBox控件的运用。(1)使用GroupBox控件为RadioButton控件和CheckBox控件提供分组,这样就可以在一个窗体中有几个(j)独立的分组。完成的窗体布局如图9-29所示。(2)使用Panel控件可以使窗体的分类更详细,以便于用户理解。如可以在图9-29所示的窗体中添加一个Panel控件,如图9-30所示。这样的分类使得程序界面更加美观。862024

65、/7/25第86页/共87页第八十六页,共88页。2024/7/25C#程序设计(chnxshj)实用教程87感谢您的欣赏(xnshng)!第87页/共87页第八十七页,共88页。内容(nirng)总结9.3 窗体控件概述。第1页/共87页。第2页/共87页。第9页/共87页。用于设定控件是否根据文本自动调整(tiozhng),设置为true表示自动调整(tiozhng)。在tbInput_TextChanged事件中将tbInput中最新的文本同步显示到lbCopy控件上。单选按钮(RadioButton)控件为用户提供由两个或多个互斥选项组成的选项集。第86页/共87页。感谢您的欣赏第八十八页,共88页。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号