Empecher la roulette de la souris

Yann47
Empecher la roulette de la souris

Dans toutes les recherches effectuées sur le MouseWheel,on ne trouve que des variantes du code Microsoft sur la MouseWheel.dll.
Je voudrais savoir s'il existe une version equivalente pour VB NET 2005, ou si des commandes intégrées permettent la même action.
Car dans une application, j'ai 4 ToolstrpComboBox (qui ne possèdent pas le ToolstripComboBox.MouseWheel) et lorsque l'on se déplace sur le Form et que la roulette bouge, les valeurs des ToolStrpComboBox délilent.
J'ai a peu près réussi à contourner le Pb en utilisant le MouseHover des controls se trouvant sous les déroulés des ToolStripComboBox et qui défocalise ceux-ci.

fredericmazue

Quote:
J'ai a peu près réussi à contourner le Pb en utilisant le MouseHover des controls se trouvant sous les déroulés des ToolStripComboBox et qui défocalise ceux-ci.

La classe Control a un évènement MouseWheel. Si au lieu de bidouiller le MouserHover tu écris un gestionnaire d'évènement MouseWheel qui ne fait rien, je suppose que tu obtiendras l'effet recherché.

Je dis je suppose car je ne l'ai jamais fait. Faut essayer quoi :)

Yann47

La Classe ToolStripComboBox ne gère pas l'évenement MouseWheel, si c'était le cas, il n'y aurait aucune difficulté à annuler le défilement.

fredericmazue

La Classe ToolStripComboBox ne gère pas l'évenement MouseWheel

Mais si.
Si défilement il y a c'est dans le ComboBox, car comme tu le sais ce ToolStripComboBox est construit autour d'un ComboBox. Ce dernier étant un contrôle défilable ça m'étonnerait fort qu'il n'ait pas d'évémeent MouseWheel


public void SinkWheel( Object sender, MouseEventArgs e)
{
/* Faire ce que tu as à faire ici*/
}

toolStripComboBox1.ComboBox.MouseWheel += SinkWheel;

Yann47

Je programme en VB.
Pourrais-tu me traduire ton exemple de code de gestionnaire d'evenement(+=)

ToolStripComboBox1.ComboBox.MouseWheel Cette syntaxe n'est pas correcte. Je confirme : ToolStripComboBox1.MouseWheel n'existe pas pour un ComboBox de ToolStrip.

Cordialement.

fredericmazue

Quote:

Je programme en VB.
Pourrais-tu me traduire ton exemple de code de gestionnaire d'evenement(+=)

Si tu as déjà installé un gestionnaire d'événement en VB tu pourras transposer sans peine, j'en suis sûr.

Quote:

Cette syntaxe n'est pas correcte.

Cette syntaxe est correcte. C'est juste que c'est du C# parce que je n'aime pas la lourdeur de la syntaxe de VB.Net.

Quote:

Je confirme : ToolStripComboBox1.MouseWheel n'existe pas pour un ComboBox de ToolStrip.

Je *confirme*: ce que j'ai dit est correct. D'ailleurs avant de poster mon message précédent, j'ai même pris soin d'essayer le code et j'ai *vraiment* installé un gestionnaire du MouseWheel dans le ComboBox d'un ToolstripComboBox.
Relis donc la phrase avant le code de mon précédent message plutôt que de dire que ce n'est pas correct.

PS: j'aurais bien pris la peine de te traduire ça en VB, si ce n'était la crainte de voir encore que ce n'est pas correct. :twisted: