ListView 컨트롤의 모든 항목에서 초점을 제거 할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/813826

  •  03-07-2019
  •  | 
  •  

문제

안에 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를 누를 때만이 표시됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top