1、VB.NET程序设计程序设计March 2011.第第4 4章章 VB.NETVB.NET的常用控件的常用控件第第4章章 VB.NET的常见控件的常见控件第第1节节 窗体窗体Form第第2节节 Label和和LinkLabel第第3节节 TextBox和和RichTextBox第第4节节 Button、RadioButton、GroupBox和和CheckBox第第5节节 ListBox和和CombBox第第6节节 Timer控件控件第第7节节 PicturesBox控件控件第第8节节 综合实例综合实例.第第4章章 VB.NET的常用控件的常用控件 窗体Form和控件都是对象,窗体Form是其
2、他控件的载体。在介绍其他控件之前先要介绍窗体。窗体Form有自己的属性、方法和事件。 窗体常见的属性有窗体常见的属性有:Text属性:该属性用来设置窗体上显示的标题。Size属性:设置窗体的大小。WindowState属性:该属性有三个值(Normal正常、Minimized最小化、Maximized最大化)Opacity属性:确定窗体的不透明或透明程度,0%为不透明,100%为透明。BackColor属性:用于设置窗体的背景颜色,可以在自定义、Web和系统这三个选项卡之间切换,选择喜欢的颜色。4.1 窗体窗体Form.第第4章章 VB.NET的常用控件的常用控件AutoDrop属性:该属性用
3、来决定窗体是否接受用户的拖放操作,属性值为布尔类型,默认为False。AutoScale属性:该属性用来决定窗体是否可以伸缩,系统默认为True,表示可以伸缩。AcceptButton属性:窗体的“接受”按钮。如果设置了此按钮,则用户每次按下“ENTER”键,都相当于单击该按钮。CancelButton属性:窗体的“取消”按钮。如果设置了此按钮,则用户每次按下“ESC”键,都相当于单击该按钮。 .第第4章章 VB.NET的常用控件的常用控件 窗体常见的事件有:窗体常见的事件有:Activated事件:当窗体被触发或者获得焦点时,触发该事件。Load事件:当窗体第一次显示的时候触发该事件。Clo
4、sed事件:当窗体关闭后触发该事件。Clicked事件:鼠标单击时触发该事件。Closing事件:窗体关闭时触发该事件。KeyDown事件:当窗体获得焦点或者按下鼠标时触发该事件。KeyUp事件:当窗体获得焦点或者松开鼠标时触发该事件。KeyPress事件:当窗体获得焦点或者按下鼠标时触发该事件。与KeyDown相比, KeyPress发生在其后。.第第4章章 VB.NET的常用控件的常用控件【例4-1】Form窗体实例,程序运行时在窗体上显示“VB.NET欢迎您!”,单击窗体,窗体变成透明红色,试编写程序。.第第4章章 VB.NET的常用控件的常用控件4.2.1 Label控件控件 标签主要
5、用来在窗体上显示文本,与TextBox不同的是它显示的文本用户一般不去改变它。标签也可以用来显示图片,这一点与以前的版本不同。Label主要有以下属性、方法和事件:Text属性:控件中包含的文本TextAlign属性:确定标签中文本的位置,也即文本的对齐方式。共有9个值。UseMnemonic属性:如果为真,&符后面的第一个字符将用作标签的助记键。例如Label1.Text=“密码(&P)”,则Label1的助记键为P。Image属性:指定标签要显示的图片。ImageAlign属性:图片在标签中的对齐方式,具体与TextAlign属性相同。4.2 Label和和LinkLabel.第第4章章
6、VB.NET的常用控件的常用控件Font属性:文本的字体,用于显示Label文本的字体,程序运行时为可读。ForeColor属性:用于显示标签中文本和图片的前景色。TabIndex属性:按Tab键时,光标将会按照TabIndex的值的顺序移到该控件上。Click事件:鼠标单击Label触发该事件。DoubleClick事件:用鼠标快速双击Label时触发该事件。【例4-2】模拟一Windows 2000的登录界面,要求用户名和密码分别使用热键 :“用户名(&N)”、“密码(&P)”。其他自行设定。.第第4章章 VB.NET的常用控件的常用控件4.2.2 LinkLabel控件控件 使用带链接的
7、标签LinkLabel可以为标签的部分或者全部文字设置超链接。这样,我们可以很方便地访问某个网页或者某个程序。LinkLabel主要有以下属性、方法和事件:LinkColor属性:控件中未被单击之前的文本的颜色。VisitedLinkColor属性:控件中被单击过的文本的颜色。 ActiveLinkColor属性:控件被单击时文本的颜色。LinkVisited属性:值为True时,表示该控件曾经被单击过;值为False时表示该控件没有被单击过。LinkClicked事件:用户单击控件时发生该事件。可以调用 System.Diagnostics.Process.Start()来打开一个网页。.第
8、第4章章 VB.NET的常用控件的常用控件Add方法:为超链接标签LinkLabel的部分文本添加链接,要用到两个类LinkLabel.Link类和LinkLabel.LinkConnection类。Add方法属于后者,用于为LinkLabel的部分文本添加链接,如LinkLabel2.Links.Add(2, 2, http:/),表示为LinkLabel3这个超链接标签的第三、四个字符添加超链接。括号中的三个参数分别表示添加超链接的开始字符、长度、链接的目的网页。注意:在这里第一个字符的序号是0,汉字和其他字符都表示一个字符。Clear方法:Clear方法属于LinkLabel.LinkC
9、onnection类,表示清除所有的超链接。如LinkLabel2.LinkConnection.Clear(),表示清除超链接标签LinkLabel2的所有超链接。【例4-3】在窗体上有三个超链接标签,分别为LinkLabel1、LinkLabel2、LinkLabel3。Text属性分别为“中央电视台”、“网易和新浪”、“运行Word”。程序要求点击链接能打开相应的网页或程序。.第第4章章 VB.NET的常用控件的常用控件4.3.1 TextBox控件控件 文本框一般用于显示和输入文本,其内容可以被修改,常见的属性、方法和事件如下:Text属性:文本框中显示的文本。ReadOnly属性:值
10、为True时,文本框中的文本不可以被修改;值为False时则相反。PasswordChar属性:在设置密码时用到该属性,如TextBox1.PasswordChar=“*”时,则无论文本框中输入什么数据都以“*”占位显示,从而起到保密作用。MultiLine属性:控制编辑控件的文本是否可以跨行显示。ScrollBar属性:指示对于多行编辑控件,将为此控件显示哪些滚动条。4.3 TextBox和和RichTextBox.第第4章章 VB.NET的常用控件的常用控件WordWrap属性:指示多行编辑控件是否自动换行。值为True时,只有当MultiLine设置为True时方有效。AcceptRet
11、urn属性:值为True时,按Enter换行,默认为False,此时按Ctrl+Enter换行。Undo方法:取消上一次操作。Copy方法:拷贝,将选取的文本送到剪贴板。Cut方法:复制,将选取的文本送到剪贴板,并同时从原来位置删除。Paste方法:将剪贴板上的内容粘贴到光标所在位置,并替代当前选定的文本。TextChange事件:编辑文本框中的文本时触发该事件。MouseLeave事件:鼠标离开时触发该事件。MouseHover事件:鼠标停留时触发该事件。.第第4章章 VB.NET的常用控件的常用控件【例4-4】设计一个简单的编辑器。具有复制、剪贴、粘贴、撤销等功能。程序界面及结果界面如下图
12、:程序界面及结果界面如下图:.第第4章章 VB.NET的常用控件的常用控件【例4-5】界面如下图,我们为文本框TextBox1编写代码,当鼠标在文本框TextBox1 上停留时或者鼠标从TextBox1 中离开到TextBox2中时,提示输入用户名。程序界面如下图:程序界面如下图:.第第4章章 VB.NET的常用控件的常用控件4.3.2 RichTextBox控件控件 RichTextBox功能比TextBox功能要强大,它可以打开文件、保存文件,为选取文本设置字体、颜色,还可以查找文本、重复或者撤销上一次的操作等。我们可以使用它编写一个功能比较强大的编辑器。其常见的属性、方法和事件如下:Se
13、lectionFont属性:设置或者返回选定文本的字体。SelectionColor属性:设置或者返回选定文本的颜色。SelectedText属性:设置或者返回RichTextBox中选定的文本,如:RichTextBox1.SelectedText=“”,表示删除RichTextBox1中选定文本。CanUndo属性:值 为True时表示可以取消上一次的操作,值为False时,表示不可以取消上一次的操作。CanRedo属性:值 为True时表示被Undo取消的方法可以被重做。.第第4章章 VB.NET的常用控件的常用控件Redo方法:重复被上一次的Undo方法取消的操作,要求CanRedo的
14、值为True。Undo方法:取消上一次操作,要求CabUndo的值为True,Undo才能被使用。Find方法:搜索指定的字符串,有几种格式,这里介绍一种,如n=RichTextBox1.Find(“12”),n就是在RichTextBox1中字符串“12”首次出现的位置,若未找到“12”,则n的值为-1。LoadFile方法:有几种重载形式,比较复杂。对其中的某些重载形式将在后面的例题中讲解。SaveFile方法:同上。SelectionChanged事件:若选定的文本发生变化,则触发该事件。TextChanged事件:若文本框中的文本发生变化则触发该事件。.第第4章章 VB.NET的常用控
15、件的常用控件【例4-6】在窗体上有RichTextBox1、命令按钮Button1、Button2、 Button3和字体对话框fond、打开对话框ofd、保存对话框sfd。程序界面及字体对话框如下图:程序界面及字体对话框如下图:.第第4章章 VB.NET的常用控件的常用控件打开对话框如下图:打开对话框如下图:.第第4章章 VB.NET的常用控件的常用控件打开一个文本文件的界面及保存对话框如下图:打开一个文本文件的界面及保存对话框如下图:.第第4章章 VB.NET的常用控件的常用控件 RichTextBox1.LoadFile()有几种重载形式,这里只介绍上面一种,表示将对话框中选定的文件装载
16、,并且显示在RichTextBox1中。如下图所示:.第第4章章 VB.NET的常用控件的常用控件 RichTextBox1.LoadFile() 中的参数RichTextBoxStreamType有几种格式,具体使用如下表所示:参数值描述PlainText文本流(txt)RichNoOleObjsrtf格式的文本,不可以包含对象链接嵌入模式型(OLE),若有OLE则以空格代替,仅在SaveFile方法中使用。RichTextrtf格式的文本,可以包含对象链接嵌入模式型(OLE)。TextOleObjsrtf格式,若有OLE则以文本代替UnieCodePlainText文本流,若有OLE则以空
17、格代替,文本用UnieCode格式编码。.第第4章章 VB.NET的常用控件的常用控件 SaveFile() 还有其他几种重载形式:(1)RichTextBox1.SaveFile(”E:aa.txt”, RichTextBoxStreamType .PlainText)它以文本形式保存文件。(2) RichTextBox1.SaveFile(”E:aa.txt”)使用这种格式保存后,必须用RichTextBox打开【例4-7】设计、制作一个功能较全的文本编辑器,要求具有复制、删除、剪贴、粘贴四种功能。.第第4章章 VB.NET的常用控件的常用控件4.4.1 Button控件控件 命令按钮Bu
18、tton比较简单,但使用却是最频繁的,我们主要使用其Click事件。主要的属性、方法和事件如下:Text属性:按钮上显示的文本。TextAlign属性:按钮上显示的文本的对齐方式。ImageAlign属性:按钮上显示的图片的对齐方式。FlatStyle属性:确定当用户将鼠标移动到控件上并单击时控件的显示。Enabled属性:指示是否已启用该控件。值为True时启用,值为False时不启用。Click事件:单击该控件时触发该事件。4.4 Button、RadioButton、GroupBox、CheckBox.第第4章章 VB.NET的常用控件的常用控件【例4-8】设计、制作一个功能较全的文本编
19、辑器,要求具有复制、删除、剪贴、粘贴、撤销五种功能。并且进行一定的美化。程序界面如下图:程序界面如下图:.第第4章章 VB.NET的常用控件的常用控件4.4.2 RadioButton和和GroupBox控件控件 单选按钮主要用于多选一。如果用于多选多还需要与GroupBox配合使用。RadioButton的主要属性、方法、事件如下:Appearance属性:控制单选按钮是按通常情况显示还是显示为windows普通按钮。Checked属性:指示单选按钮是否被选中。True为选中,False为未选中。CheckedChange事件:单击按钮时该事件被触发。GroupBox的主要属性如下:Text
20、属性:控件中包含的文本。Font属性:显示控件中文本的字体。RadioButton_CheckedChanged事件:checked属性值发生改变时发生。.第第4章章 VB.NET的常用控件的常用控件【例4-9】设计、制作一个编辑字体的小程序。要求窗体上有GroupBox一个,名称、属性为GroupBox1,Text属性为“颜色”,在GroupBox1有RadioButton1、RadioButton2、 RadioButton3,Text属性分别为红色、黄色和蓝色。程序要求单击RadioButton按钮时,RichTextBox中的文字以相应的颜色显示。程序界面如下图:程序界面如下图:.第第
21、4章章 VB.NET的常用控件的常用控件【例4-10】设计、制作一个编辑字体的小程序。要求窗体上有GroupBox一个,名称、属性为GroupBox1,Text属性为“字号”,在GroupBox1有RadioButton1和RadioButton2,Text属性分别为10号和20号。程序要求单击RadioButton按钮时,RichTextBox中的文字以相应的字号显示。程序界面如下图:程序界面如下图:.第第4章章 VB.NET的常用控件的常用控件【例4-11】如下图,界面上有标签Label1,组合框GroupBox1和GroupBox2,其中组合框GroupBox1中有单选按钮,RadioB
22、utton1和RadioButton2,组合框GroupBox2中有单选按钮,RadioButton3和RadioButton4, GroupBox1中的两个单选按钮用于设置字体大小, GroupBox2中的两个单选按钮用于设置字体的颜色,请按下图来设置各控件的属性,并编写程序,使得单击RadioButton按钮时,RichTextBox中的文字以相应的字号和颜色显示。(作业作业).第第4章章 VB.NET的常用控件的常用控件4.4.3 CheckBox控件控件 CheckBox按钮主要用于多选多。每一个CheckBox都可以被选取和不选取。各个复选框之间互相不影响。 CheckBox的主要属
23、性、方法、事件如下:CheckState属性:复选框的状态,有3个属性值:选中Checked(白底选中)、中间状态Indeterminate(灰底选中)、未被选中UnChecked(空白框)。ThreeState属性:值为True时表示复选框可以处于中间状态,也就是Indeterminate 状态。CheckStateChange事件:复选框状态发生改变时触发该事件。.第第4章章 VB.NET的常用控件的常用控件【例4-12】窗体上有文本框和复选框各一个,其Text属性分别为“文本框”和“文本只读”。选定复选框则文本框只读如图(a),不选定复选框则文本框中的文本可以进行编辑修改如图(b)。(a
24、)(b)【例4-13】界面如下图所示,窗体上有RichTextBox、Label和CheckText各一个,程序要求将RichTextBox上的选定文本和Label上的文本设置为粗体和非粗体。(课堂练习).第第4章章 VB.NET的常用控件的常用控件4.5.1 ListBox控件控件 普通列表框控件主要用于显示列表,一个列表中常常有几个项目。ListBox的属性、方法和事件如下:Items属性:列表项的集合,通过该属性可以预设将在列表项中显示的选项。MultiColumn属性:列表框是否包含多列,默认值为false,表示列表项以单列显示。SelectionMode属性:指示列表框将是单项选择、
25、多项选择还是不可选择。Sorted属性:在程序运行时控制是否对列表中的项进行自动排序。DataSource属性:用于设置与列表框项链接的数据源。链接数据源后列表框可以显示数据源中的记录。4.5 ListBox和和ComboBox.第第4章章 VB.NET的常用控件的常用控件BorderStyle属性:列表框的边框样式。SelectedIndex属性:表示选定项的序号,第一项序号为0,如果没有选定项则SelectedIndex的值为-1。SelectedIndexChanged事件:选定某项时触发该事件。 Items是ListBox的很重要的属性,它是列表项的集合,删除、添加、选定某项都要用到该
26、属性。它属于ListBox.ObjectCollection类, ListBox.ObjectCollection类常见的属性、方法如下:Count属性:列表框的项数。它的值为整型数值,例如:ListBox1.Items.Count=4,表示列表框中有4项。Item属性:列表框中某项,它是一个数组,例如:ListBox1.Items.Item(2)表示列表框的第三项,列表框的第一项的序号为0。Add方法:为列表框添加项目。参数为要添加的项,添加是从最后添加。例如:ListBox1.Items.Add(“西安”).第第4章章 VB.NET的常用控件的常用控件Insert方法:向列表框中的某个位置
27、添加项目。该方法有两个参数:第一个参数表示要添加的位置,第二个参数表示要添加的内容。例如:ListBox1.Items.Insert(3,“西安”),表示在第4项位置添加“西安”。Clear方法:清除列表框的所有项。 Clear方法没有参数,例如:ListBox1.Items.Clear()。Remove方法:删除列表框的某项。该方法有一个参数,这个参数就是将要删除的那项。例如:ListBox1.Items.Remove(ListBox1.SelectedItem)表示删除选中的那项。如果没有参数就什么也不做。【例4-14】界面如下页图所示。窗体上有两个标签:Label1和Label2,两个列
28、表框ListBox1和ListBox2,命令按钮6个,文本框1个。要求编写程序,使得按下“-”键时,将ListBox1中选中内容的一项移动到ListBox2中,按下“-”键时,将ListBox1中所有选中内容都移动到ListBox2中。另外两键则向相反方向移动。按下“添加”按钮时,将TextBox1中的内容添加到ListBox1中,按下“退出”键时,程序停止运行。.第第4章章 VB.NET的常用控件的常用控件.第第4章章 VB.NET的常用控件的常用控件4.5.2 ComboBox控件控件 ComboBox常见属性如下表:类别类别名称名称描述描述属性DropDwonStyle列表框的样式,有三
29、种样式。事件TextChanged编辑文本框时触发该事件。 DropDwonStyle几种取值和相应的样式:属性值属性值描述描述Simple文本框部分可以编辑,下拉列表不直接显示出来。DropDwonList文本框部分不可以编辑,用户就要单击箭头才可以显示下拉列表框。DropDwon文本框部分可以编辑,用户就要单击向下箭头才可以显示下拉列表框,这个值是缺省值。.第第4章章 VB.NET的常用控件的常用控件【例4-15】界面如下图所示,窗体上有一个Label和一个ComboBox,程序要求当ComboBox的值变化时, Label的背景色随之变成下拉列表框显示的颜色。程序的运行界面如下:.第第4
30、章章 VB.NET的常用控件的常用控件4.6 Timer控件控件 Timer常见属性描述:类别类别名称名称描述描述属性Interval每隔多长时间发生一次Tick事件,单位是毫秒。Enabled计时器是否有效,值为True时,每隔Interval发生一次Tick事件,值为False时,停止使用计时器。方法Start计时器开始工作,相当于Enabled=TrueStop计时器停止工作,相当于Enabled=False事件Tick每隔Interval毫秒触发一次Tick事件。.第第4章章 VB.NET的常用控件的常用控件【例4-16】界面如下图所示,窗体上有两个Button控件,其Text属性分别
31、为“开始”和“停止”。界面上还有一Label,程序要求当单击“开始”按钮时,Label上显示当前的北京时间,“停止”则停止显示。程序的运行界面如下:.第第4章章 VB.NET的常用控件的常用控件【例4-17】设计一程序,使得“欢迎使用学生管理系统”的字体在窗体上从右边向左边运动,从左边窗体边消失后,再从右边边框出来,这样周而复始。程序的运行界面如下:.第第4章章 VB.NET的常用控件的常用控件4.7 PictureBox控件控件 PictureBox常见属性描述:属性属性描述描述BorderStyle设置控件边框类型,分为none(无线条)、FixSingle(单线条)、Fix3D(立体线框
32、)共3种。Image在图片框中显示的图片。SizeMode设置控件显示的图片的大小,分为Normal、trechImage、AutoSize、CenterImage共4种。.第第4章章 VB.NET的常用控件的常用控件4.8 综合实例综合实例【例4-18】P101例5-11,抽奖程序改造本程序,使得显示固定的身份证号码。【例4-19】抽奖程序。本程序用到命令按钮、标签、计时器控件。程序是这样的:可以抽取一等奖、二等奖和三等奖,其中抽取一等奖的概率为1/6,抽取二等奖的概率为2/6,抽取三等奖的概率为3/6。(学生自己完成)程序属性如下图:对象对象属性属性属性值属性值Button1Text开始IntervalTick100EnabledFalseButton2Text停止.第第4章章 VB.NET的常用控件的常用控件程序运行界面如下图:.第第4章章 VB.NET的常用控件的常用控件习习 题题时钟程序,本程序将要用到前面学过的标签、计时器、组合框、单选按钮和复选按钮。程序是这样的:按照12小时制和24小时制动态显示时间,并且可以设置显示时间的字体,界面如下图:.