Au moins un élément reste toujours sélectionné dans ListBox. Je veux que lorsque l'utilisateur clique sur une zone vide de ListBox, la sélection doit être effacée. Comment faire ça? J'essaie de répliquer Opera Notes dans le cadre de mon application. D'abord j'utilisais un DataGridView lié maintenant j'utilise un ListBox lié sur le volet gaucheEffacer ListBox Sélection lorsque vous cliquez sur une zone vide
0
A
Répondre
3
Gérez l'événement ListBox.MouseDown.
Appelez ListBox.IndexFromPoint, en transmettant la propriété Location à partir du paramètre MouseEventArgs de l'événement MouseDown.
Cela devrait retourner l'index de l'élément sur lequel on a cliqué, ou ListBox.NoMatches si le clic était sur une zone vide.
Si la valeur de retour est ListBox.NoMatches, définissez la propriété ListBox.SelectedIndex sur -1 pour effacer la sélection.
1
M. Avalanchis a déjà répondu à cette question. J'ajoute juste le code nécessaire pour suivre les étapes qu'il a suggérées. Espérons que le code explicite aidera.
private void listBox1_MouseDown(object sender, MouseEventArgs e)
{
Point pt = new Point(e.X, e.Y);
int index = listBox1.IndexFromPoint(pt);
if (index <= -1)
{
listBox1.SelectedItems.Clear();
}
}
Questions connexes
- 1. obtenir une petite liste lorsque vous cliquez sur un bouton
- 2. Silverlight: donner le focus à un élément ListBox parent lorsque vous cliquez sur un bouton enfant
- 3. Contour étrange lorsque vous cliquez sur contentEditable div
- 4. événement javascript lorsque vous cliquez sur «retour» sur la page?
- 5. informations sur les cellules lorsque vous cliquez sur la cellule
- 6. WX: tentative de sélection d'une valeur lorsque vous cliquez sur un champ de texte
- 7. Changer la couleur d'arrière-plan lorsque vous cliquez sur la zone de texte en C#
- 8. Texte à l'intérieur d'une zone de texte qui doit être effacée lorsque vous cliquez sur
- 9. Sélection d'éléments dans une zone de liste en utilisant C#
- 10. Silverlight MVVM - Liaison bidirectionnelle non déclenchée sur Listbox cliquez sur
- 11. Effacer Sélectionnez les options lorsque vous sélectionnez un champ lorsque vous utilisez plusieurs formulaires sur la même page.
- 12. WPF ListBox vide comme cible
- 13. Javascript rediriger lorsque vous cliquez sur le bouton Retour
- 14. Google map API v3 cliquez sur l'événement raise lorsque vous cliquez sur MoreMarkerClusterer?
- 15. Changer l'écran lorsque vous cliquez sur le bouton
- 16. Comment afficher un TPopupMenu lorsque vous cliquez sur un TButton?
- 17. Désactiver la commutation automatique lorsque vous cliquez sur UISwitch?
- 18. empêcher de basculer lorsque vous cliquez sur les éléments imbriqués
- 19. Appelez la fonction lorsque vous cliquez sur le bouton html
- 20. UIButton qui parcourt les images lorsque vous cliquez sur
- 21. Les contrôles créés dynamiquement disparaissent lorsque vous cliquez sur
- 22. Changing ContentTemplate basé sur la sélection ListBox
- 23. Sélection de la valeur de la zone de texte lorsque vous appuyez sur le bouton suivant
- 24. Récupération du texte sélectionné à partir de la zone de texte lorsque vous cliquez sur la plage dans IE
- 25. jQuery - sélectionnez l'élément que vous cliquez sur
- 26. Sélectionnez le texte comme "Ctrl + A" lorsque vous cliquez sur le texte?
- 27. Empêcher la sélection de ligne dans la grille de données lorsque vous cliquez sur une case à cocher
- 28. Google Maps masquer marqueur (et infos) et afficher uniquement lorsque vous cliquez sur une zone qui a des informations
- 29. Sélectionnez tout dans une pré-boîte lorsque vous cliquez dessus?
- 30. Téléphone Windows 7 Animation ListBox sur la sélection
Merci! Je l'ai fait avec listbox, est-ce que je peux faire la même chose avec vue de grille de données? – SMUsamaShah
Notez que vous n'avez pas besoin de créer un nouveau gestionnaire pour MouseDown juste pour obtenir le MouseEventArgs. Dans votre gestionnaire de clic existant, vous pouvez convertir e en une nouvelle variable MouseEventArgs et obtenir Location à partir de cette variable. –