Est-ce que quelqu'un connaît un moyen de désactiver la molette de la souris lorsqu'un contrôle tel qu'une zone de liste déroulante ou une zone de liste est actif? Pour mes fins, combobox est tout ce dont j'ai besoin pour la réponse.Désactiver la molette de la souris dans la zone de liste déroulante VB.NET
Je dispose d'un ensemble de commandes pour déclencher une requête SQL sur SelectedIndexChanged et le défilement accidentel de la roulette alors que la zone de liste déroulante est active provoque l'exécution simultanée de six requêtes SQL.
Cela fonctionne très bien. Merci. –
Vous pouvez vérifier la propriété [DroppedDown] de la zone de liste déroulante (http://msdn.microsoft.com/en-us/library/system.windows.forms.combobox.droppeddown.aspx) et ne pas définir la propriété handle de l'EventArg si elle est True . Cela maintiendra la molette de défilement lorsque la liste déroulante est affichée. – Jeras
Si vous voulez passer les événements MouseWheel au contrôle parent de ComboBox, après 'mwe.Handled = True' vous pouvez appeler' Parent.Focus' (ou 'Parent.Parent.Focus') jusqu'à ce que vous atteigniez un contrôle qui peut prendre le focus, bien que cela deviendra salissant). Lorsqu'il est enveloppé dans 'If DroppedDown = False', cela fonctionne plutôt bien lorsque vous ne voulez pas que ComboBox interfère avec la capacité de défilement d'un parent. – MCattle