第二章 VB的界面設(shè)計(jì)
2.1 VB用戶界面設(shè)計(jì)基礎(chǔ)
1. 概述
界面的設(shè)計(jì)有兩步:先繪制控件,然后確定控件屬性。
繪制控件:在工具箱里單擊想畫的控件,在窗體里按下鼠標(biāo)并拖曳,然后松開鼠標(biāo)即可。確定屬性:先選中控件,然后按F4鍵或單擊工具欄上的屬性窗口進(jìn)入屬性(Properties)窗口,再在屬性窗口中找到要設(shè)置的屬性并進(jìn)行設(shè)置。
2. 常用屬性的設(shè)置
(1)Name屬性
對(duì)象都有名字,計(jì)算機(jī)把名字看成對(duì)象于對(duì)象之間的根本差異,因此在同一窗體里不許出現(xiàn)重名的情況(除非這是一個(gè)控件數(shù)組),且名字不得超過40個(gè)字。
在簡(jiǎn)單的程序里,給控件命名不是很必要,完全可以使用控件Name屬性的缺省值。例如Text1。但在有幾十個(gè)控件的復(fù)雜窗體里,就很難區(qū)分它們。所以,VB推薦由三個(gè)小寫字母的前綴和一個(gè)第一個(gè)字母為大寫的描述性單詞組成的名字。例如cmdMyButton是一個(gè)命令按鈕(前綴是cmd)
推薦的前綴
對(duì)象 |
前綴 |
例子 |
確認(rèn)框(Check Box) |
chk |
chkCareerChioce |
組合框(Combo Box) |
cbo |
cboCrimesCommitted |
命令鈕(Command Button) |
cmd |
cmdExit |
數(shù)據(jù)庫控件(Data Control) |
dat |
datTopSecretInfo |
目錄列表框(Directory List Box) |
dir |
dirTree |
驅(qū)動(dòng)器列表框(Drive List Box) |
drv |
drvHardDisk |
文件列表框(File List Box) |
fil |
filDocuments |
窗體(Form) |
frm |
frm1040Tax |
框架(Frame) |
fra |
fraGroupButtons |
水平滾動(dòng)條(Horizontal Scroll Bar) |
hsb |
hsbTemperature |
圖形(Image) |
img |
imgPrettyDrawing |
標(biāo)簽(Label) |
lbl |
lblFakeName |
線(Line) |
lin |
linBorder |
列表框(List Box) |
lst |
lstCandidates |
菜單(Menu) |
mnu |
mnuHamAndEggs |
選項(xiàng)鈕(Option Button) |
opt |
optStation101 |
圖形框(Picture Box) |
pic |
picPrettyPicture |
幾何圖形(Shape) |
shp |
shpUpOrShipOut |
文本框(Text Box) |
txt |
txtWarning |
垂直滾動(dòng)條(Vertical Scroll Bar) |
vsb |
vsbMoneyRaised |
(2)Caption屬性
Caption即標(biāo)題,是可以在對(duì)象外觀上直接看見的文本,可以長(zhǎng)達(dá)255字符,包括空格和標(biāo)點(diǎn)符號(hào),比如一個(gè)叫cmdOk的命令鈕,它的Caption屬性就可以是“Ok”。 注意:并不是所有的對(duì)象都有此屬性,比如文本框、圖片框、線條等就沒有。
為按鈕設(shè)置熱鍵:在設(shè)置Caption屬性時(shí),在需要加下劃線的字母前加上 “&” 符號(hào),例如 “&File”,輸出的就是“File”,這樣就可以通過按ALT鍵和標(biāo)題上那個(gè)帶下劃線的字母來選取它了, 不必為此編任何代碼。
Name和 caption的比較:
1) Name是系統(tǒng)用來識(shí)別對(duì)象的,編程時(shí)需要用它來指代各對(duì)象;Caption是給用戶看的,提示用戶該對(duì)象的作用;
2) Name可以采用系統(tǒng)默認(rèn)的名稱,但Caption應(yīng)該根據(jù)實(shí)際情況改成意義明了的名詞;
3)所有對(duì)象都有Name,但不一定都有Caption;
(3)Top,Left屬性
這兩個(gè)屬性決定對(duì)象的位置。只有兩種情況需要在屬性窗口里設(shè)置這兩個(gè)屬性:第一種是用戶沒有鼠標(biāo),第二種是程序員需要十分精確地設(shè)定這兩個(gè)值。當(dāng)選中對(duì)象,單擊并拖曳它的時(shí)候,便在修改這兩個(gè)值了。
(4)Height,Width屬性
這兩個(gè)屬性決定了對(duì)象的大小,當(dāng)選中控件時(shí),它周圍出現(xiàn)八個(gè)小黑方塊,把鼠標(biāo)指向這些方塊,鼠標(biāo)指針將變成一個(gè)雙向的箭頭,這時(shí)按下鼠標(biāo)并拖曳它,即可改變控件的大小,也就改變了Height,Width屬性。
2.2 創(chuàng)建窗體
1. 窗體的屬性
(1) 常用屬性簡(jiǎn)介
屬性 |
名稱 |
說明 |
Name |
窗體名稱 |
系統(tǒng)識(shí)別窗體的標(biāo)識(shí)名,一個(gè)窗體名必須以一個(gè)字母開頭,可包含數(shù)字和下劃線,但不能包含空格和標(biāo)點(diǎn)符號(hào)。 |
Caption |
窗體標(biāo)題 |
出現(xiàn)在窗體標(biāo)題欄中的文本內(nèi)容 |
Icon |
窗體圖標(biāo) |
這個(gè)屬性是用戶經(jīng)常要使用的一種屬性。當(dāng)用戶的應(yīng)用程序在工具條上最小化或在Windows桌面上變?yōu)橐粋(gè)獨(dú)立應(yīng)用程序時(shí),該屬性決定將采用何種圖標(biāo),窗體控制框里的圖標(biāo)也由它決定。 |
BackColor |
窗體背景色 |
可以從屬性框里彈出調(diào)色板,選擇所需要的顏色 |
ForeColor |
窗體前景色 |
窗體上打印文字的顏色 |
BorderStyle |
邊框風(fēng)格 |
這個(gè)屬性決定了窗體邊框的樣式,共有6種屬性值。改變窗體的BordrStyle屬性后,窗體在屏幕上沒有變化,它只在運(yùn)行時(shí)才變?yōu)樗蟮臉幼印?/TD> |
Apearance |
外形 |
這個(gè)屬性用來決定控件是否采用三維效果 |
ControlBox |
控件按鈕控件按鈕 |
用來決定是否采用 控件框的屬性,僅在程序運(yùn)行時(shí)才有效。 |
Font |
字體 |
用來改變?cè)摯绑w上顯示信息的字體、字型和字號(hào),它控制著直接在窗體上打印的文本顯示。 |
Visible |
可見性 |
該屬性決定窗體是否可見, 默認(rèn)情況下是可見的。錯(cuò)誤地改變其值是很危險(xiǎn)的,窗體會(huì)從眼前消失, |
WindowState |
窗體狀態(tài) |
指定窗體在運(yùn)行時(shí)的三種狀態(tài):正常、最小化、最大化。 |
Enabled |
活動(dòng)性 |
默認(rèn)值為True,決定窗體能否被訪問。 |
Left、Top、Height、Width |
左邊距、頂邊距、高度、寬度 |
決定窗體在屏幕上的位置及窗體大小。 |
(2)設(shè)置屬性的方法
1)在設(shè)計(jì)態(tài)通過屬性窗口設(shè)置
直接在屬性窗口中選擇或輸入既可。
2)在程序代碼中改變屬性值
代碼中的格式為: 對(duì)象名 . 屬性 = 屬性值
例:Form1.BackColor=RGB(255,0,0)
2. 窗體的常用方法
(1)Hide方法
用以隱藏 MDIForm 或 Form 對(duì)象,但不能使其卸載。
語法:object.Hide
object 所在處代表一個(gè)對(duì)象表達(dá)式,其值為“應(yīng)用于”列表中的一個(gè)對(duì)象。如果省略 object,則帶有焦點(diǎn)的窗體就認(rèn)為是該 object。
說明:
¨ 隱藏窗體時(shí),它就從屏幕上被刪除,并將其 Visible 屬性設(shè)置為 False。 用戶將無法訪問隱藏窗體上的控件,但是對(duì)于運(yùn)行中的 Visual Basic 應(yīng)用程序,或?qū)τ谕ㄟ^ DDE 與該應(yīng)用程序通訊的進(jìn)程及對(duì)于 Timer 控件的事件,隱藏窗體的控件仍然是可用的。
¨ 窗體被隱藏時(shí),用戶只有等到被隱藏窗體的事件過程的全部代碼執(zhí)行完后才能夠與該應(yīng)用程序交互。
¨ 如果調(diào)用 Hide 方法時(shí)窗體還沒有加載,那么 Hide 方法將加載該窗體但不顯示它。
(2)Move方法
用以移動(dòng) MDIForm、Form 或控件。
語法:object . Move left, top, width, height
Move 方法的語法包含下列部分:
部分 |
描述 |
object |
可選的。一個(gè)對(duì)象表達(dá)式,其值為“應(yīng)用于”列表中的一個(gè)對(duì)象。如果省略 object,帶有焦點(diǎn)的窗體缺省為 object。 |
left |
必需的。單精度值,指示 object 左邊的水平坐標(biāo) (x-軸)。 |
top |
可選的。單精度值,指示 object 頂邊的垂直坐標(biāo) (y-軸)。 |
Width |
可選的。單精度值,指示 object 新的寬度。 |
height |
可選的。單精度值,指示 object 新的高度。 |
說明:只有 left 參數(shù)是必須的。但是,要指定任何其它的參數(shù),必須先指定出現(xiàn)在語法中該參數(shù)前面的全部參數(shù)。例如,如果不先指定 left 和 top 參數(shù),則無法指定 width 參數(shù)。任何沒有指定的尾部的參數(shù)則保持不變。
(3)Print 方法
在 Immediate 窗口中顯示文本。
語法:object . Print [outputlist]
Print 方法的語法具有下列對(duì)象限定符和部分:
部分 |
描述 |
object |
必需的。對(duì)象表達(dá)式,其值為“應(yīng)用于”列表中的對(duì)象。 |
outputlist |
可選的。要打印的表達(dá)式或表達(dá)式的列表。如果省略,則打印一空白行。 |
outputlist 參數(shù)具有以下語法和部分:
{Spc(n) | Tab(n)} expression charpos
部分 |
描述 |
Spc(n) |
可選的。用來在輸出中插入空白字符,這里,n 為要插入的空白字符數(shù)。 |
Tab(n) |
可選的。用來將插入點(diǎn)定位在絕對(duì)列號(hào)上,這里,n 為列號(hào)。使用無參數(shù)的 Tab(n) 將插入點(diǎn)定位在下一個(gè)打印區(qū)的起始位置。 |
expression |
可選。要打印的數(shù)值表達(dá)式或字符串表達(dá)式。 |
Charpos |
可選。指定下個(gè)字符的插入點(diǎn)。使用分號(hào) (;) 直接將插入點(diǎn)定位在上一個(gè)被顯示的字符之后。使用 Tab(n) 將插入點(diǎn)定位在絕對(duì)列號(hào)上。使用無參數(shù)的 Tab 將插入點(diǎn)定位在下一個(gè)打印區(qū)的起始位置。如果省略 charpos,則在下一行打印下一字符。 |
說明:
¨ 可以用空白或分號(hào)來分隔多個(gè)表達(dá)式。
¨ 對(duì)系統(tǒng)指定的國(guó)別設(shè)置,用小數(shù)點(diǎn)分隔符將所有打印到 Immediate 視窗的數(shù)據(jù)正確格式化。關(guān)鍵字要用適用于主應(yīng)用程序的語言輸出。
¨對(duì)于 Boolean 數(shù)據(jù),或者打印 True 或者打印 False。根據(jù)主機(jī)應(yīng)用程序的地區(qū)設(shè)置來翻譯 True 和 False 關(guān)鍵字。
¨使用系統(tǒng)能識(shí)別的標(biāo)準(zhǔn)短日期格式書寫 Date 數(shù)據(jù)。當(dāng)日期或時(shí)間部件丟失或?yàn)榱銜r(shí),只書寫已提供的部件。
¨ 如果 outputlist 數(shù)據(jù)是 Empty,則無內(nèi)容可寫。但是,如果 outputlist 數(shù)據(jù)是 Null,則輸出 Null。在輸出 Null 關(guān)鍵字時(shí),要把關(guān)鍵字正確翻譯出來。
¨ 要把錯(cuò)誤數(shù)據(jù)作為 Error errorcode 輸出。在輸出 Error 關(guān)鍵字時(shí),要把關(guān)鍵字正確翻譯出來。
¨如果在具有缺省顯示空間的模塊外使用此方法,則需要 object。例如,如果沒有指定對(duì)象就在標(biāo)準(zhǔn)模塊上調(diào)用此方法,則將導(dǎo)致錯(cuò)誤發(fā)生,但是,如果在窗體模塊上進(jìn)行調(diào)用,則會(huì)在窗體上顯示“outputlist”。
注意: 因?yàn)?/SPAN> Print 方法是按照字符比例進(jìn)行打印,所以字符數(shù)與字符所占據(jù)的寬度固定的列的數(shù)目無關(guān)。例如,像 “W” 這樣的寬字母占據(jù)的寬度超過一固定列寬,而像 "i" 這樣的窄字母占據(jù)的寬度則較小。考慮到要使用比平均字符更寬的空間,表列一定要留有足夠余地。另外,也可以使用固定間距的字體(像 Courier 字體)來確保每一字符均只占一列。
(4)PrintFrom方法
用以將 Form 對(duì)象的圖象逐位發(fā)送給打印機(jī)。
語法:object.PrintForm
說明:PrintForm 將打印 Form 對(duì)象的全部可見對(duì)象和位圖。在繪制圖形時(shí),如果 AutoRedraw 屬性為 True,則在運(yùn)行時(shí)PrintForm 將打印 Form 對(duì)象或 PictureBox 控件上的圖形。
¨PrintForm 所使用的打印機(jī)是由操作系統(tǒng)的控制面板中的設(shè)置來決定。
(5) Refresh方法
強(qiáng)制全部重繪一個(gè)窗體或控件。
語法:object.Refresh
說明:在下列情況下使用 Refresh 方法:
¨在另一個(gè)窗體被加載時(shí)顯示一個(gè)窗體的全部。
¨更新諸如 FileListBox 控件之類的文件系統(tǒng)列表框的內(nèi)容。
¨ 更新 Data 控件的數(shù)據(jù)結(jié)構(gòu)。
Refresh 方法不能用于 MDI 窗體,但能用于 MDI 子窗體。不能在 Menu 或 Timer 控件上使用 Refresh 方法。
通常,如果沒有事件發(fā)生,窗體或控件的繪制是自動(dòng)處理的。但是,有些情況下希望窗體或控件立即更新。例如,如果使用文件列表框、目錄列表框或者驅(qū)動(dòng)器列表框顯示當(dāng)前的目錄結(jié)構(gòu)狀態(tài),當(dāng)目錄結(jié)構(gòu)發(fā)生變化時(shí)可以使用 Refresh 更新列表。
可以在 Data 控件上使用 Refresh 方法來打開或重新打開數(shù)據(jù)庫(如果 DatabaseName, ReadOnly, Exclusive 或 Connect 屬性的設(shè)置值發(fā)生改變),并能重建控件的 Recordset 屬性內(nèi)的 dynaset。
(6)Show方法
用以顯示 MDIForm 或 Form 對(duì)象。
語法:object.Show style, ownerform
Show 方法的語法包含下列部分:
部分 |
描述 |
object |
可選的。一個(gè)對(duì)象表達(dá)式,其值為“應(yīng)用于”列表中的一個(gè)對(duì)象。如果省略 object,則與活動(dòng)窗體模塊關(guān)聯(lián)的窗體缺省為 object。 |
Style |
可選的。一個(gè)整數(shù),它用以決定窗體是模式還是無模式 。如果 style 為 0,則窗體是無模式的;如果 style 為 1,則窗體是模式的。 |
Ownerform |
可選的。字符串表達(dá)式,指出部件所屬的窗體被顯示。對(duì)于標(biāo)準(zhǔn)的Visual Basic 窗體,使用關(guān)鍵字 Me。 |
說明:
¨如果調(diào)用 Show 方法時(shí)指定的窗體沒有裝載,Visual Basic 將自動(dòng)裝載該窗體。
¨當(dāng) Show 在顯示無模式窗體時(shí),隨后遇到的代碼則要執(zhí)行。當(dāng) Show 在顯示模式窗體 (modal form) 時(shí),則隨后的代碼直到該窗體被隱藏或卸載時(shí)才能執(zhí)行。
¨當(dāng) Show 在顯示模式窗體時(shí),除了模式窗體中的對(duì)象之外不能進(jìn)行輸入(鍵盤或鼠標(biāo)單擊)。對(duì)其它窗體進(jìn)行輸入前程序必須隱藏或卸載模式窗體(通常是處于響應(yīng)用戶某些操作狀態(tài))。MDIForm 不能是形式的。
¨在模式窗體顯示時(shí),雖然應(yīng)用程序中的其它窗體失效,但其它應(yīng)用程序不會(huì)失效。
¨應(yīng)用程序的啟動(dòng)窗體在其 Load 事件調(diào)用后會(huì)自動(dòng)出現(xiàn)。
下面的例子說明如何使用ownerform 參數(shù):
Private Sub cmdShowResults_Click()
' 顯示模式窗體 frmResults.
frmResults.Show vbModal, Me
End Sub
(7)Cls方法
清除運(yùn)行時(shí) Form 或 PictureBox 所生成的圖形和文本。
語法:object.Cls
說明:
¨Cls 將清除圖形和打印語句在運(yùn)行時(shí)所產(chǎn)生的文本和圖形,而設(shè)計(jì)時(shí)在 Form 中使用 Picture 屬性設(shè)置的背景位圖和放置的控件不受 Cls 影響。如果激活 Cls 之前 AutoRedraw 屬性設(shè)置為 False, 調(diào)用時(shí)該屬性設(shè)置為 True,則放置在 Form 或 PictureBox 中的圖形和文本也不受影響。 這就是說,通過對(duì)正在處理的對(duì)象的 AutoRedraw 屬性進(jìn)行操作,可以保持 Form 或 PictureBox 中的圖形和文本。
¨調(diào)用 Cls 之后,object 的 CurrentX 和 CurrentY 屬性復(fù)位為 0。
3.窗體的常用事件
(1) Load事件
這個(gè)事件發(fā)生在窗體被裝入內(nèi)存時(shí),且發(fā)生在窗體出現(xiàn)在屏幕之前。窗體出現(xiàn)之前,Visual Basic會(huì)看一看Load事件里有沒有代碼,如果有,那么它先執(zhí)行這些代碼,再讓窗體出現(xiàn)在屏幕上。
(2) Click事件,Dblclick事件
這兩個(gè)事件在單擊或雙擊窗體時(shí)發(fā)生。不過單擊窗體里的控件時(shí),窗體的Click事件并不會(huì)發(fā)生,Visual Basic會(huì)去看控件的Click事件里有沒有代碼。
(3)Activate (活動(dòng)事件)與Deactivate(非活動(dòng)事件)
顯示多個(gè)窗體時(shí),可以從一個(gè)窗體切換到另一個(gè)窗體。每次激活一個(gè)窗體時(shí),發(fā)生Activate 事件,而前一個(gè)窗體發(fā)生Deactivate事件。
(4)Resize事件
在窗體被改變大小時(shí)會(huì)觸發(fā)此事件。
4.窗體的控制
(1) 裝入或卸出窗體
要裝入或卸出窗體,用Load 或Unload語句。
裝入窗體: Load formName
卸出窗體: UnLoad formName
FormName變量是要裝入或卸出的窗體名。 Load語句只是把窗體裝入內(nèi)存,并不顯示出來,要顯示窗體可以使用窗體的Show方法。
(2) 顯示或隱藏窗體
要顯示或隱藏窗體,用Show或Hide方法。若尚未裝入內(nèi)存則先裝入再顯示。
顯示窗體: formName.show mode
隱藏窗體: formName.hide
FormName變量是窗體名,可選變?cè)?/SPAN>mode為0(缺省值)時(shí)窗體為非模態(tài),為1時(shí)窗體為模態(tài)。模態(tài)窗體完全占有應(yīng)用程序控制權(quán),不允許切換到別的應(yīng)用程序,除非關(guān)閉!而非模態(tài)窗體則反之。
(3)END語句
END語句的功能是終止應(yīng)用程序的執(zhí)行,并從內(nèi)存卸在所有窗體。語法是: END
2.3 控件
1. 常用控件介紹
(1)標(biāo)準(zhǔn)控件一
TextBox 文本框 |
Timer計(jì)時(shí)器 |
HscrollBar水平滾動(dòng)條 |
ListBox列表框 |
Pointer 指針 |
VScrollBar 垂直滾動(dòng)條 |
CheckBox 復(fù)選框 |
Label標(biāo)簽 |
DirListBox 文件夾列表框 |
PictureBox圖片框 |
Line 線條 |
DriveListBox 驅(qū)動(dòng)器列表框 |
ComboBox 組合框 |
Shape 圖形 |
FileListBox文件列表框 |
OptionButton選項(xiàng)按鈕 |
Image圖象 |
Data 數(shù)據(jù)控件 |
CommandButton 命令按鈕 |
Frame 框架 |
OLE控件 | |
 |
|
(2) 常用控件的屬性、方法和事件
公共屬性 |
Name、Caption、Enabled、Fantsize、Height、Width、Index、Left、Top、 TabStop |
公共方法 |
Move、Refresh、Setfocus(設(shè)置焦點(diǎn)) |
公共事件 |
Click、DblClick、LostFocus(失去焦點(diǎn)) |
控件名稱 |
屬性、方法、事件 |
說明 |
|
TextBox 文本框
(用于接受用戶在框內(nèi)輸入的內(nèi)容) |
Text屬性 |
即用戶從文本框輸入的內(nèi)容 |
|
PasswordChar屬性 |
設(shè)置口令時(shí)用的掩碼,如:用*代替實(shí)際輸入的內(nèi)容 |
|
MaxLength屬性 |
最大長(zhǎng)度,缺省值是0,即可以輸入任意個(gè)字符 |
|
MultiLine屬性 |
為True時(shí)可以多行文本,為False時(shí)只能輸入一行文本 |
|
Alignment 屬性 |
文本在框中的對(duì)齊方式:0=左對(duì)齊,1=右對(duì)齊,2=居中 |
|
Chang事件 |
當(dāng)框中的文本內(nèi)容發(fā)生變化時(shí)觸發(fā)該事件 |
|
LostFocus事件 |
當(dāng)光標(biāo)離開文本框時(shí)觸發(fā)該事件 |
|
Label 標(biāo)簽(用于在窗體上添加文字說明) |
Alignment屬性 |
Caption文本的對(duì)齊方式:0=左對(duì)齊,1=右對(duì)齊,2=居中 |
|
WordWrap屬性 |
為True時(shí)可根據(jù)標(biāo)簽大小自動(dòng)換行 |
|
AutoSize屬性 |
自動(dòng)調(diào)節(jié)大小,為True時(shí)可根據(jù)文本大小自動(dòng)調(diào)整標(biāo)簽大小,為False時(shí)標(biāo)簽大小不能改變,過長(zhǎng)的文本被截掉 |
|
ListBox 列表框
(用于列出可供用戶選擇的項(xiàng)目列表) |
List屬性 |
用于保存列表內(nèi)容,訪問: [對(duì)象名]. List(列表項(xiàng)序號(hào))
列表項(xiàng)的序號(hào)由上到下依次為0、1、2、3…… |
|
ListCount屬性 |
列表項(xiàng)數(shù)目 |
|
ListIndex屬性 |
列表項(xiàng)索引,其值為最后選中的列表項(xiàng)序號(hào),第一個(gè)為0,如果未選中任何表項(xiàng),其值為-1。 |
|
Text屬性 |
列表項(xiàng)正文,其值為最后選中的列表項(xiàng)的文本,它與
List(ListIndex)相同。 |
|
Columns屬性 |
列表框顯示形式取0時(shí)為一列顯示所有行,其他值為多列。 |
|
Sort屬性 |
排序?qū)傩,?/SPAN>True時(shí),列表項(xiàng)按ASCII碼排序,為False時(shí),則不排序。 |
|
AddItem方法 |
添加列表項(xiàng),使用格式:
[ 對(duì)象名.] AddItem<列表項(xiàng)文本>[,插入位置序號(hào)]
若不指定位置,則插入到列表末尾。 |
|
Clear方法 |
刪除列表所有項(xiàng)目 |
|
RemoveItem方法 |
刪除列表項(xiàng),使用格式:
[ 對(duì)象名 .] RemoveItem 刪除項(xiàng)序號(hào) |
|
PictureBox 圖片框
Image 圖象(用來把圖形放入程序里) |
AutoSize/Stretch
屬性 |
調(diào)整圖片框以適應(yīng)圖象 / 調(diào)整圖象以適應(yīng)外框 |
|
Picture屬性 |
決定控件中顯示的圖象 |
|
裝入圖形:
imgMyHand.Picture = LoadPicture ( “c:\graphics\hand.bmp” )
刪除圖形: imgMyHand.Picture = LoadPicture ( “ ” ) |
|
|
|
|
ComboBox 組合框(將列表框和文本框結(jié)合在一起) |
Style屬性 |
外觀屬性:取0時(shí),系統(tǒng)創(chuàng)建一個(gè)帶下拉式列表框的組合框;為1時(shí),系統(tǒng)創(chuàng)建一個(gè)由文本框和列表框直接組合在一起的簡(jiǎn)單組合框,可以從列表框中選擇,也可以直接在文本框中輸入;為2時(shí),系統(tǒng)創(chuàng)建一個(gè)沒有文本框的下拉式列表框,單擊列表框上的按鈕才顯示文本框,用戶不能在文本框中輸入,只能在列表框中選擇。 |
|
Text 屬性 |
其值為用戶從列表框中選定的文本或直接輸入的文本。 |
|
AddItem方法 |
添加列表項(xiàng),使用格式:
[ 對(duì)象名.] AddItem<列表項(xiàng)文本>[,插入位置序號(hào)]
若不指定位置,則插入到列表末尾。 |
|
Clear方法 |
刪除列表所有項(xiàng)目 |
|
RemoveItem 方法 |
刪除列表項(xiàng),使用格式:
[ 對(duì)象名 .] RemoveItem 刪除項(xiàng)序號(hào) |
|
CommandButton
命令按鈕 |
Cancel屬性 |
取消屬性,它為True時(shí), 按〖ESC〗即等于單擊此按鈕。 |
|
Default屬性 |
缺省屬性,它為True時(shí), 按回車鍵即等于單擊此按鈕。 |
|
Timer計(jì)時(shí)器 |
Interval屬性 |
兩次調(diào)用Timer事件的事件間隔,用于創(chuàng)建動(dòng)態(tài)效果。 |
|
Frame 框架
CheckBox 復(fù)選框
OptionButton選項(xiàng)按鈕 |
Alignment屬性 |
決定它們的對(duì)齊方式,0=左對(duì)齊,1=右對(duì)齊。 |
|
Value屬性 |
決定它們是否被選中的屬性 |
|
2. 常用控件的使用辨析
(1)文本框和標(biāo)簽的區(qū)別:
文本框通常用于向計(jì)算機(jī)輸入信息,而標(biāo)簽通常用于輸出信息。文本框是一個(gè)十分重要的控件,因?yàn)橛蓮?fù)選框和選項(xiàng)按鈕向程序輸入的信息畢竟只有少數(shù)的幾條信息而已。標(biāo)簽和文本框的區(qū)別很小,標(biāo)簽可以看成是一個(gè)在運(yùn)行時(shí)不能修改正文的文本框,因此標(biāo)簽主要用于輸出信息。
(2) Label的AutoSize屬性和WordWrap屬性
¨ 為了使標(biāo)簽具有垂直伸展和字換行處理,必須設(shè)置它的AutoSize屬性和WordWrap屬性同時(shí)為True。
¨ AutoSize屬性為False,WordWrap屬性為False時(shí),若標(biāo)簽不夠高而Caption太長(zhǎng)時(shí),Caption將被切割掉。
¨ AutoSize屬性為False,WordWrap屬性為True時(shí),情況也如此。
¨ AutoSize屬性為True,WordWrap屬性為False時(shí),表示可以水平伸展,但只顯示一行信息。
(3) PictureBox和Image的Stretch屬性和AutoSize屬性
¨ Image只有Stretch屬性,而PictureBox只有AutoSize屬性。
¨ AutoSize屬性設(shè)為True,則PictureBox改變自己的大小來適應(yīng)其中的圖形。
¨ Stretch屬性設(shè)為True,則Image中的圖形將改變自己的大小來適應(yīng)外面的邊框。
(4)Frame 框架、CheckBox 復(fù)選框、OptionButton選項(xiàng)按鈕的區(qū)別:
¨ 復(fù)選框和選項(xiàng)按鈕用于向程序輸入信息, 框架用來對(duì)復(fù)選框和選項(xiàng)按鈕進(jìn)行分組。
¨ 復(fù)選框選中時(shí)會(huì)在小方框里打一個(gè)鉤,選項(xiàng)按鈕選中時(shí)會(huì)在小圓圈里點(diǎn)一個(gè)點(diǎn)。
3.控件使用舉例
例3、4