내가 무엇을 믿는 데 것은 내가 볼 수있는 간단한 수정 간단한 문제가 끝납니다. 사용자가 선택 항목에 대해 여러 확인란을 선택하는 양식이 있습니다. Vb.net 선택 문은 ubruptly
하면 사용자가 내가 번호 (1-12) 사용되는 보유 할 배열을 제출 버튼을 누른다. 내 배열은 모듈에 저장됩니다. 여기
Module MyVariables
Public NumbersUsing(11) As Integer
End Module
내 선택 한 Statment의 코드, 나는 단순하고 곤란에 대한 repitious 부분을 잘라거야.
Private Sub SubmitBtn_Click(sender As Object, e As EventArgs) _
Handles SubmitBtn.Click
Select Case True
Case CheckBox1.Checked
For i As Integer = 0 To 11
If NumbersUsing(i) = Nothing Then
NumbersUsing(i) = 1
Exit For
Else
i += 1
End If
Next
Case CheckBox2.Checked
For i As Integer = 0 To 11
If NumbersUsing(i) = Nothing Then
NumbersUsing(i) = 2
Exit For
Else
i += 1
End If
Next
Case CheckBox3.Checked
For i As Integer = 0 To 11
If NumbersUsing(i) = Nothing Then
NumbersUsing(i) = 3
Exit For
Else
i += 1
End If
Next
...
End Select
For i = 0 To 11
MessageBox.Show(NumbersUsing(i)) 'To test which numbers have been entered.
i += 1
Next
End Sub
메시지 상자에있는 모든 항목은 기본적으로 1과 0이며 첫 번째 사례 문 검토를 통과하지 않습니다. 첫 번째 문을 제외하고 다른 문은 모두 검사하지 않습니다. 왜 이렇게하는지 모르겠습니다.
도움을 주시면 대단히 감사하겠습니다. 첫 번째 Case CheckBox1.Checked
가 true 인 경우
당신이 모든 루프가 수행 할 작업을 나에게 명확하지 않다; Select Case 문은 배타적입니다. 첫 번째 조건이 충족되면 '그렇다면 else else then then ...'과 같이 다음 문항이 분석되지 않습니다. 당신이 원하는 것을 정확히 설명해 주시겠습니까? – varocarbas
'Else ... i + = 1'은 각 루프가 몇 번 반복되는지를 trunate합니다. 그것을 제거. 또한 각 사례에 대한 EXIT는 첫 번째 배열 색인 만 설정되었음을 의미합니다 (아무 것도 아닌 경우) – Plutonix
그게 내가 생각한 것입니다. 그러나 나는 완전히 확신하지 못했습니다. 개별 if 문이 필요하다고 가정합니다. 각 확인란을 살펴 보려고합니다. 체크 박스가 체크되어 있으면 그 체크 박스와 관련된 값을 배열의 가장 빠른 인덱스로 설정합니다. –