C# 在 MaskedTextBox 中显示 /(正斜杠)

C# display / (forward slash) in MaskedTextBox

我注意到当为 MaskedTextBox 中的输入定义的掩码包含“/”时,它会在文本框中自动替换为“-”。 我尝试使用 VS 中可用的默认日期格式进行此操作,在表单的设计器中生成以下代码

this.maskedTextBox2.Name = "maskedTextBox2";
this.maskedTextBox2.Mask = "00/00/0000";
this.maskedTextBox2.ValidatingType = typeof(System.DateTime);

还有另一个 MaskedTextBox,方法是像这样在表单的构造函数中定义我的自定义掩码

InitializeComponent();
this.maskedTextBox1.Mask = @"00/00/0000";

在这两种情况下,文本框中显示的提示如下所示

__-__-____

有没有办法实际显示斜杠而不是破折号? 马立克

根据 this page,斜线是 'date separator',因此我猜测您的系统当前运行的语言环境中日期分隔符是破折号。

/ Date separator. The actual display character used will be the date symbol appropriate to the format provider, as determined by the control's FormatProvider property.

如果您真的想要正斜杠,那么“00\/00\/00”应该可以解决问题(但它并不是一个真正合规的日期输入)。