Quel événement est déclenché lorsqu'un utilisateur interagit avec le contrôle DateTimePicker?
Je suis novice en c#, dans mon programme de gi à l'aide de DateTimePicker Valeur événement a changé mais j'ai trouvé l'événement ValueChanged se produit lorsque l'utilisateur clique sur la flèche ou si la valeur est modifiée par programmation ainsi, je veux seulement identifier les interactions de l'utilisateur de la DateTimePicker (et non pas lorsque la valeur est modifiée par programmation), Est-il possible de faire cela?
La Question n'est pas claire. Pouvez-vous compléter ou corriger vos phrases afin de nous faire une idée claire de ce que vous voulez?
Recherchez un
Je suis confronté au même problème, mais si vous créez une démo winforms application uniquement avec un seul datetimepicker, et cliquez sur la flèche, icône de calendrier, l'événement n'est pas déclenché. Il est déclenché uniquement lorsque une date différente est changé, comme prévu. Donc, le problème doit être, nous définissons la valeur manuellement quelque part dans le code, mais je n'ai pas été en mesure de trouver encore.
Je ne pouvais pas comprendre exactement ce que mon problème était, mais c'était lié à la définition de la propriété MaxDate de mes Début et date de Fin de paramètres. Je ne suis pas sûr pourquoi est-ce qui se passe, depuis DateTime est un type Struct, mais mon le datetimepicker.La valeur est une référence d'objet. Aussi loin que je pouvais obtenir... abandonner le réglage de la MaxDate propriétés de fait le problème de disparaître.
Recherchez un
Click
événement... C'est une chose étrange à faire, cependant.Je suis confronté au même problème, mais si vous créez une démo winforms application uniquement avec un seul datetimepicker, et cliquez sur la flèche, icône de calendrier, l'événement n'est pas déclenché. Il est déclenché uniquement lorsque une date différente est changé, comme prévu. Donc, le problème doit être, nous définissons la valeur manuellement quelque part dans le code, mais je n'ai pas été en mesure de trouver encore.
Je ne pouvais pas comprendre exactement ce que mon problème était, mais c'était lié à la définition de la propriété MaxDate de mes Début et date de Fin de paramètres. Je ne suis pas sûr pourquoi est-ce qui se passe, depuis DateTime est un type Struct, mais mon le datetimepicker.La valeur est une référence d'objet. Aussi loin que je pouvais obtenir... abandonner le réglage de la MaxDate propriétés de fait le problème de disparaître.
OriginalL'auteur user1157690 | 2012-03-20
Vous devez vous connecter pour publier un commentaire.
Oui, jetez un oeil à la La documentation MSDN. En particulier, la
OnValueChanged
événementVous aurez besoin de fil de votre contrôle à l'aide de cet événement:
Dans une méthode constructeur:
Et voici la signature de méthode:
Vous pouvez également le faire à partir de la designer. Si vous allez dans les Propriétés, puis les Événements de la partie, il répertorie tous les événements. Il suffit de double cliquer et il va créer la signature de la méthode et de câblage pour vous.
MISE À JOUR DE VOTRE MISE À JOUR
Si vous souhaitez vérifier si c'est un changement programmatique ou pas, alors vous voulez faire quelque chose comme ceci:
Créer une variable globale dans votre classe
Boolean isProgrammaticEvent = false
;Avant votre changement programmatique:
Dans votre cas de câblage:
Je ne crois pas qu'il existe une méthode, mais vous pouvez avoir un mondial booléenne que vous pouvez activer avant de modifier par programmation, puis ont le cas toujours le désactiver? Globals ne sont pas de grands, en programmation, alors assurez-vous de penser que vous avez vraiment besoin de cette fonctionnalité 🙂 voilà DONC la question à déjà été posée le long de ces lignes: stackoverflow.com/questions/2806601/...
J'ai mis à jour le code de réfléchir à ce que devra être effectué BTW
Merci je l'ai eu Justin ..
OriginalL'auteur Justin Pihony
Vous pouvez désactiver le gestionnaire d'événements sur le
DropDown
de l'événement, et la retourner sur le dos lors de la chute vers le bas de la calandre est fermée par l'utilisateur dans leCloseUp
événement:Cela empêche la
ValueChanged
déclenchement de l'événement alors que l'utilisateur de faire défiler le calendrier lors de la chute vers le bas.De changement de la date par programme sans cuisson de l'événement, utilisez le même concept:
OriginalL'auteur LarsTech
Que vous pouvez tirer d'
DateTimePicker
à savoir quand l'utilisateur a effectué le changement:Lorsque vous utilisez le
DateTimePickerUser
sur unForm
vous suffit de cocher le drapeau de l'événement ValueChanged:Ceci est similaire à Justin Pihony est un exemple, mais vous n'avez pas besoin de définir l'indicateur de vous-même, comptez sur cette commande pour le faire.
OriginalL'auteur endofzero