2014-02-24 2 views
2

WinForm의 체크 상자 만 루프 할 수 있습니까?체크 상자의 루프 만

나는이 검사를 피하기 위해 싶습니다

foreach (CheckBox checkbox in this.Controls() 
          .Where(c => c.GetType() == typeof (CheckBox)) 
          .Select(c => (CheckBox)c)) 
{ 
    // code 
} 

또 다른를 : 샘플,

foreach (CheckBox checkbox in this.Controls()) 
    if (checkbox.GetType() == typeof (CheckBox)) 

답변

1

당신은 Linq에서 Where 문을 추가 할 수 있으며, 체크 박스에 컨트롤 개체를 캐스팅하는 Select 방법을 이동 방법은 다음과 같습니다.

foreach (CheckBox checkBox in this.Controls.OfType<CheckBox>()) 
{ 
    // code 
} 
+0

select 문을 사용 하시겠습니까? – user3165438

+0

'Control' 타입에서'CheckBox' 타입으로 변환하기 만하면됩니다. 그것은 단지 안전 할 뿐이지 만, 당신은'Select'없이 그것을 할 수 있고 C#이 당신에게 암시 적으로 변환되도록 할 수 있습니다. –

+0

감사합니다. 다음과 같은 오류가 발생합니다 :'Window.Forms.Contorl을 메서드처럼 사용할 수 없습니다. ' – user3165438

관련 문제