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

VisualBasic控件的使用二

編輯:VB綜合教程

使用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屬性以指示選定或未選定狀態。
  PrivateSubCheck1_Click()
    IfCheck1.Value=vbCheckedThen
    Check1.Caption="Checked"
    ElseIfCheck1.Value=vbUncheckedThen
    Check1.Caption="Unchecked"
    EndIf
  EndSub
  注意如果試圖雙擊CheckBox控件,則將雙擊當作兩次單擊,而且分別處理每次單擊;這就是說,CheckBox控件不支持雙擊事件。
  
  響應鼠標和鍵盤
  在鍵盤上使用TAB鍵並按SPACEBAR鍵,由此將焦點轉移到CheckBox控件上,這時也會觸發CheckBox控件的Click事件。
  可以在Caption屬性的一個字母之前添加連字符,創建一個鍵盤快捷方式來切換CheckBox控件的選擇。例如:
  
  本例中,按ALT C組合鍵將使控件的狀態在選定和未選定之間切換。
  
  增強CheckBox控件的視覺效果
  CheckBox控件象CommandButton和OptionButton控件一樣,可通過更改Style屬性的設置值後使用Picture、DownPicture和DisabledPicture屬性增強其視覺效果。例如,有時可能希望在復選框中添加圖標或位圖,或者在單擊或禁止控件時顯示不同的圖像。
  
  使用ComboBox控件
  
  組合框控件將文本框和列表框的功能結合在一起。有了這個控件,用戶可通過在組合框中輸入文本來選定項目,也可從列表中選定項目。
  
  組合框向用戶提供了供選擇的列表。如果項目數超過了組合框能夠顯示的項目數,控件上將自動出現滾動條。用戶即可上下或左右滾動列表。
  
  何時用組合框代替列表框
  通常,組合框適用於建議性的選項列表,而當希望將輸入限制在列表之內時,應使用列表框。組合框包含編輯區域,因此可將不在列表中的選項輸入列區域中。
  此外,組合框節省了窗體的空間。只有單擊組合框的向下箭頭時(樣式1的組合框除外,它總是處於下拉狀態)才顯示全部列表,所以無法容納列表框的地方可以很容易地容納組合框。
  詳細信息關於這些控件的簡單示例,請參閱第三章“窗體、控件和菜單”中的“使用ListBox和ComboBox”。有關列表框控件的詳細信息,還請參閱本章後面的“使用ListBox控件”。
  
  數據綁定特性
  VisualBasic中的標准版和數據綁定版的ComboBox控件。雖然通過這兩個版本都可以顯示、編輯和更新大多數標准類型數據庫中的信息,但是DBCombo提供了更高級的數據訪問特性。DBCombo控件還支持一組與標准組合框控件不同的屬性和方法。
  詳細信息關於詳細信息,請參閱第七章“使用VisualBasic標准控件”中“使用DataList和DataCombo”控件。
  
  組合框的樣式
  此處有三種組合框樣式。每種樣式都可在設計時或運行時來設置,而且每種樣式都使用數值或相應的VisualBasic常數來設置組合框的樣式。
  
  
  
  下拉式組合框
  在缺省設置(Style=0)下,組合框為下拉式。用戶可(象在文本框中一樣)直接輸入文本,也可單擊組合框右側的附帶箭頭打開選項列表。選定某個選項後,將此選項插入到組合框頂端的文本部分中。當控件獲得焦點時,也可按ALT DOWNARROW鍵打開列表。
  
  簡單組合框
  將組合框Style屬性設置為1將指定一個簡單的組合框,任何時候都在其內顯示列表。為顯示列表中所有項,必須將列表框繪制得足夠大。當選項數超過可顯示的限度時將自動插入一個垂直滾動條。用戶可直接輸入文本,也可從列表中選擇。象下拉式組合框一樣,簡單組合框也允許用戶輸入那些不在列表中的選項。
  
  下拉式列表框
  下拉式列表框(Style=2)與正規列表框相似─它顯示項目的列表,用戶必須從中選擇。但下拉式列表框與列表框的不同之處在於,除非單擊框右側的箭頭,否則不顯示列表。這種列表框與下拉式組合框的主要差別在於,用戶不能在列表框中輸入選項,而只能在列表中選擇。當窗體上的空間較少時,可使用這種類型的列表框。
  
  添加項目
  為在組合框中添加項目,應使用AddItem方法,其語法如下:
  
  通常在Form_Load事件過程中添加列表項目,但也可在任何時候使用AddItem方法。這樣一來就能夠動態地(響應用戶的操作)在列表中添加項目。
  以下代碼將"Chardonnay,""Fum抏Blanc,""Gew黵ztraminer,"和"Zinfandel"放置到名為Combo1,Style屬性為0(vbComboDropDown)的組合框中:
  PrivateSubForm_Load()
    Combo1.AddItem"Chardonnay"
    Combo1.AddItem“Fum'eBlanc”
    Combo1.AddItem"Gewürztraminer"
    Combo1.AddItem"Zinfandel"
  EndSub
  運行時,只要加載窗體,而且用戶單擊向下箭頭,則將顯示如圖7.8所示的列表。
  
  設計時添加項目
  在設計時,也可設置組合框控件“屬性”窗口的List屬性,從而在列表中添加項目。選定List屬性選項並單擊向下箭頭後就可輸入列表項目,然後按CTRL ENTER組合鍵換到新的一行。
  只能將項目添加到列表的末尾。所以,如果要將列表按字母順序排序,則應將Sorted屬性設置為True。關於詳細的信息,請參閱後面“排序列表”。
  
  在指定位置添加項目
  為了在列表指定位置添加項目,應在新項目後指定索引值。例如,下行代碼將"PinotNoir"插入到第一個位置並把其它項目的位置向下調整:
  Combo1.AddItem"PinotNoir",0
  注意,指定列表中的第一個位置的是0而不是1(見圖7.9)。
  
  排序列表
  將Sorted屬性設置為True並省略索引,則可在列表中指定按字母順序添加的項目。排序時不區分大小寫;所以"chardonnay"和"Chardonnay"被看作一個詞。
  將Sorted屬性設置為True之後,使用帶有index參數的AddItem方法將導致不可預料的非排序結果。
  
  刪除項目
  可在組合框中用RemoveItem方法刪除項目。RemoveItem有一個參數index,它指定要刪除的項目:
  box.RemoveItemindex
  box及index參數和AddItem中的參數相同。
  例如,為了刪除列表中的第一個項目,應添加下面一行代碼:
  Combo1.RemoveItem0
  為了在組合框中刪除所有列表項目,應使用Clear方法:
  Combo1.Clear
  
  用Text屬性獲取列表內容
  獲取當前選定項目值的最簡單的常用方法就是使用Text屬性。在運行時無論向控件的文本框部分輸入了什麼文本,Text屬性都與這個文本相對應。它可以是選定的列表選項,或者是用戶在文本框中輸入的字符串。
  例如,如果用戶選定列表框中的"Chardonnay",則通過下列代碼顯示有關Chardonnay的信息:
  PrivateSubCombo1_Click()
     IfCombo1.Text="Chardonnay"Then
    Text1.Text="Chardonnayisamedium-bodied_
    whitewine."
    EndIf
  EndSub
  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="Youhave"&Combo1.ListCount&"_
  entrieslisted"
  

->

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