程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB6 >> vb控件的使用(二)

vb控件的使用(二)

編輯:VB6

使用CheckBox控件

選定CheckBox控件時,這個控件將顯示選定標記。通常用此控件提供Yes/No或True/False選項。可用分組的CheckBox控件顯示多個選項,用戶可從中選擇一個或多個選項。

CheckBox控件與OptionButton控件的相同之處在於,每個都是用來指示用戶所作的選擇。不同之處在於,對於一組OptionButton ,一次只能選定其中的一個,而對CheckBox控件,則可選定任意數目的復選框。
詳細信息 關於CheckBox控件的簡單示例,請參閱第三章“窗體,控件和菜單”中的“用復選框選擇單個選項”。

Value 屬性
CheckBox控件的Value屬性指示復選框處於選定、未選定或禁止狀態(暗淡的)中的哪一種。選定時,value設置值為 1。例如:

用戶單擊CheckBox控件指定選定或未選定狀態,然後可檢測控件狀態並根據此信息編寫應用程序以執行某些操作。
缺省時,CheckBox控件設置為vbUnchecked。若要預先在一列復選框中選定若干復選框,則應在Form_Load或 Form_Initialize過程中將Value屬性設置為vbChecked。
可將Value屬性設置為vbGrayed以禁用復選框。例如,有時可能希望在滿足某條件之前禁用復選框。

Click事件
無論何時單擊CheckBox控件都將觸發Click事件,然後編寫應用程序,根據復選框的狀態執行某些操作。在下例中,每次單擊CheckBox控件時都將改變其Caption屬性以指示選定或未選定狀態。
Private Sub Check1_Click()
If Check1.Value = vbChecked Then
Check1.Caption = "Checked"
ElseIf Check1.Value = vbUnchecked Then
Check1.Caption = "Unchecked"
End If
End Sub
注意 如果試圖雙擊CheckBox控件,則將雙擊當作兩次單擊,而且分別處理每次單擊;這就是說,CheckBox控件不支持雙擊事件。

響應鼠標和鍵盤
在鍵盤上使用 TAB 鍵並按 SPACEBAR 鍵,由此將焦點轉移到 CheckBox控件上,這時也會觸發CheckBox控件的Click事件。
可以在Caption屬性的一個字母之前添加連字符,創建一個鍵盤快捷方式來切換CheckBox控件的選擇。例如:

本例中,按 ALT+C 組合鍵將使控件的狀態在選定和未選定之間切換。

增強CheckBox控件的視覺效果
CheckBox控件象CommandButton和OptionButton控件一樣,可通過更改Style屬性的設置值後使用Picture、DownPicture和DisabledPicture屬性增強其視覺效果。例如,有時可能希望在復選框中添加圖標或位圖,或者在單擊或禁止控件時顯示不同的圖像。

使用ComboBox控件

組合框控件將文本框和列表框的功能結合在一起。有了這個控件,用戶可通過在組合框中輸入文本來選定項目,也可從列表中選定項目。

組合框向用戶提供了供選擇的列表。如果項目數超過了組合框能夠顯示的項目數,控件上將自動出現滾動條。用戶即可上下或左右滾動列表。

何時用組合框代替列表框
通常,組合框適用於建議性的選項列表,而當希望將輸入限制在列表之內時,應使用列表框。組合框包含編輯區域,因此可將不在列表中的選項輸入列區域中。
此外,組合框節省了窗體的空間。只有單擊組合框的向下箭頭時(樣式 1 的組合框除外,它總是處於下拉狀態)才顯示全部列表,所以無法容納列表框的地方可以很容易地容納組合框。
詳細信息 關於這些控件的簡單示例,請參閱第三章“窗體、控件和菜單”中的“使用 ListBox和ComboBox”。有關列表框控件的詳細信息,還請參閱本章後面的“使用ListBox控件”。

數據綁定特性
Visual Basic中的標准版和數據綁定版的ComboBox控件。雖然通過這兩個版本都可以顯示、編輯和更新大多數標准類型數據庫中的信息,但是DBCombo提供了更高級的數據訪問特性。DBCombo控件還支持一組與標准組合框控件不同的屬性和方法。
詳細信息 關於詳細信息,請參閱第七章“使用Visual Basic標准控件”中“使用DataList和DataCombo”控件。

組合框的樣式
此處有三種組合框樣式。每種樣式都可在設計時或運行時來設置,而且每種樣式都使用數值或相應的Visual Basic常數來設置組合框的樣式。

下拉式組合框
在缺省設置 (Style = 0)下,組合框為下拉式。用戶可(象在文本框中一樣)直接輸入文本,也可單擊組合框右側的附帶箭頭打開選項列表。選定某個選項後,將此選項插入到組合框頂端的文本部分中。當控件獲得焦點時,也可按ALT+ DOWN ARROW鍵打開列表。

簡單組合框
將組合框Style屬性設置為 1 將指定一個簡單的組合框,任何時候都在其內顯示列表。為顯示列表中所有項,必須將列表框繪制得足夠大。當選項數超過可顯示的限度時將自動插入一個垂直滾動條。用戶可直接輸入文本,也可從列表中選擇。 象下拉式組合框一樣,簡單組合框也允許用戶輸入那些不在列表中的選項。

下拉式列表框
下拉式列表框 (Style = 2 ) 與正規列表框相似─ 它顯示項目的列表,用戶必須從中選擇。但下拉式列表框與列表框的不同之處在於,除非單擊框右側的箭頭,否則不顯示列表。這種列表框與下拉式組合框的主要差別在於,用戶不能在列表框中輸入選項,而只能在列表中選擇。當窗體上的空間較少時,可使用這種類型的列表框。

添加項目
為在組合框中添加項目,應使用AddItem方法,其語法如下:

通常在Form_Load事件過程中添加列表項目,但也可在任何時候使用AddItem方法。這樣一來就能夠動態地(響應用戶的操作)在列表中添加項目。
以下代碼將 "Chardonnay," "Fum抏 Blanc," "Gew黵ztraminer," 和 "Zinfandel"放置到名為Combo1,Style屬性為 0 (vbComboDropDown) 的組合框中:
Private Sub Form_Load ()
Combo1.AddItem "Chardonnay"
Combo1.AddItem “Fum'e Blanc”
Combo1.AddItem "Gewürztraminer"
Combo1.AddItem "Zinfandel"
End Sub
運行時,只要加載窗體,而且用戶單擊向下箭頭,則將顯示如圖所示的列表。

設計時添加項目
在設計時,也可設置組合框控件“屬性”窗口的List屬性,從而在列表中添加項目。選定List屬性選項並單擊向下箭頭後就可輸入列表項目,然後按CTRL+ENTER組合鍵換到新的一行。
只能將項目添加到列表的末尾。所以,如果要將列表按字母順序排序,則應將Sorted屬性設置為True。關於詳細的信息,請參閱後面“排序列表”。

在指定位置添加項目
為了在列表指定位置添加項目,應在新項目後指定索引值。例如,下行代碼將 "Pinot Noir" 插入到第一個位置並把其它項目的位置向下調整:
Combo1.AddItem "Pinot Noir", 0
注意,指定列表中的第一個位置的是 0 而不是 1(見圖)。

排序列表
將Sorted屬性設置為True並省略索引,則可在列表中指定按字母順序添加的項目。排序時不區分大小寫;所以 "chardonnay" 和 "Chardonnay" 被看作一個詞。
將Sorted屬性設置為True之後,使用帶有index參數的AddItem方法將導致不可預料的非排序結果。

刪除項目
可在組合框中用RemoveItem方法刪除項目。RemoveItem有一個參數index,它指定要刪除的項目:
box.RemoveItem index
box及index參數和AddItem中的參數相同。
例如,為了刪除列表中的第一個項目,應添加下面一行代碼:
Combo1.RemoveItem 0
為了在組合框中刪除所有列表項目,應使用 Clear 方法:
Combo1.Clear

用Text屬性獲取列表內容
獲取當前選定項目值的最簡單的常用方法就是使用Text屬性。在運行時無論向控件的文本框部分輸入了什麼文本,Text屬性都與這個文本相對應。它可以是選定的列表選項,或者是用戶在文本框中輸入的字符串。
例如,如果用戶選定列表框中的 "Chardonnay",則通過下列代碼顯示有關Chardonnay的信息:
Private Sub Combo1_Click ()
If Combo1.Text = "Chardonnay" Then
Text1.Text = "Chardonnay is a medium-bodied _
white wine."
End If
End Sub
Text屬性包含Combo1列表框中當前選定的項目。代碼查看是否選擇了"Chardonnay",若是如此,則在文本框中顯示信息。

用List屬性訪問列表選項
有了List屬性就可訪問列表中所有項目。該屬性包含一個數組,而且列表中的每個項目都是數組的元素。每一項都表示為字符串的形式。為了引用列表中的項目,應使用如下語法:
box.List(index)
box參數引用組合框,而index是項目的位置。頂端項目的索引為0,下一個項目的索引為1,依次類推。例如,在文本框中,以下語句顯示列表中的第三個項目(index = 2):
Text1.Text = Combo1.List(2)

用ListIndex屬性判斷位置
欲知組合框列表中選定項目位置,請使用ListIndex屬性。該屬性設置或返回控件中當前選定項目的索引值,而且只在運行時有效。對組合框的ListIndex屬性進行設置也會觸發控件的Click事件。
若選定第一個(頂端)項目,則屬性值為0,選定的下一個項目屬性值為1,依次類推。如果未選定項目,或者用戶在組合框中輸入選項(樣式0 或1)而不在列表中選擇現有項目,則ListIndex 為 -1。
注意NewIndex屬性可用來跟蹤列表中最後添加的項目的索引。向排序列表插入項目時,這一點很有用。

用ListCount屬性返回項目數
為了返回組合框中的項目數,應使用ListCount屬性。例如,下列語句用ListCount屬性判斷組合框中的項目數:
Text1.Text = "You have " & Combo1.ListCount & " _
entries listed"

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved