表格即将结束,但我不想

时间:2012-08-19 20:00:52

标签: c# winforms

我的表格上有一个关闭按钮,我得到了一些probs。它曾经被设置为表单的取消按钮,但我将其更改为无。表格就像指南......

如果表单处于指导的某个步骤,我想弹出yes-no-messagebox。但是使用代码,我现在正在关闭表单,无论我单击是或否。

按钮代码:

if (krok <= 5)
{
    if (MessageBox.Show("este ste neurobili vsetko naozaj chcete zavriet okno?", 
        "Pozor", 
        MessageBoxButtons.YesNo, 
        MessageBoxIcon.Warning) == DialogResult.Yes)
    {
        Close();
    }               
}
else Close();

2 个答案:

答案 0 :(得分:1)

调试器是你的朋友。让您的生活更轻松,并打破ShowDialog系列。

var result = MessageBox.Show...
if (result == DialogResult.Yes)
{
  Close();
}

检查调试器中的结果值。您还可以使用Close()在该行上放置一个断点,看看它是否被击中。然后,您将确定该行或其他内容是否正在关闭您的表单。

答案 1 :(得分:1)

每个按钮都有一个名为DialogResult的属性。您可以直接在设计器窗口或代码中设置此属性。此属性的作用是关闭表单并(如果表单以模态方式显示)将属性的值返回到表单调用代码。

在您的情况下,我怀疑此属性(在设计器窗口中)设置为与DialogResult.None不同的内容。如果是这种情况,那么您的表单将关闭,而不是调用Close()。