VB.Net - ListBox 控制元件



ListBox 代表一個 Windows 控制元件,用於向用戶顯示專案列表。使用者可以從列表中選擇一個專案。它允許程式設計師在設計時使用屬性視窗或在執行時新增專案。

讓我們透過從工具箱拖動 ListBox 控制元件並將其放在窗體上建立一個列表框。

VB.Net List Box

您可以從屬性視窗或在執行時填充列表框專案。要向 ListBox 新增專案,請選擇 ListBox 控制元件並轉到其屬性視窗。單擊“專案”屬性旁邊的省略號 (...) 按鈕。這將開啟“字串集合編輯器”對話方塊,您可以在其中逐行輸入值。

ListBox 控制元件的屬性

以下是 ListBox 控制元件的一些常用屬性:

序號 屬性和說明
1

AllowSelection

獲取一個值,指示 ListBox 當前是否啟用列表項的選擇。

2

BorderStyle

獲取或設定圍繞列表框繪製的邊框型別。

3

ColumnWidth

獲取或設定多列列表框中列的寬度。

4

HorizontalExtent

獲取或設定列表框的水平滾動區域。

5

HorizontalScrollBar

獲取或設定一個值,指示是否在列表框中顯示水平捲軸。

6

ItemHeight

獲取或設定列表框中專案的高度。

7

Items

獲取列表框的專案。

8

MultiColumn

獲取或設定一個值,指示列表框是否支援多列。

9

ScrollAlwaysVisible

獲取或設定一個值,指示垂直捲軸是否始終顯示。

10

SelectedIndex

獲取或設定列表框中當前所選專案的從零開始的索引。

11

SelectedIndices

獲取一個集合,其中包含列表框中所有當前所選專案的從零開始的索引。

12

SelectedItem

獲取或設定列表框中當前所選的專案。

13

SelectedItems

獲取一個集合,其中包含列表框中當前所選的專案。

14

SelectedValue

獲取或設定 ValueMember 屬性指定的成員屬性的值。

15

SelectionMode

獲取或設定在列表框中選擇專案的方法。此屬性具有以下值:

  • None
  • One
  • MultiSimple
  • MultiExtended

16

Sorted

獲取或設定一個值,指示列表框中的專案是否按字母順序排序。

17

Text

獲取或搜尋列表框中當前所選專案的文字。

18

TopIndex

獲取或設定列表框中第一個可見專案的索引。

ListBox 控制元件的方法

以下是 ListBox 控制元件的一些常用方法:

序號 方法名稱和說明
1

BeginUpdate

在一次一個地向 ListBox 新增專案時,防止控制元件繪製,直到呼叫 EndUpdate 方法。

2

ClearSelected

取消選擇 ListBox 中的所有專案。

3

EndUpdate

在 BeginUpdate 方法將其關閉後,恢復列表框的繪製。

4

FindString

查詢 ListBox 中以指定為引數的字串開頭的第一個專案。

5

FindStringExact

查詢 ListBox 中與指定字串完全匹配的第一個專案。

6

GetSelected

返回一個值,指示指定的專案是否已選中。

7

SetSelected

選擇或清除 ListBox 中指定專案的選中狀態。

8

OnSelectedIndexChanged

引發 SelectedIndexChanged 事件。

8

OnSelectedValueChanged

引發 SelectedValueChanged 事件。

ListBox 控制元件的事件

以下是 ListBox 控制元件的一些常用事件:

序號 事件和說明
1

Click

當選擇列表框時發生。

2

SelectedIndexChanged

當列表框的 SelectedIndex 屬性發生更改時發生。

請參閱 Microsoft 文件以瞭解 ListBox 控制元件的屬性、方法和事件的詳細列表。

示例 1

在下面的示例中,讓我們在設計時新增一個列表框,並在執行時向其中新增專案。

請按照以下步驟操作:

  • 將兩個標籤、一個按鈕和一個 ListBox 控制元件拖放到窗體上。

  • 將第一個標籤的 Text 屬性設定為“選擇您最喜歡的深造目的地”。

  • 將第二個標籤的 Text 屬性設定為“目的地”。當用戶在列表中選擇一個專案時,此標籤上的文字將在執行時更改。

  • 單擊列表框和按鈕控制元件,在程式碼編輯器中新增以下程式碼。(此處省略示例程式碼,因為原文未提供)

Public Class Form1
   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
      ' Set the caption bar text of the form.  
      Me.Text = "tutorialspont.com"
      ListBox1.Items.Add("Canada")
      ListBox1.Items.Add("USA")
      ListBox1.Items.Add("UK")
      ListBox1.Items.Add("Japan")
      ListBox1.Items.Add("Russia")
      ListBox1.Items.Add("China")
      ListBox1.Items.Add("India")
   End Sub
  
   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
      MsgBox("You have selected " + ListBox1.SelectedItem.ToString())
   End Sub
   
   Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) 
      Handles ListBox1.SelectedIndexChanged
      Label2.Text = ListBox1.SelectedItem.ToString()
   End Sub
End Class

當使用 Microsoft Visual Studio 工具欄上的“啟動”按鈕執行和執行上述程式碼時,它將顯示以下視窗:(此處省略圖片)

Result Form

當用戶選擇一個目的地時,第二個標籤中的文字會更改:(此處省略圖片)

Result Form

單擊“選擇”按鈕將顯示一個包含使用者選擇的對話方塊:(此處省略圖片)

List Example Dialog Box

示例 2

在這個例子中,我們將用專案填充一個列表框,檢索列表框中的專案總數,對列表框進行排序,刪除一些專案並清除整個列表框。

設計窗體:(此處省略)

List Box Example2

在程式碼編輯器視窗中新增以下程式碼:(此處省略示例程式碼,因為原文未提供)

Public Class Form1
   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
      ' Set the caption bar text of the form.  
      Me.Text = "tutorialspont.com"
      ' creating multi-column and multiselect list box
      ListBox1.MultiColumn = True
      ListBox1.SelectionMode = SelectionMode.MultiExtended
   End Sub
   
   'populates the list
   Private Sub Button1_Click_1(sender As Object, e As EventArgs) _
      Handles Button1.Click
      ListBox1.Items.Add("Safety")
      ListBox1.Items.Add("Security")
      ListBox1.Items.Add("Governance")
      ListBox1.Items.Add("Good Music")
      ListBox1.Items.Add("Good Movies")
      ListBox1.Items.Add("Good Books")
      ListBox1.Items.Add("Education")
      ListBox1.Items.Add("Roads")
      ListBox1.Items.Add("Health")
      ListBox1.Items.Add("Food for all")
      ListBox1.Items.Add("Shelter for all")
      ListBox1.Items.Add("Industrialisation")
      ListBox1.Items.Add("Peace")
      ListBox1.Items.Add("Liberty")
      ListBox1.Items.Add("Freedom of Speech")
   End Sub
   'sorting the list
   Private Sub Button2_Click(sender As Object, e As EventArgs) _
      Handles Button2.Click
      ListBox1.Sorted = True
   End Sub
   
   'clears the list
   Private Sub Button3_Click(sender As Object, e As EventArgs) _
      Handles Button3.Click
      ListBox1.Items.Clear()
   End Sub
   
   'removing the selected item
   Private Sub Button4_Click(sender As Object, e As EventArgs) _
          Handles Button4.Click
      ListBox1.Items.Remove(ListBox1.SelectedItem.ToString)
   End Sub
   
   'counting the numer of items
   Private Sub Button5_Click(sender As Object, e As EventArgs) _
      Handles Button5.Click
      Label1.Text = ListBox1.Items.Count
   End Sub
   
   'displaying the selected item on the third label
   Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) _
      Handles ListBox1.SelectedIndexChanged
      Label3.Text = ListBox1.SelectedItem.ToString()
   End Sub
End Class

當使用 Microsoft Visual Studio 工具欄上的“啟動”按鈕執行和執行上述程式碼時,它將顯示以下視窗:(此處省略圖片)

Result Form List Box Example 2

填充列表並檢查其他按鈕的功能:(此處省略)

Result Form List Box Example 2
vb.net_basic_controls.htm
廣告
© . All rights reserved.