ListView 컨트롤의 모든 항목에서 초점을 제거 할 수 있습니까?
문제
안에 ListView
제어, 초점은 일부에 중점을 둡니다 Item
그 제어 내에서 - 즉, 통제는 초점을 맞춘 것에 대한 자체 내부 개념을 유지하며, 이는 다음을 사용하여 검색 할 수 있습니다. FocusedItem
재산.
나는 원한다 아니요 집중할 항목. 다시 말해, 나는 원한다 FocusedItem
설정할 속성 null
. 내가 어떻게 이것을 달성 할 수 있는지 아십니까?
해결책
바누아의 답변에 대한 확장 :
if (listView1.FocusedItem != null)
{
listView1.FocusedItem.Focused = false;
}
무언가가 항목을 선택하지 않기를 원한다고 말합니다. 따라서 아마도 이것도하고 싶을 것입니다.
if (listView1.SelectedItems.Count != 0)
{
listView1.SelectedItems[0].Selected = false;
}
다른 팁
나는 생각합니다
listView1.FocusedItem.Focused=false;
ListView1.focusedItem이 null이 아닌지 확인하십시오.
(감사합니다 브라이언페이리스 확장을 위해)
새 항목이 목록보기 컨트롤에 추가되면 항목 주위에 점선 상자를 그립니다. 이 시각적 신호를 원하지 않는 상황이 있습니다. 선택한 항목을 단순히 Hightlight를 갖는 것만으로도 충분합니다. 다음은 목록보기 컨트롤에 새 항목을 추가 할 때 점선 상자가 나타나는 것을 방지하는 한 가지 방법입니다.
ListViewItem item = new ListViewItem();
myListView.Items.Add(item);
myListView.SelectedItems.Clear();
myListView.FocusedItem = null;
myListView.Refresh();
업데이트:
내 해결책은 문제를 해결하지 못합니다. 컨트롤을 "고정"하는 간단한 방법이 있었으면 좋겠지 만 몇 시간 동안 인터넷 검색을 한 후에는 찾을 수 없었습니다. 나도 점선이 나타나는 것을 막을 수있는 방법을 찾고있었습니다. 버튼을 클릭하여 목록보기 항목을 추가하면 문제가 없습니다. 버튼 (입력 초점을 수신)에 탭한 후 Enter를 누를 때만이 표시됩니다.
제휴하지 않습니다 StackOverflow