Wie könnte ich den Fokus von allen Elementen in einem Listview-Steuerelement entfernen?
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?
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.