测试填充的文本框和正确的数据类型

时间:2011-03-21 23:03:27

标签: c# textbox try-catch

我在C#,Windows Form Application中工作。

我有6个接受用户输入的文本框。单击“提交”按钮时,它会将值存储在数组中。我想创建一些东西来检查文本框中的两件事1.)文本框中有一些东西和2.)信息只是一个数字,没有别的。

我被告知尝试捕获循环将能够做到这一点,但我还没弄清楚如何。

感谢您提供的任何帮助

4 个答案:

答案 0 :(得分:3)

您不希望为此使用try catch块 - 您不应该对标准应用程序流使用异常,因为它是一个相对昂贵的选项。

检查它是否为空

string.IsNullOrEmpty(textbox1.Text);

检查是否为数字

int result;
int.TryParse(textbox1.Text), out result);

答案 1 :(得分:1)

// In button_click event or somewhere like that

if (!this.CheckInput(txt_TextBox1))
    return;

if (!this.CheckInput(txt_TextBox2))
    return;

if (!this.CheckInput(txt_TextBox3))
    return;

// Everything OK, do something

然后是这样的方法:

private bool CheckInput(TextBox textbox) {

    int test;

    if (!int.TryParse(textbox.Text.Trim(), out test)) {
        MessageBox.Show("Invalid input");
        return false;
    }

    return true;
}

答案 2 :(得分:1)

要检查文本框中是否有东西,可以调用string.IsNullOrEmpty方法。

至于检查文本框是否只包含数值,您可能需要考虑preventing users from entering non-numeric values。这比在输入值后阻止它更加用户友好。

答案 3 :(得分:1)

您可以使用isNullOrEmtpy作为上面建议的Bas,以检查是否有任何用户输入。 仅限数字,我建议您使用正则表达式。您可以找到解决方案here