2009-03-11 6 views
1

체크리스트 상자에서 작업 할 때 SetItemChecked 및 SetItemCheckState를 우연히 발견했습니다.SetItemChecked (index, boolean) VS SetItemCheckState (index, Checkstate)

SetItemChecked는 listindex와 True/false를 사용하여 listitem을 선택 또는 선택 취소합니다.

SetItemCheckState는 listindex와 CheckState-enum을 사용하여 상태를 선택, 선택 취소 또는 불확정 상태로 설정합니다.

SetItemCheckState가 모든 상태를 커버 할 때 SetItemChecked가 존재하는 이유는 무엇입니까?

가장 일반적인 사용 여부를 확인/선택 취소하거나 내가 놓친 것이므로 부울을 쉽게 사용할 수 있습니까?

그냥 부울을 사용하기 쉽게 만들려면 함수에 과부하가되는 이유는 무엇입니까?

감사합니다.

답변

3

실제 차이점은 없습니다. SetItemCheck은과 같이 SetItemCheckedState를 호출

public void SetItemChecked(int index, bool value) 
{ 
    this.SetItemCheckState(index, value ? CheckState.Checked : CheckState.Unchecked); 
} 

당신이 이미 가정 한 것처럼, 나는 그냥 개발자를위한 일을 간단하게 만들 수있는 도우미-방법 같아요. 훨씬 더 일반적인 부울 값에 따라/선택 해제를 확인하고,이 일을하지 않으려하기 때문에

1

내가

투표는 선택을 취소/단지의 가장 일반적인 사용을 확인하기 때문에 쉽게 부울을 사용할 수 있도록하는 것입니다 아니면 내가 뭔가를 놓친?

그러나 추가 기능은 일반적으로 실 거예요 (단지 불확정 경우가 추가됩니다)

편집 사용됩니다 CheckedListBox.SetItemCheckState (1, CheckState.Checked)을 읽을 무서운 (그러나 지우기)이다 CheckedListBox를 .SetItemChecked (1, true)는 읽기 쉽습니다.

1

때문이다 :

listbox.SetItemCheckState(i, value ? CheckState.Checked : CheckState.UnChecked)

모든 시간. 또한 CheckBox의 Checked 및 CheckState 속성을 반영하기 때문에 과부하가 아닙니다.

0

그것은 매우 분명하지만 의외로 아무도 여기에 언급 : .SetItemChecked()

할 수 있습니다 만 확인하거나 당신은 또한 항목이 항목에 음영 체크 박스를 제공 할 .SetItemCheckState()에 의해 '불확정'에 상태를 확인 설정할 수 있습니다 동안 항목을 선택 해제 3D 체크 박스를 사용할 때.