2010-01-14 44 views
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

+7

什么是t他在程序崩溃时得到的错误消息/异常? – 2010-01-14 12:20:41

+1

在MessageBox上试了一下,没有说什么。简单地崩溃。 – Ricardo 2010-01-14 12:23:34

+0

如何正确地格式化您的代码? *应用程序崩溃(抛出哪个异常)? – AndiDog 2010-01-14 12:24:03

回答

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 
+0

感谢您的回复。 现在我的时间有点低,但我会尽快检查。我想可能是这样 – Ricardo 2010-01-17 20:41:30

0

我认为我们需要对“graph.getNodoNome”和“randome东西”部分的详细信息。如果你注释掉这些行,它运行得很好。我几乎保证消息框不是问题。

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

1)评论他们俩,看看它是否“崩溃”。 2)取消对第一个“graph.getNodoNome”,看看它是否崩溃 3)注释掉“图...”取消注释“randome东西”,看看它是否崩溃

如果你没有得到错误信息,你需要采取婴儿的步骤。

+0

graph.getNodoNome(string N)查找并返回一个Object,如果没有找到,则返回null。如果我评论“MessageBox.Show(”Data is wrong?“,”Error“);”我让IF条件为真,没有错误,并且resetTextBoxes()工作正常。 – Ricardo 2010-01-14 16:55:18

+0

是来自第三方库的图表,还是您写的代码?如果一个第三方库,哪一个? – Nick 2010-01-14 17:07:05

+0

我自己的代码。感谢所有帮助的人 – Ricardo 2010-01-14 17:10:50