2012-05-11 3 views
3

시각적 기본 폼 패널에서 체크 박스를 체크하고 체크 할 구문은 무엇입니까? 나는 어떻게 for 루프와 if 문을 사용할 수 있었는지 이해하지만 각각의 체크 박스를 검사하는 구문에 대해서는 혼란 스럽다. 예를 들면 :루프로 체크 할 체크 박스를 확인하십시오.

Dim i As Integer 
For i = 1 To 10 
    'Here is where my code would go. 
    'I could have ten checkboxes named in sequence (cb1, cb2, etc), 
    'but how could I put i inside the name to test each checkbox? 
Next 

답변

2

나는하지 VB.Net 구문을 매우 잘 알고 있지만, psudo-코드 :

ForEach CheckBox in ControlContainer 
    DoSomething 
Next 

단일 용기에 CheckBox 구성의 모든 컨트롤이있는 경우 - 예를 들어, Panel - 그러면 위의 코드는 CheckBox 인 각 컨트롤을 반복합니다.

7

확인란이 추가 된 컨트롤의 Controls 컬렉션을 반복해야합니다. 각 Control 개체에는 Controls 컬렉션이 있습니다. 이 시나리오에서 For Each 루프를 선호하므로 컨트롤 인덱스를 사용하지 않고 컨트롤을 바로 가져올 수 있습니다. CheckBox를 Panel에 직접 추가하면 가장 쉽게 할 수 있습니다.

For Each ctrl As var In panel.Controls 
    If TypeOf ctrl Is CheckBox AndAlso DirectCast(ctrl, CheckBox).IsChecked Then 
     'Do Something 
    End If 
Next 
+1

첫 번째 줄은 panel.Controls'에서 제어 각 Ctrl 키를 들어'해야 – Wayne

0

이 시도 :

Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
      If CheckBoxList1.Text = "" Then 
       do/display something 
       Exit Sub 
      Else 
       For Each item As ListItem In CheckBoxList1.Items 
        If item.Selected Then 
         do/display something 
        End If 
       Next 
      End If 
     End Sub 
관련 문제