리스트뷰 아이템 옆에 있는 체크박스가 아이템을 더블클릭 혹은 클릭시 체킹이 되는 문제!!!
또, Shift 키나 Ctrl 키를 함께 눌러서 사용했을 때 체킹이 이상하게 되는 문제를 해결하는 방법
그냥 아예..선택만 되고 체킹이 안됐으면 좋겠따....생각해서 찾아보았다
private bool inhibitAutoCheck;
private void listView1_MouseDown(object sender, MouseEventArgs e) {
inhibitAutoCheck = true;
}
private void listView1_MouseUp(object sender, MouseEventArgs e) {
inhibitAutoCheck = false;
}
private void listView1_ItemCheck(object sender, ItemCheckEventArgs e) {
if (inhibitAutoCheck)
e.NewValue = e.CurrentValue;
}
이렇게 작성해주면 선택만 되고, 체크박스에 체킹이 안된다!!!!!!
When clicking:
- MouseDown <------------- inhibited region
- Click
- MouseClick
- MouseUp ------------->
- ItemCheck (outside inhibited region)
- ItemChecked
When double clicking:
- MouseDown <------------- inhibited region
- ItemSelectionChanged
- SelectedIndexChanged
- Click
- MouseClick
- MouseUp ------------->
- MouseDown <------------- inhibited region
- ItemCheck (inside inhibited region)
- ItemActivate
- DoubleClick
- MouseDoubleClick
- MouseUp ------------->
이러한 원리라는데.. 그냥 누가더 우선순위인가 이런문제인것 같다
이제ㅠㅠ 선택된 아이템들을 체킹할수 있는 방법을 생각하러가야지...
한국사이트에서 아무도 이야기 안해놓길래.. 해외사이트 검색 안하는사람을 위해!!!!
'프로그래밍 > C#' 카테고리의 다른 글
C# ListView MultiSelecte CheckBox Check (0) | 2017.02.15 |
---|---|
C# Debug 창 출력 (0) | 2017.02.14 |
C# ListView MultiSelect Remove 하는 방법 (0) | 2017.02.08 |
C# ListView ColumHeader 안보이게 Item 한줄로 나열하는 법 (0) | 2017.02.08 |
C# Dictionary 에서 KeyCollection 가져오는 법 (0) | 2017.02.08 |