0

根据 MSDN 文档,使用ShowDialog()显示的表单上的关闭操作只会导致表单被隐藏。对 ShowDialog() 的后续调用将取消隐藏表单。

确切地说,这似乎并非如此。我有一个带有树视图的表单。在调用 ShowDialog() 之间会保留检查状态,但用户所做的任何节点扩展都会重置回其默认状态。此外,每次也会执行 Load 事件。所以它似乎不仅仅是“隐藏”表单。有人知道发生了什么吗?

谢谢

4

1 回答 1

1

我自己也经历过这个问题。出于某种原因,在模态表单上调用Form.Hide或设置至少在某些情况下会调用。为了解决这个问题,我将不透明度设置为零。您也可以改用。visible = falseForm.CloseForm.Show

如果您想象模态对话的行为,这有点直观。它阻塞了父窗口。因此,如果您将其隐藏,则用户将无法与之交互的活动窗口。FWIW,我认为行为应该是父母再次变得活跃。情况并非总是如此。

于 2013-03-19T13:27:54.167 回答