1

您好,我在验证某些数据时会调用 MessageBox,如果数据错误,我会使用 MessageBox 向用户发送消息,其中包含以下代码:

private void button1_Click(object sender, EventArgs e)
{
    if (textBox_name.Text.Trim() != "" 
        || textBox_X.Text.Trim() != "" 
        || textBox_Y.Text.Trim() != "")
    {
        if (graph.getNodoNome(textBox_nome.Text.Trim()) != null)
        {
            MessageBox.Show("Data is wrong?", "Error");

            resetTextBoxes();
            return;
        }

    // randome stuff
    }
}

当我删除 MessageBox 时,我的应用程序崩溃了。谢谢您的帮助

编辑:整个方法的 Pastebay 链接http://pastebay.com/82690

4

2 回答 2

1

您应该提及异常的类型。

既然我不能假设,我会评论其他潜在的错误来源?

老实说,你的

        if (textBox_nome.Text.Trim() != "" 
            || textBox_X.Text.Trim() != "" 
            || textBox_Y.Text.Trim() != "")

应该

        if (textBox_nome.Text.Trim() != "" 
            && textBox_X.Text.Trim() != "" 
            && textBox_Y.Text.Trim() != "")

确保填写所有字段。

如果无效,Int.Parse 将抛出,我建议(在伪 C# 中):

int x;
if(!int.TryParse(text, out x)) x = 0; // some default value
于 2010-01-16T00:30:22.683 回答
0

我认为我们需要更多关于“graph.getNodoNome”和“random stuff”部分的信息。如果你注释掉这些行,它运行得很好。我几乎可以保证消息框不是问题。

我敢打赌这是 getNodoNome 方法或随机的东西让你。

1)将它们都注释掉,看看它是否“崩溃”。2)取消注释第一个“graph.getNodoNome”,看看它是否崩溃 3)注释掉“graph...”取消注释“random stuff”,看看它是否崩溃

如果您没有收到错误消息,则需要采取一些小步骤。

于 2010-01-14T16:23:58.660 回答