2012-12-13 2 views
1

Checkbox이 활성화 된 양식에 ListView이 있습니다. 다음은 간단한 예제 프로그램입니다 :드래그 선택시 ListView CheckBox의 비정상적인 동작

[STAThread] 
static void Main() 
{ 
    var form = new Form(); 
    var listView = new ListView() { 
     Dock = DockStyle.Fill, CheckBoxes = true, View = View.List }; 
    listView.Items.Add("a"); 
    listView.Items.Add("b"); 
    listView.Items.Add("c"); 
    form.Controls.Add(listView); 
    Application.Run(form); 
} 

이 프로그램을 실행하면, 드래그 선택 두 개 또는 세 개의 ListView 항목을보십시오. 이것은 잘 작동합니다. 그러나 이제 다시 시도하고 CheckBox 위에 마우스 버튼을 놓아 버렸습니다.

그 결과 마우스 커서 아래에있는 CheckBox은 영향을받지 않지만 다른 모든 항목은 해당 상태 인 CheckBox에 따라 선택/선택 해제됩니다. 최종 사용자는이 동작이 엉뚱한 것을 발견하고 동의합니다.

ListView 항목을 드래그하여 선택하면 이러한 우발적 인 변경을 방지 할 수 있습니까? CheckBox?

+0

1 enter image description here! 말할 것도없이 ... 이것은 매우 흥미 롭습니다. –

답변

0

시도해 볼 수 있습니다 Better ListView Express - 무료이며 관리 코드로 작성되고 아주 성숙한 컨트롤입니다.

일반 .NET ListView의 확인란 동작 및 기타 결함은 여기에서 고정됩니다. 예를 들어, 체크 상자는 완전히 애니메이션으로 표시되며 (핫 및 프레스 상태) 라디오 단추가있을 수도 있습니다.

컨트롤은 상업적으로도 사용할 수 있습니다. 또한 세 가지 상태 확인란을 지원하는 full version도 있습니다.

확인란은 세부 정보뿐만 아니라 모든보기에서 지원됩니다. 실제로 사람이 그냥 복사 및 붙여 넣기 실행할 수있는 완벽한 프로그램을 게시

관련 문제