溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何正確的使用ComboBox 控件

發(fā)布時(shí)間:2021-04-02 15:41:13 來源:億速云 閱讀:699 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章給大家分享的是有關(guān)如何正確的使用ComboBox 控件,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

  一、ComboBox 控件的常用屬性:

  1、BackColor 屬性:獲取或設(shè)置ComboBox 控件的背景色。

  2、DropDownStyle 屬性:獲取或設(shè)置指定組合框樣式的值,確定用戶能否在文本部分中輸入新值以及列表部分是否總顯示。它包含三個(gè)值,默認(rèn)值為 DropDown,如下表所示:

成員名稱 說明

DropDown 文本部分可編輯。用戶必須單擊箭頭按鈕來顯示列表部分。

DropDownList 用戶不能直接編輯文本部分。用戶必須單擊箭頭按鈕來顯示列表部分。

Simple 文本部分可編輯。列表部分總可見。

  3、DropDownWidth 屬性:用于獲取或設(shè)置組合框下拉部分的寬度(以像素為單位),有些列表項(xiàng)太長(zhǎng),則需要通過改變?cè)搶傩詠盹@示該類表項(xiàng)的全部文字,如果未設(shè)置 DropDownWidth 的值,該屬性返回組合框的 Width。需要注意的是,下拉部分的寬度不能小于 ComboBox 的寬度,所以我們?cè)O(shè)置 DropDownWidth 的值如果小于ComboBox 的寬度時(shí)下拉列表框的寬度還是與文本框的寬度一樣。

       4、DroppedDown 屬性:獲取或設(shè)置一個(gè)值,該值指示組合框是否正在顯示其下拉部分。如果顯示下拉部分,則為 true;否則為 false。默認(rèn)值為 false。

  5、IntegralHeight 屬性:指定是否自動(dòng)調(diào)整編輯框或列表框控件的高度,這樣可以正確顯示控件中的最后一項(xiàng)。指定是否自動(dòng)調(diào)整文本框控件的高度,以顯示一行文本。設(shè)計(jì)時(shí)可用;運(yùn)行時(shí)只讀。默認(rèn)為False。如果列表框控件的高度不合適,則控件中的最后一行文字會(huì)只顯示一部分,將 IntergralHeight 設(shè)置為“True” ,可以自動(dòng)調(diào)整控件的高度,這樣可以正確顯示控件中的最后一項(xiàng)。注意:當(dāng) integralheight 屬性設(shè)置為“True” 時(shí),Height 屬性的值可能與控件的真實(shí)高度不符。

  6、Items 屬性:獲取一個(gè)對(duì)象,該對(duì)象表示該 ComboBox 中所包含項(xiàng)的集合。詳細(xì)用法我們?cè)谙挛慕榻B。

  7、MaxDropDownItems 屬性:下拉部分中可顯示的最大項(xiàng)數(shù)。該屬性的最小值為 1,最大值為 100。

  8、Text 屬性:ComboBox 控件中文本輸入框中顯示的文本。

  9、SelectedIndex 屬性和 SelectedItem 屬性:SelectedIndex 屬性返回一個(gè)表示與當(dāng)前選定列表項(xiàng)的索引的整數(shù)值,可以編程更改它,列表中相應(yīng)項(xiàng)將出現(xiàn)在組合框的文本框內(nèi)。如果未選定任何項(xiàng),則SelectedIndex 為-1;如果選擇了某個(gè)項(xiàng),則SelectedIndex 是從0開始的整數(shù)值。SelectedItem 屬性與 SelectedIndex 屬性類似,但是SelectedItem 屬性返回的是項(xiàng)。

  10、SelectedText 屬性:表示組合框中當(dāng)前選定文本的字符串。如果 DropDownStyle 設(shè)置為 ComboBoxStyle.DropDownList,則返回值為空字符串 ("")??梢詫⑽谋痉峙浣o此屬性,以更改組合框中當(dāng)前選定的文本。如果組合框中當(dāng)前沒有選定的文本,則此屬性返回一個(gè)零長(zhǎng)度字符串。如下代碼,我們可以在ComboBox 控件的鼠標(biāo)事件中驗(yàn)證該屬性:

Private Sub ComboBox1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ComboBox1.MouseUp
  MessageBox.Show(ComboBox1.SelectedText)
  End Sub

  返回的值則是我們用鼠標(biāo)選定了的文本。

  與之對(duì)應(yīng)的 SelectionLength 屬性返回的則是該文本的字符數(shù),SelectionStart 屬性返回的則是組合框中選定文本的起始位置。

  二、ComboBox 控件的重要方法:

  1、BeginUpdate 方法和 EndUpdate 方法:當(dāng)使用Add 方法一次添加一個(gè)項(xiàng)時(shí),則可以使用 BeginUpdate 方法,以防止每次向列表添加項(xiàng)時(shí)控件都重新繪制 ComboBox。完成向列表添加項(xiàng)的任務(wù)后,調(diào)用 EndUpdate 方法來啟用 ComboBox 進(jìn)行重新繪制。當(dāng)向列表添加大量的項(xiàng)時(shí),使用這種方法添加項(xiàng)可以防止繪制 ComboBox 時(shí)閃爍。如下代碼所示:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  Dim i As Integer = 0
  ComboBox1.BeginUpdate()
  For i = 0 To 999
  ComboBox1.Items.Add("Item " &ComboBox1.Items.Count.ToString)
  Next
  ComboBox1.EndUpdate()
  End Sub

  2、Add 方法:items屬性的方法之一,一般這樣來使用:

ComboBox1.Items.Add("Item 0" )

  還可以使用items屬性的Clear方法來清除所有的列表項(xiàng)。

  3、FindString 方法和FindStringExact 方法:

  FindString 方法用于查找 ComboBox 中以指定字符串開始的第一個(gè)項(xiàng),該方法是模糊查詢,但是查找的字符串一定在匹配項(xiàng)的開始位置。

  FindStringExact 方法用于查找與指定字符串完全匹配的項(xiàng)。

  4、GetItemText 方法:返回指定項(xiàng)的文本表示形式。使用形式如下:

  GetItemText(item)

  三、示例:

  我們這里以代碼來了解ComboBox 控件的使用,在窗體中加入一個(gè)Combobox控件,四個(gè)Button控件,一個(gè)TextBox控件,一個(gè)GroupBox控件,布局如下圖四所示:

1、在“添加1000項(xiàng)”的按鈕Click事件中添加如下代碼:

Dim i As Integer = 0
  ComboBox1.BeginUpdate()
  For i = 0 To 999
  ComboBox1.Items.Add("Item " &(ComboBox1.Items.Count + 1).ToString)
  Next
  ComboBox1.EndUpdate()

  2、在“添加一個(gè)項(xiàng)”按鈕Click事件中添加如下代碼:

 ComboBox1.Items.Add(TextBox1.Text)

  即以文本框中輸入的文本作為項(xiàng)的文字。

  3、在“查找模糊匹配項(xiàng)”按鈕的Click事件中添加如下代碼:

 ComboBox1.SelectedIndex = ComboBox1.FindString(TextBox1.Text)

  即返回以文本框中輸入的文本開頭的第一項(xiàng)作為ComboBox控件的選中項(xiàng)。

  4、在“查找完全匹配項(xiàng)”按鈕的Click事件中添加如下代碼:  

ComboBox1.SelectedIndex = ComboBox1.FindStringExact(TextBox1.Text)

  即返回與文本框中輸入的文本完全匹配的項(xiàng)作為ComboBox控件的選中項(xiàng)。

  5、在ComboBox1的SelectedIndexChanged事件中添加如下代碼:

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
  MessageBox.Show(ComboBox1.GetItemText(ComboBox1.SelectedItem))
  End Sub

以上就是如何正確的使用ComboBox 控件,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI