带有多个语句的 IfElse Vb.net

IfElse with multiple Statements 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.

编程了
            Dim CBJ As String = "CBJ"
Dim CNJ As String = "CNJ"
Dim FEM As String = "FEM"
Dim LAD As String = "LAD"
Dim MAM As String = "MAM"
Dim SSH As String = "SSH"


If vesselcmb.SelectedItem = "Cairebelle Jayde" Then
        vesselprint.Text = CBJ
    End If

    If vesselcmb.SelectedItem = "Colan James" Then
        vesselprint.Text = CNJ
    End If

    If vesselcmb.SelectedItem = "Felicity Mackenzie" Then
        vesselprint.Text = FEM
    End If

    If vesselcmb.SelectedItem = "Lauren Danrya" Then
        vesselprint.Text = LAD
    End If

    If vesselcmb.SelectedItem = "Mackenzie Maria" Then
        vesselprint.Text = MAM
    End If

    If vesselcmb.SelectedItem = "Sophia Shay" Then
        vesselprint.Text = SSH
    End If

有多种方法可以做到这一点。如果您在控件之间定义了一个公共数据源,因为组合框选择了不同的项目,如果绑定到相同的数据源,这将反映在 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)