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”应该可以解决问题(但它并不是一个真正合规的日期输入)。
我注意到当为 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”应该可以解决问题(但它并不是一个真正合规的日期输入)。