Вопрос

I have tried the below:

Select Case Combo1.SelectedItem Or Combo2.SelectedItem

But I get the error:

Conversion from String "string here" to type 'Long' is not valid

Is it possible to have multiple select cases?

Это было полезно?

Решение

You separate multiple values by using a comma:

Case Combo1.SelectedItem, Combo2.SelectedItem

Using Or would make it an expression that would be evaluated before compared to the value in the Select.

If your value in the Select is a Long value, then you may need to convert the strings from the controls:

Case CLng(Combo1.SelectedItem), CLng(Combo2.SelectedItem)

To address the question directly, using multiple values as a test expression in a select is not possible:

Select Case v1, v2 'Not possible

Другие советы

Hi Googled and saw this question without an answer. Upon further research, I found this to work for my purposes.

Basically, you start with:

Select case True

Then each case statement can be combinations of the two variables. When both are met, the case is true and will execute the appropriate code.

https://forums.asp.net/t/611892.aspx?To+do+a+select+case+using+two+variables+or+parameters

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    Dim i, j As Integer
    Dim value As Integer

    For i = 1 To 3
        For j = 1 To 5
            value = (GetCode(i, j))
            TextBox1.Text = TextBox1.Text & "i=" & i & "->j=" & j & "=" & value & vbCrLf
        Next
    Next
End Sub
Function GetCode(ByVal v1 As Integer, ByVal v2 As Integer) As Integer
    Dim retval As Integer
    Dim forselect As String
    forselect = v1 & v2
    Select Case forselect
        Case 11
            retval = 11
        Case 12
            retval = 12
        Case 13
            retval = 13
        Case 14
            retval = 14
        Case 15
            retval = 15
        Case 21
            retval = 21
        Case 22
            retval = 22
        Case 23
            retval = 23
        Case 24
            retval = 24
        Case 25
            retval = 25
        Case 31
            retval = 31
        Case 32
            retval = 32
        Case 3, 3
            retval = 33
        Case 34
            retval = 34
        Case 35
            retval = 35


    End Select

    Return retval
End Function
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top