繁体   English   中英

调用MessageBox时应用崩溃

[英]App crash when calling 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时,我的应用程序将因此崩溃。 谢谢您的帮助

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

您应该提到异常的类型。

既然我不能这么认为,那么我将对其他潜在的错误来源发表评论吗?

老实说,你

        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

我认为我们需要有关“ graph.getNodoNome”和“ randome的东西”部分的更多信息。 如果您注释掉这些行,则可以正常运行。 我几乎保证消息框不是问题。

我敢打赌,是getNodoNome方法或让您感到困惑的随机东西。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM