首页 > 解决方案 > IfElse 带有多个语句 Vb.net

问题描述

如果 ComboBox 更改项目,我如何使用 IfElse 和多个语句来打印不同的数据:

例如:

 Sub Vesselget()
    If vesselcmb.SelectedItem = "Cairebelle Jayde" Then
        vesselprint.Text = "CBJ"

        ElseIf
        vesselcmb.SelectedItem = "Colan James" Then
        vesselprint.Text = "CNJ"

        ElseIf
        vesselcmb.SelectedItem = "Felicity Mackenzie" Then
        vesselprint.Text = "FEM"

        ElseIf
        vesselcmb.SelectedItem = "Lauren Danrya" Then
        vesselprint.Text = "LAD"

        ElseIf
        vesselcmb.SelectedItem = "Mackenzie Maria" Then
        vesselprint.Text = "MAM"

        ElseIf
        vesselcmb.SelectedItem = "Sophia Shay" Then
        vesselprint.Text = "SSH"

    End If
End Sub

标签: vb.net

解决方案


有很多方法可以做到这一点。如果您在控件之间定义了一个公共数据源,则当组合框选择了不同的项目时,如果绑定到相同的数据源,这将反映在 vesselprint 文本框中。更适合更大的数据集。

如果您不想使用数据源并且更喜欢自己编写代码,则可以将第一个示例编写为:

    If vesselcmb.SelectedItem = "Cairebelle Jayde" Then
        vesselprint.Text = "CBJ"
    ElseIf vesselcmb.SelectedItem = "Colan James" Then
        vesselprint.Text = "CNJ"
    ElseIf vesselcmb.SelectedItem = "Felicity Mackenzie" Then
        vesselprint.Text = "FEM"
    ElseIf vesselcmb.SelectedItem = "Lauren Danrya" Then
        vesselprint.Text = "LAD"
    ElseIf vesselcmb.SelectedItem = "Mackenzie Maria" Then
        vesselprint.Text = "MAM"
    ElseIf vesselcmb.SelectedItem = "Sophia Shay" Then
        vesselprint.Text = "SSH"
    End If

所以你快到了,只是失去了换行符。或者,您也可以这样做:

  Private Function GetVesselPrint(SelectedItem As String) As String
    Select Case SelectedItem
        Case "Cairebelle Jayde"
            Return "CBJ"
        Case "Colan James"
            Return "CNJ"
        Case "Cairebelle Jayde"
            Return "CBJ"
        Case "Felicity Mackenzie"
            Return "FEM"
        Case "Lauren Danrya"
            Return "LAD"
        Case "Mackenzie Maria"
            Return "MAM"
        Case "Sophia Shay"
            Return "SSH"
        Case Else
            Return Nothing
    End Select
End Function

你会这样称呼它:

vesselprint.Text = GetVesselPrint(vesselcmb.SelectedItem)

推荐阅读