Wie könnte ich den Fokus von allen Elementen in einem Listview-Steuerelement entfernen?

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

  •  03-07-2019
  •  | 
  •  

Frage

In einer ListView Kontrolle liegt der Fokus auf einigen Item innerhalb dieser Kontrolle - das heißt, die Kontrolle behält seine eigene innere Vorstellung von dem, was im Fokus, die die FocusedItem Eigenschaft abgerufen werden können.

Ich möchte nicht Produkte konzentrieren. Mit anderen Worten, ich möchte die FocusedItem Eigenschaft auf null einzustellen. Jede Idee, wie ich könnte dies erreichen?

War es hilfreich?

Lösung

Zur Erweiterung auf Vanuan Antwort:

if (listView1.FocusedItem != null)
{
    listView1.FocusedItem.Focused = false;
}

Etwas sagt mir, dass Sie auch wollen, um das Element un-wählen. Also, wollen Sie wahrscheinlich, dies zu tun, wie gut:

if (listView1.SelectedItems.Count != 0)
{
    listView1.SelectedItems[0].Selected = false;
}

Andere Tipps

Ich denke, es ist

listView1.FocusedItem.Focused=false;

Stellen Sie sicher, dass listView1.FocusedItem nicht null ist.

(Dank brianpeiris für die Erweiterung)

Wenn neue Elemente zu einer Listenansicht hinzugefügt werden, zieht es gepunkteten Kasten um die Elemente. Es gibt einige Situationen, in denen Sie nicht über diesen visuellen Hinweis mögen. Einfach mit den ausgewählten (n) Artikeln hightlighted ausreichend. Hier ist ein Weg, gepunktetes Feld um zu verhindern, zeigt sich, wenn neue Elemente zu einer Listenansicht hinzugefügt wird.

ListViewItem item = new ListViewItem();
myListView.Items.Add(item);
myListView.SelectedItems.Clear();
myListView.FocusedItem = null;
myListView.Refresh();

UPDATE:
Meine Lösung nicht beheben das Problem nicht. Ich wünschte, es eine einfache Art und Weise war eine Kontrolle „unfocus“, aber nach ein paar Stunden googeln ich nicht finden konnte. Auch ich war auf der Suche nach einem Weg, um die gepunkteten Linien angezeigt werden, zu verhindern. Wenn ich auf eine Schaltfläche klicken, um Listenansicht Elemente hinzuzufügen gibt es kein Problem. Es ist nur, wenn ich drücken Sie nach in eine Taste Tabbing (Empfangseingabefokus) macht diese Show auf.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top