共用方式為


多重項目控制項:使用 ListBox 和 ComboBox 控制項

更新:2007 年 11 月

在本課程中,您將學習如何將項目加入至清單,以及從清單中移除項目。您也會學習如何在使用者從清單選取項目時執行動作。

當您要提供使用者選擇的清單時,便可以在 ListBox 控制項或 ComboBox 控制項中顯示項目的清單。

ListBox 控制項能夠讓您同時顯示多個項目,讓使用者能夠捲動較長的清單。當使用者選取某個項目時,該項目便會如下列圖例所示,在清單中反白顯示。

ListBox 控制項

ListBox 控制項

ComboBox 控制項是文字方塊和清單方塊的組合。根據預設,下拉式方塊會以文字方塊的形式出現,不過當使用者按一下下拉箭號時,便會出現清單。當使用者選取某個項目時,如下列圖例所示,該項目便會反白顯示,並會出現在預設檢視中。

ComboBox 控制項

ComboBox 控制項

將項目加入至清單方塊的流程與加入下拉式方塊相似。您可以使用 ListBox 控制項的 Add 方法,以及 ComboBox 控制項的 Add 方法來加入項目。

試試看!

若要將項目加入至清單方塊

  1. 在 [檔案] 功能表上,按一下 [新增專案]。

    [新增專案] 對話方塊便會出現。

  2. 按一下 [Windows Form 應用程式],然後按一下 [確定]。

    會開啟新的 Windows Form 專案。

  3. 將 [ListBox] 控制項加入至表單,並保留預設名稱 [ListBox1]。

  4. 按兩下表單,在 [程式碼編輯器] 中加入預設事件處理常式。

  5. 在 Form_Load 事件處理常式中加入下列程式碼,以便在清單中加入項目。

    With Me.ListBox1.Items
        .Add("red")
        .Add("blue")
        .Add("green")
        .Add("yellow")
        .Add("orange")
        .Add("pink")
        .Add("brown")
        .Add("black")
    End With
    
  6. 按 F5 執行程式。

    表單便會開啟,並會顯示包含色彩清單的 ListBox

  7. 關閉程式。

在選取項目變更時執行動作

您可以在使用者選取清單方塊中的對應項目時執行一項動作,如顯示某種色彩。若要這樣做,您必須在 ListBoxSelectedIndexChanged 事件處理常式中撰寫程式碼。在 ComboBox 控制項也有對應的事件。

您可以使用 SelectedItem 屬性來判斷在清單中選取的項目。您可以使用 Color 物件的 FromName 方法,將清單中所選取的色彩指派給控制項的 BackColor 屬性。

若要顯示在清單方塊中選取的色彩

  1. 將 [TextBox] 控制項加入至表單,並保留預設名稱 [TextBox1]。

  2. 按兩下 [ListBox] 控制項,在 [程式碼編輯器] 中加入預設事件處理常式。

  3. 在 ListBox_SelectedIndexChanged 事件處理常式中,加入下列程式碼,在文字方塊中顯示色彩。將 ColorName 變數指派給文字方塊的 BackColor 屬性之前,請先確定其中有包含值。

    Dim ColorName As String = CStr(ListBox1.SelectedItem)
    
    If ColorName IsNot Nothing Then
        Me.TextBox1.BackColor = _
            System.Drawing.Color.FromName(ColorName)
    End If
    
  4. 按 F5 執行程式。

  5. 當表單開啟時,按一下清單方塊中的項目即可看到所選取的色彩出現在文字方塊中。

  6. 關閉程式。

檢查項目是否存在於清單中

當您將項目加入至清單時,通常都不想重複現有的項目。例如,您可能要讓使用者能夠按兩下清單方塊中的項目,就能將該項目複製到下拉式方塊中。如果該項目已經在下拉式方塊中,便不應該再次加入。您可以使用 Contains 方法來判斷該項目是否已經在下拉式方塊中。在清單方塊也有對應的 Contains 方法。

若要將項目加入至下拉式方塊

  1. 將 [ComboBox] 控制項加入至表單,並保留預設名稱 [ComboBox1]。

  2. 以滑鼠右鍵按一下表單,並按一下 [檢視程式碼],開啟 [程式碼編輯器]。

  3. 在 [程式碼編輯器] 中,按一下 [類別名稱] 下拉式清單中的 [ListBox1]。

  4. 在 [方法名稱] 下拉式清單中,按一下 [DoubleClick] 建立事件處理常式。

  5. 在 ListBox1_DoubleClick 事件處理常式中加入下列程式碼,將項目加入至下拉式方塊。由於可能會有空的清單方塊,您必須在加入之前確定選取項目不是空的。

    If ListBox1.SelectedItem IsNot Nothing Then
        If Not ComboBox1.Items.Contains(Me.ListBox1.SelectedItem) Then
            Me.ComboBox1.Items.Add(Me.ListBox1.SelectedItem)
        End If
    
        Me.ComboBox1.SelectedItem = Me.ListBox1.SelectedItem
    
    End If
    
  6. 按 F5 執行程式。

    按兩下清單方塊中的多個項目,並確認只要一次即可將這些項目加入至下拉式方塊。

  7. 關閉程式。

從清單方塊刪除項目

您可以使用 Remove 方法從清單方塊刪除項目。例如,您可能決定要自清單方塊移動這些項目,而非將項目複製到下拉式方塊。您可以先將項目加入至下拉式方塊,然後再從清單方塊將其刪除,即可完成項目的移動。

若要從清單方塊刪除項目

  1. 將下列程式碼加入 ListBox_DoubleClick 事件處理常式中 End If 陳述式的上方。

    Me.ListBox1.Items.Remove(Me.ListBox1.SelectedItem)
    
  2. 按 F5 執行程式。

  3. 按兩下清單方塊中的多個項目,並確認已將它們從清單方塊移除,並加入至下拉式方塊中。

後續步驟

在本課程中,您已學會如何將項目加入至清單,以及從清單中移除項目。您也已經學會如何在使用者選取項目時執行動作。在下一個課程中,您將學習如何使用顯示日期和時間的控制項。

下一個課程:顯示日期:使用 MonthCalendar 和 DateTimePicker 控制項

請參閱

參考

ListBox 控制項概觀 (Windows Form)

ComboBox 控制項概觀 (Windows Form)

其他資源

建立程式的視覺外觀:Windows Form 簡介