【问题标题】:Windows forms - textbox that accepts specific timestamp formatWindows 窗体 - 接受特定时间戳格式的文本框
【发布时间】:2011-03-24 14:49:16
【问题描述】:

如何在接受以下格式的日期时间的 Windows 表单中添加蒙版文本框:

1993 年 1 月 1 日上午 12:00

【问题讨论】:

    标签: c# windows forms maskedtextbox


    【解决方案1】:

    使用DateTimePicker 可以更好地解决这个问题

     dateTimePicker1.Format = DateTimePickerFormat.Custom;
     dateTimePicker1.CustomFormat = "MM/dd/yyyy HH:mm";
    

    使用 MaskedTextbox 最好的方法是设置以下 Mask

     maskedTextBox1.Mask = "00/00/0000 00:00 AM"
    

    那么所有的验证都必须由你手写。

    【讨论】:

    • 您应该在 A 符号之前添加 \ 以使其可显示
    • A 用作掩码以接受该位置的任何字母。如果我让它\A 我不能把它改成PM :)
    • 我们如何才能显示上午或下午?
    【解决方案2】:

    根据here 的 MS 规范,您不能指定这种格式。与您的请求最接近的含义掩码是 00\/00\/0000 90:00 \AM

    【讨论】:

    • 我习惯使用 DateTime 选择器,而不是自定义格式 "MMM dd','yyyy hh':'mm tt"
    猜你喜欢
    • 1970-01-01
    • 2023-03-06
    • 2011-03-08
    • 2018-10-16
    • 2014-11-02
    • 2021-10-27
    • 1970-01-01
    • 1970-01-01
    • 2018-03-01
    相关资源
    最近更新 更多