调用MessageBox时应用程序崩溃

时间:2010-01-14 12:18:24

标签: c# .net messagebox

你好我在验证一些数据时调用一个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工作正常。谢谢你的帮助

编辑:整个方法http://pastebay.com/82690

的Pastebay链接

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

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

1)对它们进行评论,看看它是否“崩溃”。 2)取消注释第一个“graph.getNodoNome”并查看它是否崩溃 3)注释掉“graph ...”取消注释“randome stuff”并查看它是否崩溃

如果您没有收到错误消息,则需要采取措施。