Comment puis-je déterminer quand la touche de contrôle est maintenue enfoncée pendant un clic sur un bouton dans un programme C# Windows? Je veux qu'une action ait lieu pour Ctrl/Click et une action différente pour Click.Comment puis-je déterminer quand la touche de contrôle est maintenue enfoncée pendant le clic du bouton
13
A
Répondre
31
Et un peu plus:
private void button1_Click (object sender, EventArgs e)
{
if((ModifierKeys & Keys.Control) == Keys.Control)
{
ControlClickMethod();
}
else
{
ClickMethod();
}
}
private void ControlClickMethod()
{
MessageBox.Show("Control is pressed");
}
private void ClickMethod()
{
MessageBox.Show ("Control is not pressed");
}
4
En supposant WinForms, utilisez Control.ModifierKeys, par exemple:
private void button1_Click(object sender, EventArgs e) {
MessageBox.Show(Control.ModifierKeys.ToString());
}
WPF En supposant, utilisez Keyboard.Modifiers, par exemple:
private void Button_Click(object sender, RoutedEventArgs e) {
MessageBox.Show(Keyboard.Modifiers.ToString());
}
Questions connexes
- 1. La touche de détection de touche est enfoncée sans utiliser d'événements dans Windows Forms?
- 2. Appel d'un bouton spécifique événement onClick lorsque la touche Entrée est enfoncée C#
- 3. Comment vérifier que la touche COMMAND est maintenue enfoncée Java/SWT au démarrage sous Mac OS X
- 4. Comment déplacer un formulaire alors que la souris est maintenue enfoncée?
- 5. elisp comment vérifier si la touche Shift est enfoncée
- 6. Comment déterminer quand un bouton est cliqué dans l'enfant sur le parent - ASP.NET
- 7. Safari: Soumettre le formulaire en utilisant xhrPost lorsque la touche Entrée est enfoncée
- 8. Comment déterminer quand un contrôle PropertyGrid est sur le point de modifier la propriété d'un objet
- 9. Transmettre l'événement de touche enfoncée à l'applet et l'arrêter propagation
- 10. Comment déterminer la taille de la partie de touche d'un bouton radio de Windows
- 11. Comment savoir quelle touche SHIFT a été enfoncée?
- 12. déterminer quand sifr est fait?
- 13. Quelle méthode lors du clic sur le bouton "retour" de la barre de navigation?
- 14. Javascript pour le feu événement quand une touche enfoncée sur la zone de liste déroulante Ajax Toolkit
- 15. Comment vérifier si la touche enfoncée était une touche fléchée dans Java KeyListener?
- 16. Effacer un UIButton quand on le touche
- 17. C# - Détecter si la touche MAJ est enfoncée lors de l'ouverture d'un menu contextuel
- 18. Comment détecter que la touche fléchée est enfoncée en utilisant C sous Linux ou Solaris?
- 19. calendarextender ne se ferme pas lorsque la touche d'échappement est enfoncée
- 20. FileSystemWatcher - comment déterminer quand le fichier est fermé?
- 21. Est-il possible de mapper une touche pour simuler un clic du milieu dans xwindows?
- 22. Comment déterminez-vous si un caractère nécessite que la touche Majuscule soit enfoncée pour être tapée?
- 23. Vérification de Maj + Clic ou Ctrl + Clic dans un contrôle utilisateur Web
- 24. Je veux changer l'image du bouton sur le clic
- 25. Le bouton d'entrée du contrôle Fileupload ne fonctionne pas
- 26. WPF: Bouton simple clic + double clic problème
- 27. Comment obtenir l'état du bouton de la souris dans Silverlight en dehors des événements de presse de bouton?
- 28. Intention de la vidéo Android: bouton de contrôle du retour?
- 29. Déterminer quand un service Web est disponible
- 30. Essayer de comprendre comment déclenché un événement lorsque la touche entrée est enfoncée dans une zone de texte
Je me sens vraiment stupide. Je n'avais aucune idée que ModifierKeys existait. Je l'ai fait old school (capturant le keydown et la mise en place d'un booléen) pendant des années. Je suppose que vous apprenez quelque chose de nouveau chaque jour. :) –
Je me sens "stupide" tous les jours ... et certainement chaque fois que je viens sur StackOverflow, puis je me suis inspiré par les développeurs "intelligents" et les efforts pour m'améliorer. (Ce n'est en aucun cas un accord avec vous étant "stupide" en passant ") –
Merci beaucoup, Simon, ça marche parfaitement, je vous ai voté mais où est-ce que le lien" Accepter la réponse "est allé! –