Rob
Rob

Reputation: 5286

How to apply formatting string when binding DateTime to MaskedTextBox?

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?

Upvotes: 1

Views: 4669

Answers (1)

stuartd
stuartd

Reputation: 73243

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

Upvotes: 1

Related Questions