我希望用户只能在文本框中键入x.x.x.x.

时间:2014-08-01 11:31:58

标签: winforms textbox maskedtextbox

我希望用户只能在文本框中键入X.X.X.X(X是数字)

我尝试了一个maskedTextbox,并在掩码属性下更改为:

//Mask: 9.9.9.9

//Previw: _,_,_,_

但当我从maskedTextbox中获取值时,我得到:

//Value: 1,1,1,1

我有可能得到:

//Value : 1.1.1.1

2 个答案:

答案 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;