你好我在验证一些数据时调用一个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链接答案 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”并查看它是否崩溃
如果您没有收到错误消息,则需要采取措施。