Comment puis-je supprimer le focus de tous les éléments d'un contrôle ListView?

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

  •  03-07-2019
  •  | 
  •  

Question

Dans un contrôle ListView , l'accent est mis sur un élément au sein de ce contrôle. En d'autres termes, le contrôle conserve sa propre notion interne de ce qui est au centre, ce qui peut être récupéré à l'aide de la propriété FocusedItem .

Je voudrais que aucun élément ne soit ciblé. En d'autres termes, je souhaite que la propriété FocusedItem soit définie sur null . Une idée de comment je pourrais y arriver?

Était-ce utile?

La solution

Pour développer la réponse de Vanuan:

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

Quelque chose me dit que vous souhaitez également désélectionner l'élément. Donc, vous voulez probablement le faire aussi:

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

Autres conseils

Je pense que c'est

listView1.FocusedItem.Focused=false;

Assurez-vous que listView1.FocusedItem n'est pas null.

(Merci à brianpeiris pour son expansion)

Lorsque de nouveaux éléments sont ajoutés à un contrôle en vue liste, il trace un cadre en pointillé autour des éléments. Il y a des situations où vous ne voulez pas ce signal visuel. Il suffit de sélectionner le ou les éléments sélectionnés en surbrillance. Voici un moyen d’empêcher l’affichage de la boîte en pointillé lors de l’ajout de nouveaux éléments à un contrôle en vue liste.

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

UPDATE:
Ma solution ne résout pas le problème. Je souhaite qu’il existe un moyen simple de "déconcentrer" un contrôle, mais après avoir googlé pendant plusieurs heures, je n’en ai trouvé aucun. Moi aussi, je cherchais un moyen d'éviter que ces lignes pointillées apparaissent. Lorsque je clique sur un bouton pour ajouter des éléments d'affichage de liste, il n'y a pas de problème. Ce n'est que lorsque j'appuie sur Entrée après avoir appuyé sur un bouton (réception du focus d'entrée).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top