多重項目控制項:使用 ListBox 和 ComboBox 控制項
更新:2007 年 11 月
在本課程中,您將學習如何將項目加入至清單,以及從清單中移除項目。您也會學習如何在使用者從清單選取項目時執行動作。
當您要提供使用者選擇的清單時,便可以在 ListBox 控制項或 ComboBox 控制項中顯示項目的清單。
ListBox 控制項能夠讓您同時顯示多個項目,讓使用者能夠捲動較長的清單。當使用者選取某個項目時,該項目便會如下列圖例所示,在清單中反白顯示。
ListBox 控制項
ComboBox 控制項是文字方塊和清單方塊的組合。根據預設,下拉式方塊會以文字方塊的形式出現,不過當使用者按一下下拉箭號時,便會出現清單。當使用者選取某個項目時,如下列圖例所示,該項目便會反白顯示,並會出現在預設檢視中。
ComboBox 控制項
將項目加入至清單方塊的流程與加入下拉式方塊相似。您可以使用 ListBox 控制項的 Add 方法,以及 ComboBox 控制項的 Add 方法來加入項目。
試試看!
若要將項目加入至清單方塊
在 [檔案] 功能表上,按一下 [新增專案]。
[新增專案] 對話方塊便會出現。
按一下 [Windows Form 應用程式],然後按一下 [確定]。
會開啟新的 Windows Form 專案。
將 [ListBox] 控制項加入至表單,並保留預設名稱 [ListBox1]。
按兩下表單,在 [程式碼編輯器] 中加入預設事件處理常式。
在 Form_Load 事件處理常式中加入下列程式碼,以便在清單中加入項目。
With Me.ListBox1.Items .Add("red") .Add("blue") .Add("green") .Add("yellow") .Add("orange") .Add("pink") .Add("brown") .Add("black") End With
按 F5 執行程式。
表單便會開啟,並會顯示包含色彩清單的 ListBox。
關閉程式。
在選取項目變更時執行動作
您可以在使用者選取清單方塊中的對應項目時執行一項動作,如顯示某種色彩。若要這樣做,您必須在 ListBox 的 SelectedIndexChanged 事件處理常式中撰寫程式碼。在 ComboBox 控制項也有對應的事件。
您可以使用 SelectedItem 屬性來判斷在清單中選取的項目。您可以使用 Color 物件的 FromName 方法,將清單中所選取的色彩指派給控制項的 BackColor 屬性。
若要顯示在清單方塊中選取的色彩
將 [TextBox] 控制項加入至表單,並保留預設名稱 [TextBox1]。
按兩下 [ListBox] 控制項,在 [程式碼編輯器] 中加入預設事件處理常式。
在 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
按 F5 執行程式。
當表單開啟時,按一下清單方塊中的項目即可看到所選取的色彩出現在文字方塊中。
關閉程式。
檢查項目是否存在於清單中
當您將項目加入至清單時,通常都不想重複現有的項目。例如,您可能要讓使用者能夠按兩下清單方塊中的項目,就能將該項目複製到下拉式方塊中。如果該項目已經在下拉式方塊中,便不應該再次加入。您可以使用 Contains 方法來判斷該項目是否已經在下拉式方塊中。在清單方塊也有對應的 Contains 方法。
若要將項目加入至下拉式方塊
將 [ComboBox] 控制項加入至表單,並保留預設名稱 [ComboBox1]。
以滑鼠右鍵按一下表單,並按一下 [檢視程式碼],開啟 [程式碼編輯器]。
在 [程式碼編輯器] 中,按一下 [類別名稱] 下拉式清單中的 [ListBox1]。
在 [方法名稱] 下拉式清單中,按一下 [DoubleClick] 建立事件處理常式。
在 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
按 F5 執行程式。
按兩下清單方塊中的多個項目,並確認只要一次即可將這些項目加入至下拉式方塊。
關閉程式。
從清單方塊刪除項目
您可以使用 Remove 方法從清單方塊刪除項目。例如,您可能決定要自清單方塊移動這些項目,而非將項目複製到下拉式方塊。您可以先將項目加入至下拉式方塊,然後再從清單方塊將其刪除,即可完成項目的移動。
若要從清單方塊刪除項目
將下列程式碼加入 ListBox_DoubleClick 事件處理常式中 End If 陳述式的上方。
Me.ListBox1.Items.Remove(Me.ListBox1.SelectedItem)
按 F5 執行程式。
按兩下清單方塊中的多個項目,並確認已將它們從清單方塊移除,並加入至下拉式方塊中。
後續步驟
在本課程中,您已學會如何將項目加入至清單,以及從清單中移除項目。您也已經學會如何在使用者選取項目時執行動作。在下一個課程中,您將學習如何使用顯示日期和時間的控制項。
下一個課程:顯示日期:使用 MonthCalendar 和 DateTimePicker 控制項