winform ListView는 SelectedIndexChanged 이벤트를 취소하는 쉬운 방법이없는 것 같습니다. SelectedIndexChanging 이벤트가 표시되지 않습니다.WinForm ListView에서 SelectedIndexChanged 취소하기
코드는 제 시도입니다. 그러나 hightlight가 사라졌고 나는 또한 선택을 색칠해야하는지 아니면 취소 할 더 좋은 방법이 있는지 궁금 해서요. _prevSelectedIndex는 마지막 선택 항목의 인덱스입니다. 하이라이트를 이전 선택으로 되돌리려합니다.
lvSearchResults.SelectedIndexChanged -= new EventHandler(lvSearchResults_SelectedIndexChanged);
lvSearchResults.SelectedIndices.Clear();
lvSearchResults.SelectedIndices.Add(_prevSelectedIndex);
lvSearchResults.Items[_prevSelectedIndex].Selected = true;
lvSearchResults.SelectedIndexChanged += new EventHandler(lvSearchResults_SelectedIndexChanged);
Listview에는 selectedIndex 속성이 없습니다. Multiselect가 faqlse 인 경우 SelectedIndices 컬렉션에는 하나만 있어야합니다. 여전히 다중 선택이 꺼져 있든 없든, 그 행동은 똑같습니다. 핸들러 (제거 및 추가)가 제대로 작동하는 방식입니다. 그렇지 않으면 hanlder가 ... – Abdu
... 'Selected = true'문으로 인해 무한 루프가 발생합니다. – Abdu