0

我需要构建一个简单的应用程序,listbox通过填写 atextbox并单击 'Add'对用户添加到 a 的数据进行排序button。我大部分都没有问题,但有一件事给我带来了麻烦。我需要用户以特定格式输入数据:

<name>=<age>

如果单击“添加” button,而格式错误的数据位于textbox.

4

2 回答 2

0

解决此问题的一种方法是使用 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(">"));
    }
于 2013-02-20T23:45:51.937 回答
0

您需要先验证您的项目,然后再将其添加到列表中。对于不太复杂的格式,您可以使用正则表达式:在将数据添加到列表之前,将文本框内容与正则表达式进行匹配。

您可以使用如下正则表达式检查您的输入是否与“name=age”之类的内容匹配:

if (Regex.IsMatch(textBox.Text, @"^.*?\=.*$"))
   // add item to the list
于 2013-02-20T23:50:18.880 回答