在第一章,我們已經(jīng)知道,任何一個(gè) VB 程序都是由操作界面及與之相應(yīng)的程序代碼組成,而操作界面則是由諸如“命令按鈕控件”、“標(biāo)簽控件”等控件以及窗體共同組成。從本章開始,我們進(jìn)入控件的學(xué)習(xí)過程。
Label(標(biāo)簽控件)是圖形控件,主要作用在于顯示文字信息,如大家比較熟悉的程序安裝界面:在某個(gè)軟件安裝過程中,常常會(huì)顯示一些幫助信息或與產(chǎn)品相關(guān)的介紹信息,而這些,大多是用標(biāo)簽控件制成的。
與以后我們要學(xué)到的文本框控件(TextBox)不同的是,標(biāo)簽控件顯示的文字不能直接進(jìn)行修改,要修改的話只能在設(shè)計(jì)階段進(jìn)行;文本框既可以用來顯示文本,還能夠在文本框中輸入文本。
在 Visual Basic 工具箱中,標(biāo)簽控件的圖標(biāo)如圖一所示。標(biāo)簽的默認(rèn)名稱(Name)和標(biāo)題(Caption)為 LabelX(X為1、2、3,等等),規(guī)范的命名方式為:LblX(X為自己定義的詞,如 LblShow 、LblRed ,等等)
圖一
一、標(biāo)簽控件的主要屬性:
1、Caption(標(biāo)題)屬性:
此屬性用來設(shè)置在標(biāo)簽上顯示的文本信息,可以在創(chuàng)建界面時(shí)設(shè)置,也可以在程序中改變文本信息,如第一章的例子中,通過點(diǎn)擊按鈕改變標(biāo)簽顯示的字樣。
如果要在程序中修改標(biāo)題屬性,代碼規(guī)則如下:
標(biāo)簽名稱.Caption = "欲顯示的文本"
如第一章在程序中改變標(biāo)簽 LblShow 的 Caption 屬性:
LblShow.Caption = "跟我來學(xué) VB 神童教程"
但是請(qǐng)大家注意,上面的代碼應(yīng)該寫入供觸發(fā)的控件對(duì)應(yīng)的程序代碼區(qū),如第一章中,是在命令按鈕的程序代碼區(qū)輸入的代碼,而不是標(biāo)簽本身的代碼區(qū)喲。
這也是初學(xué)者常常大惑不解的地方,為什么我要讓標(biāo)簽改變字樣,卻要在其他控件中輸入代碼?這是因?yàn)?,我們是通過觸發(fā)其他控件這個(gè)事件來讓標(biāo)簽改變 Caption 屬性的。
當(dāng)然,你也可以讓標(biāo)簽本身來觸發(fā) Caption 屬性改變事件,如用鼠標(biāo)點(diǎn)擊標(biāo)簽,這時(shí)你就需要在標(biāo)簽對(duì)應(yīng)的程序代碼區(qū)輸入代碼了,但在實(shí)際編寫中,這種情況非常罕見。畢竟,標(biāo)簽控件用于顯示信息的本意遠(yuǎn)遠(yuǎn)超過了響應(yīng)鼠標(biāo)點(diǎn)擊的意圖。
2、BorderStyle(邊框)屬性:
本屬性用來設(shè)置標(biāo)簽的邊框類型,有兩種值可選:0,代表標(biāo)簽無邊框;1,代表標(biāo)簽有邊框,并且具有三維效果,如圖二顯示的兩個(gè)標(biāo)簽:
圖二
BorderStyle 屬性可以在設(shè)計(jì)界面時(shí)指定,如圖三:
圖三
也可以在程序中改變(但這種應(yīng)用不多見),程序代碼規(guī)則:
標(biāo)簽名.BorderStyle = 0/1(0或1,兩者取一)
習(xí)題一:創(chuàng)建一個(gè)標(biāo)簽(LblShow)、兩個(gè)按鈕(CmdChange1、CmdChange2),點(diǎn)按 CmdChange1 ,標(biāo)簽有邊框;點(diǎn)按 CmdChange2 ,標(biāo)簽無邊框。
聯(lián)想:在完成本題后,你可能會(huì)想到,有沒有辦法用一個(gè)按鈕來完成本題的功能?即鼠標(biāo)點(diǎn)擊一下,標(biāo)簽有邊框,再點(diǎn)一下,標(biāo)簽邊框消除,再點(diǎn)一下,邊框又出現(xiàn),以此類推?;卮鹗强隙ǖ?,不過,這是在以后的學(xué)習(xí)中要講的。
答案:見本節(jié)最后的答案區(qū)。
3、Font(字體)屬性:
本屬性用來設(shè)置標(biāo)簽顯示的字體,既可以在創(chuàng)建界面時(shí)設(shè)定,也可以在程序中改變。
在創(chuàng)建界面時(shí)設(shè)定,如圖四:
圖四
在圖四的設(shè)置界面中,除了可以選擇字體,還可以設(shè)置顯示文字是否為粗體、斜體、下劃線等。
在程序中改變 Font 屬性,程序代碼書寫規(guī)則如下:
字體改變:標(biāo)簽名.FontName = "字體類型",其中,“字體類型”可以是中文,如“宋體”、“隸書”;也可以是英文名,如“Arial”、“Times New Roman”,等等,不過,這些字體名稱必須是電腦上有的。
字體大小改變:標(biāo)簽名.FontSize = X ,其中,X 是阿拉伯?dāng)?shù)字,代表字體是幾號(hào)字。如:LblShow.FontSize = 11 。
粗體(FontBold)、斜體(FontItalic)、下劃線(FontUnderline)、刪除線(FontStrikethru)屬性的設(shè)置值是代表真/假的邏輯判斷值 True/False ,如下:
LblShow.FontBold = True/False
LblShow.FontItalic = True/False
習(xí)題二:一個(gè)標(biāo)簽(LblShow)用于顯示文本;按鈕1(Cmd1)可以讓標(biāo)簽顯示的字體變成隸書;按鈕2(Cmd2)可以讓標(biāo)簽顯示的字體變成 13 號(hào)字;按鈕3(Cmd3)可以讓字體變成粗體。
答案:見本節(jié)最后的答案區(qū)。
4、Alignment(對(duì)齊)屬性:
此屬性用來設(shè)置標(biāo)簽上顯示的文本的對(duì)齊方式,分別是:左對(duì)齊,0;右對(duì)齊,1;居中顯示,2??梢栽诮缑嬖O(shè)置時(shí)設(shè)定,如圖五:
圖五
也可以在程序中改變,代碼如下:
標(biāo)簽名.Alignment = 0/1/2
5、Visible(可見)屬性:
本屬性在大多數(shù)控件中都有,它能設(shè)定該控件是否可見。當(dāng)值為 True ,控件可見;當(dāng)值為 False ,控件隱藏。
控件的可見屬性可以在界面設(shè)置時(shí)設(shè)定,如圖六:
圖六
也可以在程序中改變,代碼如下:
標(biāo)簽名.Visible = True/False
習(xí)題三:一個(gè)標(biāo)簽(LblShow),在界面設(shè)置時(shí)為可見;按鈕1(Cmd1),能夠讓標(biāo)簽隱藏;按鈕2(Cmd2),能夠讓標(biāo)簽顯現(xiàn)。
答案:見本節(jié)最后的答案區(qū)
二、標(biāo)簽控件(Label)的主要事件:
所謂的事件,其實(shí)就是用戶對(duì)應(yīng)用程序的操作,如第一章中用鼠標(biāo)點(diǎn)擊命令按鈕觸發(fā)的 Click 事件。
事件的作用在于觸發(fā)程序的執(zhí)行,如第一章中的 Click 事件改變了標(biāo)簽控件的 Caption 屬性。
標(biāo)簽控件的主要作用在于顯示文本信息,但也支持一些為數(shù)不多的事件。
1、Click 事件(鼠標(biāo)單擊):
用鼠標(biāo)點(diǎn)擊標(biāo)簽時(shí)觸發(fā)的事件,如改變標(biāo)簽的字體屬性:
Private Sub LblShow_Click()
LblShow.FontName = "隸書"
End Sub
2、DbClick 事件(鼠標(biāo)雙擊):
鼠標(biāo)雙擊引發(fā)的事件,如改變標(biāo)簽的可見性:
Private Sub LblShow_DbClick()
LblShow.Visible = False
End Sub
三、知識(shí)點(diǎn):
1、用 VB 編寫程序猶如搭積木,把每塊“積木”(控件或其他對(duì)象)放在合理的位置,然后以某種機(jī)制(程序)將這些“積木”們運(yùn)用起來,最后就搭成了我們需要的東西。所以,掌握每一種控件,包括它們的屬性與主要事件,是我們學(xué)習(xí)編程的基礎(chǔ)!
2、某些屬性是大多數(shù)控件所共有的,如 Name 、FontBold、FontItalic、Visible ,等等;但也有些屬性是某個(gè)控件所獨(dú)有的,如標(biāo)簽控件的 WordWrap (標(biāo)簽的標(biāo)題顯示方式)。本節(jié)中我們只是講述了部分標(biāo)簽控件的屬性,其他屬性可以在 VB 的幫助文件中查找到。
3、大家在學(xué)習(xí)過程中一定會(huì)疑惑,為什么在屬性設(shè)置時(shí),“=” 右邊有時(shí)使用 "" ,有時(shí)又不使用 "" 。不知大家注意到?jīng)]有,我們?cè)谑褂?"" 時(shí),是因?yàn)橐?hào)里面的內(nèi)容是字符串,如"隸書"、"Times New Roman",等等。
4、字符的大小寫問題:初學(xué)者還常常疑惑,字母什么時(shí)候應(yīng)該大寫,什么時(shí)候應(yīng)該小寫?其實(shí),大寫小寫在 VB 程序中都是一樣的,但為了讓程序編寫得更為規(guī)范,程序可讀性更高,英文單詞的第一個(gè)字母一般都要大寫,如 Visible 、Name ,等等;
控件的命名也遵循以上原則,不同的是,命名都是由“控件類型名+具體名字”組成的,控件類型名的第一個(gè)字母要大寫,具體名字的第一個(gè)字母要大寫,如 LblShow 、CmdShow 、LblChange ,等等。
5、程序代碼的規(guī)范:上面有這樣的例子:
Private Sub CmdShow_Click()
LblShow.Caption = "跟我來學(xué) VB 神童教程"
End Sub
Private Sub CmdShow_Click()代表一個(gè)過程,共由兩部分組成,CmdShow 代表 CmdShow 這個(gè)按鈕,Click 代表這個(gè)按鈕的觸發(fā)事件。
以此類推,Private Sub LblShow_DbClick ()也代表一個(gè)過程,LblShow 是個(gè)標(biāo)簽,DbClick 是雙擊事件。
另外,Private 意為“私有”,表明這個(gè)事件過程的類型;此外還有 Public 即“公有”事件。
Sub 表明這個(gè)過程是“子程序”,若干個(gè)“子程序”共同組成最終的應(yīng)用程序。
Sub 表明這個(gè)過程是“子程序”,若干個(gè)“子程序”共同組成最終的應(yīng)用程序。
四、答案區(qū):
第一題:
第一個(gè)按鈕的點(diǎn)擊事件:
Private Sub CmdChange1_Click()
LblShow.BorderStyle = 1
End Sub
第二個(gè)按鈕的點(diǎn)擊事件:
Private Sub CmdChange2_Click()
LblShow.BorderStyle = 0
End Sub
第二題:
按鈕1:
Private Sub Cmd1_Click()
LblShow.FontName = "隸書"
End Sub
按鈕2:
Private Sub Cmd2_Click()
LblShow.FontSize = 13
End Sub
按鈕3:
Private Sub Cmd3_Click()
LblShow.FontBold = True
End Sub
第三題:
按鈕1:
Private Sub Cmd1_Click()
LblShow.Visible = False
End Sub
按鈕2:
Private Sub Cmd2_Click()
LblShow.Visible = True
End Sub
------------------------------- · 相關(guān)文檔瀏覽 · --------------------------------------------------------------------- · 熱門文檔瀏覽 · -------------------------------------