以特定格式将项目添加到列表框

时间:2013-02-20 23:31:21

标签: c#

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

<name>=<age>

如果单击“添加”button,而textbox中格式错误的数据,则应用需要显示错误消息。

2 个答案:

答案 0 :(得分: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(">"));
    }

答案 1 :(得分:0)

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

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

if (Regex.IsMatch(textBox.Text, @"^.*?\=.*$"))
   // add item to the list