我需要构建一个简单的应用程序,listbox
通过填写 atextbox
并单击 'Add'对用户添加到 a 的数据进行排序button
。我大部分都没有问题,但有一件事给我带来了麻烦。我需要用户以特定格式输入数据:
<name>=<age>
如果单击“添加” button
,而格式错误的数据位于textbox
.
我需要构建一个简单的应用程序,listbox
通过填写 atextbox
并单击 'Add'对用户添加到 a 的数据进行排序button
。我大部分都没有问题,但有一件事给我带来了麻烦。我需要用户以特定格式输入数据:
<name>=<age>
如果单击“添加” button
,而格式错误的数据位于textbox
.
解决此问题的一种方法是使用 MaskedTextBox:http: //msdn.microsoft.com/en-us/library/system.windows.forms.maskedtextbox.mask.aspx
而且由于您的格式并不复杂,您还可以使用简单的检查:
private void button1_Click(object sender, EventArgs e)
{
if (isValidFormat())
MessageBox.Show("Valid Format");
else
MessageBox.Show("Invalid Format");
}
bool isValidFormat()
{
return (textBox1.Text.StartsWith("<") && textBox1.Text.IndexOf(">=<") > -1 && textBox1.Text.EndsWith(">"));
}
您需要先验证您的项目,然后再将其添加到列表中。对于不太复杂的格式,您可以使用正则表达式:在将数据添加到列表之前,将文本框内容与正则表达式进行匹配。
您可以使用如下正则表达式检查您的输入是否与“name=age”之类的内容匹配:
if (Regex.IsMatch(textBox.Text, @"^.*?\=.*$"))
// add item to the list