当我按下表格中的断开按钮时,询问我是否是否。我按否,但是我只能在程序中执行一个动作,因为之后它会崩溃。为什么呢?
private void button3_Click(object sender, EventArgs e)
{
DialogResult dialres = MessageBox.Show("Sunteti sigur ca vreti sa va deconectati?",
"Atentie!", MessageBoxButtons.YesNo);
if (dialres == DialogResult.OK)
{
try
{
_conn.Close();
_conn = null;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
button1.Enabled = true;
stopbut();
}
else if (dialres == DialogResult.No)
{
return;
}
}
答案 0 :(得分:-1)
你的第一个if
将永远不会成真,因为你正在测试OK,而不是YES。在你的第二个if
你有一个return语句,所以你的方法将完成。所以不确定你还有什么预期呢?
答案 1 :(得分:-2)
当您按“否”时没有什么变化,所以应该有另一个崩溃的原因,也许你做的一个动作导致崩溃。当你对程序崩溃或特定程序执行任何操作时?
编辑:输入导致崩溃的操作代码
对不起大家,我应该评论不回答:(但我不能发表评论,因为评论需要50个声誉而且我只有39个
并且您的代码可能更有效:
private void button3_Click(object sender, EventArgs e)
{
DialogResult dialres =;
if ( MessageBox.Show("Sunteti sigur ca vreti sa va deconectati?",
"Atentie!", MessageBoxButtons.YesNo) == DialogResult.No) return;
//when it ain't 'No' it is definitely 'Yes'
try
{
_conn.Close();
_conn = null;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
button1.Enabled = true;
stopbut();
}
else if (dialres == DialogResult.No)
{
return;
}
}