Pour voir l'événement de clic droit auquel je fais référence, see this video.Désactiver le clic droit via Maintenir la touche enfoncée sur Windows 7 Appareil à écran tactile
Je travaille sur une application qui ajoute un bouton de zoom dans une application Windows Forms. Lorsque l'utilisateur touche le bouton, l'application doit effectuer un zoom continu sur la fenêtre. Cela fonctionne en surveillant l'événement de souris vers le bas sur le bouton. Lorsque la souris est enfoncée, une minuterie continue de zoomer sur la vue. Cela fonctionne bien tant que le doigt de l'utilisateur glisse après le contact initial. Cependant, si l'utilisateur pousse sur un point tout le temps, il recevra un petit cercle d'attente puis un clic droit.
J'ai ajouté le code de this link à l'application:
public bool PreFilterMessage(ref Message m)
{
// Filter out WM_NCRBUTTONDOWN/UP/DBLCLK
if (m.Msg == 0xA4 || m.Msg == 0xA5 || m.Msg == 0xA6) return true;
// Filter out WM_RBUTTONDOWN/UP/DBLCLK
if (m.Msg == 0x204 || m.Msg == 0x205 || m.Msg == 0x206) return true;
return false;
}
Ce code désactive l'événement résultant clic droit. Cependant, le cercle se produit toujours et un événement mousedown ne se produit pas. Y a-t-il un moyen de faire en sorte que tout contact physique compte comme une souris et ne démarre pas le bon processus de clic?
Modifier I Tried va Control Panel
->Pen and Touch
et la désactivation de la presse et maintenez pour la fonction de clic droit. Ceci a désactivé l'icône de rotation, mais la souris ne se produit toujours pas à moins que l'utilisateur bouge légèrement son doigt. Je ne vois pas pourquoi un utilisateur doit gribouiller pour appuyer sur un bouton.