将可为 null 的 DateTime 绑定到 MaskedTextBox
我有一个绑定到 nullabe 日期时间的屏蔽文本框,但是当日期被清空时,屏蔽文本框上的验证将无法完成。 有没有办法强制这种行为? 我想要一个空白文本框等于空日期时间。
当文本框已经为空时,验证起作用。 只有当已经绑定了日期并且我尝试将其删除时,它才会中断。
I have a masked text box bound to a nullabe datetime, but when the date is blanked out, the validation on the masked text box won't complete. Is there a way to force this behaviour? I want a blanked out text box to equal a null DateTime.
When the textbox is already null, the validation works. It only breaks when there is a date already bound and I try to blank it out.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
我发现这与验证无关。 这是日期被解析回日期时间的时候。
这可能不是最优雅的方法,但它确实有效。 如果有人知道更好的方法,请告诉我。
我现在有这个代码。
I figured out it didn't have to do with the validation. It was when the date was being parsed back to the datetime.
This may not be the most elegant way to do this, but it does work. If anyone knows a better way, please let me know.
I have this code now.
如果需要
null
日期值,我将其与maskedtextbox
一起用于datetime
类型,请在类声明中使用可为空的日期时间类型:
I use this with
maskedtextbox
fordatetime
typeif need
null
date value, use nullable datetime type in class declaration :这应该有效:
This should work:
经过试验,我终于找到了一个更简单的解决方案。
第 1 步:
在 Form.Designer.cs 中搜索绑定 maskedtextbox 的行(我的称为“mTFecha”)。 即:
第 2 步:
应用一个小技巧:
你就完成了!
Experimenting with this i finally found an easier solution to this.
STEP 1:
Search the line that is binding your maskedtextbox (mine's called "mTFecha") in your Form.Designer.cs. i.e:
STEP 2:
Apply a minor hack:
You're Done!
您可以简单地给出日期格式,如下所示:
You can simply give date format as below: