C# 调用MessageBox时应用程序崩溃
您好,我在验证某些数据时调用MessageBox,如果数据错误,我会向用户发送带有以下代码的MessageBox:C# 调用MessageBox时应用程序崩溃,c#,.net,messagebox,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() != "") { i
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链接我想我们需要更多关于“graph.getNodoNome”和“randome stuff”部分的信息。如果你把这些行注释掉,它运行的很好。我几乎可以保证留言框不是问题所在 我敢打赌,是getNodoNome方法或是随机的东西让你着迷 1) 把它们都注释掉,看看它是否“崩溃” 2) 取消对第一个“graph.getNodoNome”的注释,看看它是否崩溃 3) 注释掉“graph…”取消注释“Random stuff”,看看它是否崩溃
如果你没有收到错误消息,你需要采取一些小步骤。我想我们需要更多关于“graph.getNodoNome”和“randome”部分的信息。如果你把这些行注释掉,它运行的很好。我几乎可以保证留言框不是问题所在 我敢打赌,是getNodoNome方法或是随机的东西让你着迷 1) 把它们都注释掉,看看它是否“崩溃” 2) 取消对第一个“graph.getNodoNome”的注释,看看它是否崩溃 3) 注释掉“graph…”取消注释“Random stuff”,看看它是否崩溃
如果没有收到错误消息,您需要采取一些小步骤。您应该提到异常的类型 既然我不能这样假设,我将对其他潜在的错误来源进行评论 老实说,你的
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中):
您应该提到异常的类型 既然我不能这样假设,我将对其他潜在的错误来源进行评论 老实说,你的
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中):
当程序崩溃时,您得到的错误消息/异常是什么?在MessageBox上进行了一次尝试捕获,没有说任何话。简单地崩溃。如何正确格式化代码?应用程序是如何崩溃的(引发了哪个异常)?System.Windows.Forms我认为是必需的。AndiDog,里面没有任何表示线程问题的内容。从这个问题上没有提到任何线索。。。。你到底是怎么做出这样的假设的?当程序崩溃时,你得到的错误消息/异常是什么?在MessageBox上做了一次尝试捕捉,什么也没说。简单地崩溃。如何正确格式化代码?应用程序是如何崩溃的(引发了哪个异常)?System.Windows.Forms我认为是必需的。AndiDog,里面没有任何表示线程问题的内容。从这个问题上没有提到任何线索。。。。你到底是怎么做出这样的假设的呢?graph.getNodoNome(string N)找到并返回一个对象,如果没有找到,它将返回null。如果我对“MessageBox.Show(“数据错误?”,“Error”);”进行注释,并将If条件设置为true,则不会出现错误,并且resetTextBox()工作正常。该图形是来自第三方库,还是您编写的代码?如果是第三方库,哪一个?试试这个,不要使用“return”。只要在“If(graph.getNodoNome(textBox\u nome.Text.Trim())!=null)”后面有一个“else”语句,在该else语句中放入“random stuff”。我不知道立即返回的消息框是否有问题。另外,我还想查看以下代码:GetNodoNome code.graph.GetNodoNome(string N)查找并返回一个对象,如果未找到,则返回null。如果我对“MessageBox.Show(“数据错误?”,“Error”);”进行注释,并将If条件设置为true,则不会出现错误,并且resetTextBox()工作正常。该图形是来自第三方库,还是您编写的代码?如果是第三方库,哪一个?试试这个,不要使用“return”。只要在“If(graph.getNodoNome(textBox\u nome.Text.Trim())!=null)”后面有一个“else”语句,在该else语句中放入“random stuff”。我不知道立即返回的消息框是否有问题。另外,我想看看:GetNodoNome代码的代码。谢谢您的回复。现在我的时间有点不够,但我会尽快检查。我想可能是谢谢你的回答。现在我的时间有点不够,但我会尽快检查。我想可能是它