Interdire la selection dans une listbox avec la souris en SelectionMode.One [Résolu]

Signaler
Messages postés
18
Date d'inscription
mercredi 20 avril 2005
Statut
Membre
Dernière intervention
16 mai 2008
-
Messages postés
433
Date d'inscription
samedi 26 avril 2003
Statut
Membre
Dernière intervention
4 décembre 2009
-
Bonsoir

Juste un détail, mais je voudrais bien savoir si c'est possible "d'annuler" en quelque sorte la selection d'un item d'une listbox si la selection se fait par un click de souris. (autrement dis : "faire comme si" le SelectionMode était None)

Mon but est d'obliger l'utilisateur à utiliser uniquement les fleches et le fait de tapper une lettre pour retrouver un élément. ( evidemment lors du chargement de la page, le premier élément du listbox est sélectionné)

Merci bien

3 réponses

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
85
Salut,

lol
Sinon tu crée un contrôle personnalisé héritant de System.Windows.Forms.ListBox et tu override sa méthode WndProc pour faire ceci :

private const int WM_LBUTTONDOWN = 0x0201;
private const int WM_LBUTTONUP = 0x0202;
private const int WM_LBUTTONDBLCLK = 0x0203;


protected override void WndProc(ref Message m)
{
if ( m.Msg != WM_LBUTTONDOWN && m.Msg != WM_LBUTTONUP && m.Msg != WM_LBUTTONDBLCLK )
{
base.WndProc (ref m);
}
}

On ne laisse passer le message que s'il ne s'agit pas d'un des trois qu'on veut bloquer.

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
433
Date d'inscription
samedi 26 avril 2003
Statut
Membre
Dernière intervention
4 décembre 2009
1
Bonjour,

Ecris deux événements
listbox_selectedindexchanged ()
et
listbox_click ()

dans lequel tu mets un messagebox "Veuillez utiliser les fleches svp abnde de tricheurs, maniaques du mulot !."
Messages postés
433
Date d'inscription
samedi 26 avril 2003
Statut
Membre
Dernière intervention
4 décembre 2009
1
il est fort ce coq !