将 DateTime 绑定到 MaskedTextBox 时如何应用格式化字符串?
我有一个 MaskedTextBox
使用掩码 "00/00/\2\000"
将输入限制为 XX/XX/20XX
格式,将 Text
属性绑定到 DateTime
类型的 MyBindingSource.SomeProperty
。
最近,具有单位数月份或日期的值最近开始显示不正确。我期望在数据绑定中的某个时刻对值调用 ToString()
方法,并且我相信该调用不会用零填充月份/日期。
我尝试在高级数据绑定属性中将 MaskedTextBox.Text
属性的格式类型设置为 DateTime
,但没有帮助。
在将 DateTime
对象转换为字符串时,在将值绑定到 Text
属性之前,如何应用 ToString("MMddyyyy")
?
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?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用绑定的 解析和 Format 事件来执行以下操作您自己进行转换,如此答案中所示
You can use the binding's Parse and Format events to do the conversion yourself, as seen in this answer