为什么 MDI 父级有时不最小化?

发布于 2024-10-31 08:48:44 字数 322 浏览 3 评论 0原文

我有一个 MDI 父级,它打开另一个窗体,如下所示:

Dim frm As New Form1
frm.ShowDialog(Me)

该窗体有一个按钮,单击该按钮时,会执行以下操作:

CreateObject("Shell.Application").ToggleDesktop()

该按钮在大多数情况下按预期运行(显示桌面),但偶尔不会最小化 MDI 父级。所有其他窗口,包括上面的窗体,每次都会最小化。

为什么会发生这种情况?我该如何解决?

I have a MDI parent that opens another form like this:

Dim frm As New Form1
frm.ShowDialog(Me)

That form has a button that, when clicked, does this:

CreateObject("Shell.Application").ToggleDesktop()

The button operates as expected (showing the desktop) most of the time but occasionally does not minimize the MDI parent. All the other windows, including the form above get minimized every time.

Why is this happening, and how do I fix it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

天荒地未老 2024-11-07 08:48:44

我没有尝试允许使用 ShowDialog 显示表单,而是改变了接近的角度。我将使用 Show 显示表单并分配 MdiParent,然后伪造表单的模式。假模态将禁用 MDI 父级的所有其他部分(标题栏中的系统按钮除外)。如果用户尝试关闭 MDI 父级,“模态”窗口将发出一次蜂鸣声,并且标题栏会稍微闪烁。

Instead of trying to allow a form shown with ShowDialog I changed the angle from which I'm approaching. I'll show the form with Show and assign the MdiParent and just fake the modality of the form instead. The fake modal will disable all other parts of the MDI parent except the system buttons in the title bar. If the user attempts to close the MDI parent, the "modal" window will beep once and blink the title bar a bit.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文