可接受的格式将在文本框:00-00-mach-0-00
我需要确保texbox只接受这种特定的格式。我怎么做?
其中,从左边:
00
年00
项目数mach
只是一个标签0
机号,必须是1 ,2,3或400
压力
可接受的格式将在文本框:00-00-mach-0-00
我需要确保texbox只接受这种特定的格式。我怎么做?
其中,从左边:
00
年00
项目数mach
只是一个标签0
机号,必须是1 ,2,3或400
压力您需要拆分输入。一种方法是使用String.Split
和-
作为分割字符。
string input[] = inputString.Split('-');
然后,您可以检查你有5个个子串:
if (input.Length != 5)
{
// Incorrect format
}
然后检查每个子字符串的正确格式。例如,为了检查4 第子串是一个位和任一1,2,3或4:
int number;
if (Int32.TryParse(input[3], out number))
{
if (number < 1 || number > 4)
{
// Incorrect format
}
}
执行此当文本框失去焦点。
听起来更像是正则表达式IMO的完美案例... – 2009-12-09 12:41:44
@ammoQ - 很可能,但OP需要知道有其他方法。 – ChrisF 2009-12-09 13:02:50
chris。听起来不错。我可以让你写一些代码,这样我可以更好地看到你的意思。 thx – user227788 2009-12-10 08:25:58
您可以创建一个正则表达式来表示您试图执行的规则,并检查输入是否与Validating事件触发时匹配。
我会使用MaskedTextBox控件。在该控件的属性框中,单击蒙版并将蒙版描述设置为自定义。这个掩码应该适合你:“00-00-m \ ach-0-00”你可能需要使用上面的split方法添加额外的有效性检查后缀。但它应该为您节省一些额外的编码。
我会做几件事情在这种情况下:
什么类型的文本框? WinForm的?网页表单? WPF? Silverlight的? MVC?比照? – 2009-12-09 12:35:16
我们可以得到所需格式的例子吗?我看到了这个规范,但是一个例子也有帮助。 – 2009-12-09 16:47:17
文本框类型是winform – user227788 2009-12-10 08:10:02