Comment puis-je obtenir le type de pointeur pressé (gauche de la souris enfoncée ou la souris droite) dans une application C # Style Metro? Je n'ai pas trouvé de manutention code> Mouseleftbuttonown code> dans n'importe quel élément de style métro. Je devrais utiliser l'événement pointerPressed code> à la place, mais je ne sais pas comment puis-je obtenir quel bouton a été enfoncé. P>
3 Réponses :
Vous pouvez utiliser l'événement suivant pour déterminer quel pointeur est utilisé et quel bouton est enfoncé.
private void Target_PointerMoved(object sender, PointerRoutedEventArgs e) { Windows.UI.Xaml.Input.Pointer ptr = e.Pointer; Windows.UI.Input.PointerPoint ptrPt = e.GetCurrentPoint(Target); if (ptrPt.Properties.IsLeftButtonPressed) { //Do stuff } if (ptrPt.Properties.IsRightButtonPressed) { //Do stuff } }
PointerPressed est suffisant pour gérer les boutons de la souris:
void MainPage_PointerPressed(object sender, PointerRoutedEventArgs e) { // Check for input device if (e.Pointer.PointerDeviceType == Windows.Devices.Input.PointerDeviceType.Mouse) { var properties = e.GetCurrentPoint(this).Properties; if (properties.IsLeftButtonPressed) { // Left button pressed } else if (properties.IsRightButtonPressed) { // Right button pressed } } }
J'ai une application UWP et lorsque vous ajoutez un gestionnaire à un événement MousePressed code>, il est tiré uniquement sur la souris clic droit.
Travailler sur un projet UWP et des réponses précédentes comme Propriétés.SleftButtonprimé / IsrightbuttonPressé n'a pas fonctionné pour moi. Ces valeurs sont toujours fausses. J'ai réalisé pendant le débogage de cette propriété.PointerUpdatekind changeait en fonction du bouton de la souris. Voici le résultat qui a fonctionné pour moi:
var properties = e.GetCurrentPoint(this).Properties; if (properties.PointerUpdateKind == Windows.UI.Input.PointerUpdateKind.LeftButtonReleased) { } else if (properties.PointerUpdateKind == Windows.UI.Input.PointerUpdateKind.RightButtonReleased) { } else if (properties.PointerUpdateKind == Windows.UI.Input.PointerUpdateKind.MiddleButtonReleased) { }
Il y a un exemple de code ici A >