1

I have a MaskedTextBox using the mask "00/00/\2\000" to restrict input to a format of XX/XX/20XX, with the Text property bound to MyBindingSource.SomeProperty of type DateTime.

Recently, values with a single-digit month or day recently started displaying incorrectly. I expect that the ToString() method is being called on the value at some point in data binding, and I believe the call is not padding month / day with zeroes.

I tried setting the format type of the MaskedTextBox.Text property to DateTime in the advanced data binding properties, but it didn't help.

How can I apply ToString("MMddyyyy") when converting the DateTime object to a string, before the value is bound to the Text property?

Rob
  • 5,223
  • 5
  • 41
  • 62

1 Answers1

1

You can use the binding's Parse and Format events to do the conversion yourself, as seen in this answer

Community
  • 1
  • 1
stuartd
  • 70,509
  • 14
  • 132
  • 163
  • Thanks, that did it. Yet I can't help but wonder what changed to cause this in the first place. Are there any designer settings that would affect this? (VS2005) – Rob Feb 24 '10 at 20:48
  • 1
    The IncludePrompt and IncludeLiterals properties would be a good place to start. – stuartd Feb 24 '10 at 21:51