1

我的表单上的关闭按钮遇到了一些问题。它曾经被设置为表单的取消按钮,但我将其更改为无。该表格的工作方式类似于指南...

如果表单在指南的某个步骤中,我想弹出 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();
4

2 回答 2

1

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

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

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

于 2012-08-19T20:10:50.707 回答
1

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

在您的情况下,我怀疑此属性(在设计器窗口中)设置为不同于DialogResult.None. 如果是这种情况,那么无论您是否调用 Close(),您的表单都会关闭。

于 2012-08-19T20:15:03.357 回答