我希望用户只能在文本框中键入X.X.X.X(X是数字)
我尝试了一个maskedTextbox,并在掩码属性下更改为:
//Mask: 9.9.9.9
//Previw: _,_,_,_
但当我从maskedTextbox中获取值时,我得到:
//Value: 1,1,1,1
我有可能得到:
//Value : 1.1.1.1
答案 0 :(得分:1)
documentation for the Mask
property:
.
小数占位符。使用的实际显示字符将是适合格式提供程序的十进制符号,由控件的FormatProvider属性确定。...
\
逃脱。逃离一个面具角色,将其变成文字。 " \\"是反斜杠的转义序列。
因此,如果您总是想要一段时间而不考虑区域设置,那么您就不应该使用.
:在这种情况下您应该使用\.
。
答案 1 :(得分:1)
我猜您的文化会产生问题,因为de-At会将.
视为,
,因此您需要将其转换为"。"
尝试以下代码: -
System.Globalization.CultureInfo customCulture = (System.Globalization.CultureInfo)System.Threading.Thread.CurrentThread.CurrentCulture.Clone();
customCulture.NumberFormat.NumberDecimalSeparator = ".";
System.Threading.Thread.CurrentThread.CurrentCulture = customCulture;