VB教程 2.docx
《VB教程 2.docx》由会员分享,可在线阅读,更多相关《VB教程 2.docx(13页珍藏版)》请在冰豆网上搜索。
VB教程2
第一节——Label控件
在第一章,我们已经知道,任何一个VB程序都是由操作界面及与之相应的程序代码组成,而操作界面则是由诸如“命令按钮控件”、“标签控件”等控件以及窗体共同组成。
从本章开始,我们进入控件的学习过程。
Label(标签控件)是图形控件,主要作用在于显示文字信息,如大家比较熟悉的程序安装界面:
在某个软件安装过程中,常常会显示一些帮助信息或与产品相关的介绍信息,而这些,大多是用标签控件制成的。
与以后我们要学到的文本框控件(TextBox)不同的是,标签控件显示的文字不能直接进行修改,要修改的话只能在设计阶段进行;文本框既可以用来显示文本,还能够在文本框中输入文本。
在VisualBasic工具箱中,标签控件的图标如图一所示。
标签的默认名称(Name)和标题(Caption)为LabelX(X为1、2、3,等等),规范的命名方式为:
LblX(X为自己定义的詞,如LblShow、LblRed,等等)
图一
一、标签控件的主要属性:
1、Caption(标题)属性:
此属性用来设置在标签上显示的文本信息,可以在创建界面时设置,也可以在程序中改变文本信息,如第一章的例子中,通过点击按钮改变标签显示的字样。
如果要在程序中修改标题属性,代码规则如下:
标签名称.Caption="欲显示的文本"
如第一章在程序中改变标签LblShow的Caption属性:
LblShow.Caption="跟我来学VB神童教程"
但是请大家注意,上面的代码应该写入供触发的控件对应的程序代码区,如第一章中,是在命令按钮的程序代码区输入的代码,而不是标签本身的代码区哟。
这也是初学者常常大惑不解的地方,为什么我要让标签改变字样,却要在其他控件中输入代码?
这是因为,我们是通过触发其他控件这个事件来让标签改变Caption属性的。
当然,你也可以让标签本身来触发Caption属性改变事件,如用鼠标点击标签,这时你就需要在标签对应的程序代码区输入代码了,但在实际编写中,这种情况非常罕见。
毕竟,标签控件用于显示信息的本意远远超过了响应鼠标点击的意图。
2、BorderStyle(边框)属性:
本属性用来设置标签的边框类型,有两种值可选:
0,代表标签无边框;1,代表标签有边框,并且具有三维效果,如图二显示的两个标签:
图二
BorderStyle属性可以在设计界面时指定,如图三:
图三
也可以在程序中改变(但这种应用不多见),程序代码规则:
标签名.BorderStyle=0/1(0或1,两者取一)
习题一:
创建一个标签(LblShow)、两个按钮(CmdChange1、CmdChange2),点按CmdChange1,标签有边框;点按CmdChange2,标签无边框。
联想:
在完成本题后,你可能会想到,有没有办法用一个按钮来完成本题的功能?
即鼠标点击一下,标签有边框,再点一下,标签边框消除,再点一下,边框又出现,以此类推。
回答是肯定的,不过,这是在以后的学习中要讲的。
答案:
见本节最后的答案区。
3、Font(字体)属性:
本属性用来设置标签显示的字体,既可以在创建界面时设定,也可以在程序中改变。
在创建界面时设定,如图四:
图四
在图四的设置界面中,除了可以选择字体,还可以设置显示文字是否为粗体、斜体、下划线等。
在程序中改变Font属性,程序代码书写规则如下:
字体改变:
标签名.FontName="字体类型",其中,“字体类型”可以是中文,如“宋体”、“隶书”;也可以是英文名,如“Arial”、“TimesNewRoman”,等等,不过,这些字体名称必须是电脑上有的。
字体大小改变:
标签名.FontSize=X,其中,X是阿拉伯数字,代表字体是几号字。
如:
LblShow.FontSize=11。
粗体(FontBold)、斜体(FontItalic)、下划线(FontUnderline)、删除线(FontStrikethru)属性的设置值是代表真/假的逻辑判断值True/False,如下:
LblShow.FontBold=True/False
LblShow.FontItalic=True/False
习题二:
一个标签(LblShow)用于显示文本;按钮1(Cmd1)可以让标签显示的字体变成隶书;按钮2(Cmd2)可以让标签显示的字体变成13号字;按钮3(Cmd3)可以让字体变成粗体。
答案:
见本节最后的答案区。
4、Alignment(对齐)属性:
此属性用来设置标签上显示的文本的对齐方式,分别是:
左对齐,0;右对齐,1;居中显示,2。
可以在界面设置时设定,如图五:
图五
也可以在程序中改变,代码如下:
标签名.Alignment=0/1/2
5、Visible(可见)属性:
本属性在大多数控件中都有,它能设定该控件是否可见。
当值为True,控件可见;当值为False,控件隐藏。
控件的可见属性可以在界面设置时设定,如图六:
图六
也可以在程序中改变,代码如下:
标签名.Visible=True/False
习题三:
一个标签(LblShow),在界面设置时为可见;按钮1(Cmd1),能够让标签隐藏;按钮2(Cmd2),能够让标签显现。
答案:
见本节最后的答案区
二、标签控件(Label)的主要事件:
所谓的事件,其实就是用户对应用程序的操作,如第一章中用鼠标点击命令按钮触发的Click事件。
事件的作用在于触发程序的执行,如第一章中的Click事件改变了标签控件的Caption属性。
标签控件的主要作用在于显示文本信息,但也支持一些为数不多的事件。
1、Click事件(鼠标单击):
用鼠标点击标签时触发的事件,如改变标签的字体属性:
PrivateSubLblShow_Click()
LblShow.FontName="隶书"
EndSub
第二节——TextBox控件
在VisualBasic操作界面中,TextBox(文本框)控件所代表的图标如图一:
图一
TextBox控件主要用来显示文本或用来输入文本,如Windows登陆时的“口令”窗口,或者记事本的整个编辑区域。
双击工具箱中的文本框控件或者单击文本控件,然后用鼠标在VB的工作区域拖拉,就可以创建文本框了。
如图二:
图二
文本框控件的默认名称为TextX(X为1、2、3,等等),命名规则为TxtX(X为用户自定义的名字,如TxtShow、TxtFont、TxtColor,等等)
一、文本框控件的主要属性:
1、Text(文本)属性:
本控件最重要的属性,用来显示文本框中的文本内容,可以在界面设置时指定,如图三:
图三
也可以在程序中动态修改,程序代码规则:
文本框控件名.Text="欲显示的文本内容"
如要在一个名为TxtFont的文本框控件中显示“隶书”字样,那么输入代码:
TxtFont.Text="隶书"
习题一:
创建一个文本框(TxtContent)用来显示文本;按钮一(Cmd1),点击时文本框内容变为“跟我来学VB神童教程”;按钮二(Cmd2),点击时文本框内容清空(也就是没有内容)。
答案:
见答案区。
2、SelText(选中文本)属性:
本属性返回或设置当前所选文本的字符串,如果没有选中的字符,那么返回值为空字符串即""。
请注意,本属性的结果是个返回值,或为空,或为选中的文本。
一般来说,选中文本属性跟文件复制、剪切等剪贴板(在VB中,剪贴板用Clipboard表示)操作有关,如要将文本框选中的文本拷贝到剪贴板上:
Clipboard.SetText文本框名称.SelText(注意,本行没有表示赋值的等号。
)
要将剪贴板上的文本粘贴到文本框内:
文本框名称.SelText=Clipboard.GetText(注意,本行有表示赋值的等号。
)
例:
一个文本框(TxtContent),按钮一(CmdCopy)用于复制文本框中的选中文本;按钮二(CmdPaste)用于将剪贴板上的内容粘贴到文本框内。
按钮一:
PrivateSubCmdCopy_Click()
Clipboard.SetTextTxtContent.SelText
EndSub
按钮二:
PrivateSubCmdPaste_Click()
TxtContent.SelText=Clipboard.GetText
EndSub
3、SelStart与SelLength属性:
SelStart,选中文本的起始位置,返回的是选中文本的第一个字符的位置。
SelLength,选中文本的长度,返回的是选中文本的字符串个数。
例如:
文本框TxtContent中有内容如下:
跟我一起学习VB神童教程
假设选中“一起学习”四个字,那么,SelStart为3,SelLength为4。
4、MaxLength(最大长度)属性:
本属性限制了文本框中可以输入字符个数的最大限度,默认为0,表示在文本框所能容纳的字符数之内没有限制,文本框所能容纳的字符个数是64K,如果超过这个范围,则应该用其他控件来代替文本框控件。
这跟Windows中用记事本打开文件一样,当文件过大,系统会自动调用写字板来打开文件,而不是用记事本。
文本框控件MaxLength属性既可以在界面设置过程中予以指定,如图四:
图四
也可以在设计时予以改变,代码如下:
文本框控件名.Maxlength=X(X为阿拉伯数字,如10、20、57,等等)。
5、MultiLine(多行)属性:
本属性决定了文本框是否可以显示或输入多行文本,当值为True,文本框可以容纳多行文本;当值为False,文本框则只能容纳单行文本。
本属性只能在界面设置时指定,程序运行时不能加以改变。
如图五:
图五
6、PasswordChar(密码)属性:
本属性主要用来作为口令功能进行使用。
例如,若希望在密码框中显示星号,则可在“属性”窗口中将PasswordChar属性指定为“*”。
这时,无论用户输入什么字符,文本框中都显示星号。
如图六:
图六
在VB中,PasswordChar属性的默认符号是星号,但你也可以指定为其他符号。
但请注意,如果文本框控件的MultiLine(多行)属性为True,那么文本框控件的PasswordChar属性将不起作用。
习题二:
一个文本框(TxtPassword),PasswordChar属性指定为星号“*”;一个按钮(CmdShow);另外还有一个标签(LblShow),在初始状态下,Caption为空。
程序目的在于,点击CmdShow按钮,LblShow能显示文本框控件中输入的密码。
答案:
见本节后面的答案区。
7、ScrollBars(滚动条)属性:
本属性可以设置文本框是否有滚动条。
当值为0,文本框无滚动条;值为1,只有横向滚动条;值为2,只有纵向滚动条;值为3,文本框的横竖滚动条都具有。
如图七:
图七
8、Locked(锁定)属性:
当值为False,文本框中的内容可以编辑;当值为True,文本框中的内容不能编辑,只能查看或进行滚动操作。
二、文本框控件的事件:
除了Click、DbClick这些不常用的事件外,与文本框相关的主要事件是Change、GotFocus、LostFocus事件。
1、Change事件:
当用户向文本框中输入新内容,或当程序把文本框控件的Text属性设置为新值时,触发Change事件。
2、GotFocus事件:
本事件又名“获得焦点事件”。
所谓获得焦点,其实就是指处于活动状态。
在电脑日常操作中,我们常常用Alt+Tab键在各个程序中切换,处于活动中的程序获得了焦点,不处于活动的程序则失去了焦点(LostFocus)。
3、LostFocus事件:
失去焦点,详情如上。
例子:
一个文本框(TxtContent),默认状态下内容为空;当获得焦点时,文本框内容显示————“大家好,课程还难吗”字样;当失去焦点,文本框回到初始状态。
另外再创建一个标签(LblShow),当用户试图向文本框输入文本或改变文本框本来的文本时,标签显示“标签的作用大家还清楚吗”字样。
界面如图八:
图八
程序如下:
文本框:
PrivateSubTxtContent_GotFocus()
TxtContent.Text="大家好,课程还难吗"
EndSub
PrivateSubTxtContent_LostFocus()
TxtContent.Text=""
EndSub
PrivateSubTxtContent_Change()
LblShow.Caption="标签的作用大家还清楚吗"
EndSub
三、知识点:
1、请记住,Clipboard指的是Windows剪贴板,剪贴板最常用的操作是所选文本的拷贝与粘贴。
拷贝:
Clipboard.SetText文本框名称.SelText
粘贴:
文本框名称.SelText=Clipboard.GetText
2、Multiline属性为True时,文本框控件的PasswrodChar属性不起作用。
3、如果要让文本框的内容自动换行,只需取消文本框的横向滚动条就行了。
四、答案区:
习题一:
按钮一:
PrivateSubCmd1_Click()
TxtContent.Text="跟我来学VB神童教程"
EndSub
按钮二:
PrivateSubCmd2_Click()
TxtContent.Text=""
EndSub
习题二:
按钮:
PrivateSubCmdShow_Click()
LblShow.Caption=TxtPassword.Text
EndSub