使用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