2010-02-24 7 views
1

J'ai un MaskedTextBox en utilisant le masque "00/00/\2\000" pour restreindre l'entrée à un format de XX/XX/20XX, avec la propriété Text liée à MyBindingSource.SomeProperty de type DateTime. Récemment, les valeurs avec un mois ou un jour à un chiffre ont récemment commencé à s'afficher de façon incorrecte. Je m'attends à ce que la méthode ToString() soit appelée sur la valeur à un certain point dans la liaison de données, et je crois que l'appel ne rembourse pas mois/jour avec des zéros.Comment appliquer la chaîne de mise en forme lors de la liaison DateTime à MaskedTextBox?

J'ai essayé de définir le type de format de la propriété MaskedTextBox.Text sur DateTime dans les propriétés de liaison de données avancées, mais cela n'a pas aidé.

Comment puis-je appliquer ToString("MMddyyyy") lors de la conversion de l'objet DateTime en une chaîne, avant que la valeur soit liée à la propriété Text?

Répondre

1

Vous pouvez utiliser les Parse et Format événements de liant pour faire la conversion vous-même, comme on le voit dans this answer

+0

Merci, qui l'a fait. Pourtant, je ne peux pas m'empêcher de me demander ce qui a changé pour causer cela en premier lieu. Y a-t-il des paramètres de concepteur qui pourraient affecter cela? (VS2005) – Rob

+1

Les propriétés IncludePrompt et IncludeLiterals seraient un bon point de départ. – stuartd