2010-04-24 3 views
1

C# masque MaskedTextBox conscient de la localisation des valeurs DateTimeC# masque MaskedTextBox locale conscient pour DateTime valeurs

Je travaille à travers les mises en garde de la mondialisation de FXCop/analyse du code et souhaite connaître la bonne façon, consciente locale pour définir et obtenez les valeurs DateTime via un MaskedTextBox.

Mon formulaire a un élément MaskedTextBox avec sa propriété Culture définie sur "en-US" et sa propriété Mask définie sur "00/00/0000" (le format de date courte prédéfini). maskedTextBox.Text = now.ToString() s'affiche sans les zéros en-tête sous la forme "42/42/010_", mais j'aimerais qu'il soit représenté par "24/04/2010".

+0

si vous définissez la propriété Text vous, que vous devrait définir le format de la chaîne en tant que tel - now.ToString ("mm/jj/aaaa") ou quelque chose comme ça. Vous pouvez obtenir le style de format actuel ici - http://blog.stevex.net/string-formatting-in-csharp/ – AboutDev

+0

Merci pour la suggestion. Initialement, c'était l'approche que je pensais prendre, mais "mm/jj/aaaa" pourrait changer en fonction de la localisation. Serait-il acceptable de le placer dans le fichier resx du programme avec le reste des chaînes où il peut être localisé? Ou y a-t-il une manière plus correcte de laisser le runtime le gérer? – Timothy

Répondre

2

Pour l'aspect d'un utilisateur, peu importe la qualité de votre MaskedTextBox soutient ma culture, il est beaucoup plus difficile à utiliser par rapport à un DateTimePicker,

http://msdn.microsoft.com/en-us/library/system.windows.forms.datetimepicker.aspx

+0

Wow, est-ce que je me sens stupide ... J'étais tellement concentré sur l'internationalisation que j'ai manqué la solution la plus évidente. Merci de m'avoir pointé dans la bonne direction! – Timothy

Questions connexes