Bonjour, comme l'indique mon sujet je cherche à empeche l'utilisateur d'utiliser la molette de sa souris dans une combobox. Donc si vous avez une idée merci de l'indiquer
Bonjour, comme l'indique mon sujet je cherche à empeche l'utilisateur d'utiliser la molette de sa souris dans une combobox. Donc si vous avez une idée merci de l'indiquer
je suggererais la demarche suivante :
Tu crées un userControl qui hérite de la combobox
et tu rajoutes le code suivant :
L'idée est que la message WM_MOUSEWHEEL est envoyé par windows lorsque tu tournes la roulette.. donc, en surchargeant la methode WndProc, tu te garantis de trapper TOUS LES evenements Windows envoyé à ton control, et par conséquent, sur le WM_MOUSEWHEEL, tu t'autorises à ne rien faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 public partial class myCombo : ComboBox { const int WM_MOUSEWHEEL = 0x20A; public myCombo() { InitializeComponent(); } protected override void WndProc(ref Message m) { if(m.Msg != WM_MOUSEWHEEL) { base.WndProc(ref m); } } }
The Monz, Toulouse
Ca marche super bien merci beaucoup.
Encore un truc de résolu!!!
C'est super cependant je ne comprend pas une petite chose :
const int WM_MOUSEWHEEL = 0x20A;
Que veux dire 0x20A ?
Pour le reste je comprend que WM_MOUSEWHEEL est le message envoyer disant que l'utilisateur utilise la molette , donc si différent de molette tu passe le message sinon tu fait rien. Mais le 0x20A je ne sait pas dutout se que cela veux dire.
C'est l'identifiant du message Windows
Partager