使用SelectedIndexChanged事件:
Private Sub yearLevel_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles yearLevel.SelectedIndexChanged
Select Case yearLevel.SelectedItem.ToString
Case "Nursery" : txtAmount.Text = "1000"
Case "Kinder" : txtAmount.Text = "2000"
End Select
End Sub
爲了使它更具活力和輕鬆,當你添加的項目組合框,將其添加爲包含文本和量的對象,那麼的SelectedIndexChanged在發生,只是鑄selectedobject回到自己的對象和使用量的值:
Private Structure YearLevelItemStruct
Private _Text As String
Private _Amount As Double
Public ReadOnly Property Text() As String
Get
Return Me._Text
End Get
End Property
Public ReadOnly Property Amount() As Double
Get
Return Me._Amount
End Get
End Property
Public Sub New(ByVal Text As String, ByVal Amount As Double)
Me._Text = Text
Me._Amount = Amount
End Sub
Public Overrides Function ToString() As String
Return _Text
End Function
End Structure
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
loaditems()
End Sub
Sub loaditems()
yearLevel.Items.Clear()
yearLevel.Items.Add(New YearLevelItemStruct("Nursery", 1000))
yearLevel.Items.Add(New YearLevelItemStruct("Kinder", 2000))
End Sub
Private Sub yearLevel_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles yearLevel.SelectedIndexChanged
txtAmount.Text = DirectCast(yearLevel.SelectedItem, YearLevelItemStruct).Amount.ToString
End Sub
當然,如果你有媒體鏈接在一些列表或某種物體具有的ToString(的陣列中的所有項目),你不需要創建一個自己的結構來持有這個目標克拉。 如果您的對象沒有ToString(),那麼您可以使用組合框:s .DisplayMember =「some_property_that_returns_a_string」。因爲如果它不暴露ToString(並且您不使用.DisplayMamber),那麼組合框將被填充類型的名稱而不是文本。
你如何綁定到組合框?什麼是數據類型? – Oded