2010-01-05 5 views
1

여러 개의 체크 박스를 포함하는 여러 개의 그룹 박스가있는 폼이 있습니다. 체크 박스를 지우고 싶습니다.그룹 박스 내의 체크 박스 지우기

다음 코드를 사용합니다. 그러나 그것은 삭제되지 않습니다.

내가 뭘 잘못하고 있니?

foreach (Control ctrl in this.Controls) 
{ 
    if (ctrl is CheckBox) 
     ((CheckBox)(ctrl)).Checked = false;      
} 

다시 한번 체크 박스는 그룹 상자 내에 있습니다.

+0

winforms입니까? –

+0

네, Windows Forms C# Express Edition 2008을 사용합니다. – tecno

답변

2

확인란이 다른 컨트롤 내에있는 경우 사례 그룹 상자에서 확인란을 선택하여 속성을 설정해야합니다. collection this.Controls는 가장 가까운 하위 컨트롤 만 반환합니다.

setCheckBoxesUnChecked(this); 

public function setCheckBoxesUnChecked(Control parent) 
{ 
    foreach (Control ctrl in parent.Controls) 
    { 
     if (ctrl is CheckBox) 
      ((CheckBox)ctrl).Checked = false; 

     setCheckBoxesUnChecked(ctrl); 
    } 
} 
+0

setCheckBoxesUnChecked가 인텔리 센스에 나타나지 않고 선택한 체크 박스를 선택 취소하고 싶습니다. – tecno

+0

죄송합니다. 그것을 작업 .... – tecno

+0

감사합니다 Joop, 완벽하게 작동합니다! – tecno