如果您没有尝试最小化MDI子窗口,您可以简单地遍历应用程序中的所有打开窗体并将其WindowState属性设置为"最小化".VB.NET OpenForms为您的Application类提供了一个集合,使其简单易用.
将以下示例代码放入Click按钮控件或类似方法的事件处理程序中:
For Each frm As Form in Application.OpenForms
frm.WindowState = FormWindowState.Minimized
Next frm
Run Code Online (Sandbox Code Playgroud)
如果要在用户单击单个表单标题栏上的系统最小化框时最小化所有表单,则需要监听该事件,并执行上述代码.通过覆盖OnSizeChanged要将其最小化事件应用于所有打开表单的每个表单的方法来执行此操作.
通过单击其任务栏图标,只要其中一个表单恢复,您也可以使所有表单恢复到正常状态.只需反转用于最小化窗口的相同过程,指定"正常"窗口状态而不是"最小化".
例如,您可以编写以下代码:
Protected Overrides Sub OnSizeChanged(ByVal e As System.EventArgs)
' Call the base class first
MyBase.OnSizeChanged(e)
' See if this form was just minimized
If Me.WindowState = FormWindowState.Minimized Then
' Minimize all open forms
For Each frm As Form In Application.OpenForms
frm.WindowState = FormWindowState.Minimized
Next frm
ElseIf Me.WindowState = FormWindowState.Normal Then
' Restore all open forms
For Each frm As Form In Application.OpenForms
frm.WindowState = FormWindowState.Normal
Next frm
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10561 次 |
| 最近记录: |