修改并消除bug: Dim chiforms As Form For Each chiforms In Me.MdiParent.MdiChildren If chiforms.Name = "xiuGaifillform" Then xiuGaifillform.Activate() Else xiuGaifillform.MdiParent = Me.MdiParent xiuGaifillform.Show() End If Next
时间: 2024-01-12 11:02:59 浏览: 77
MDI.rar_MDI 系统_mdi .n
修改后的代码如下:
```
Dim chiforms As Form
Dim xiuGaifillform As New xiuGaifillform ' 创建一个新的 xiuGaifillform 对象
For Each chiforms In Me.MdiParent.MdiChildren
If chiforms.Name = "xiuGaifillform" Then
chiforms.Activate() ' 激活已存在的 xiuGaifillform 对象
Exit For ' 找到已存在的 xiuGaifillform 对象就退出循环
End If
Next
If Not xiuGaifillform.IsDisposed Then ' 如果 xiuGaifillform 对象没有被释放
xiuGaifillform.MdiParent = Me.MdiParent
xiuGaifillform.Show()
End If
```
修改说明:
1. 在代码开头创建一个新的 xiuGaifillform 对象,以便在没有已存在的 xiuGaifillform 对象时可以创建一个新的对象。
2. 遍历当前 MDI 窗体的子窗体,如果已存在一个名字为 "xiuGaifillform" 的子窗体,则激活它并退出循环。
3. 如果没有已存在的 xiuGaifillform 对象,则将新创建的 xiuGaifillform 对象的父窗体设置为当前 MDI 窗体,并显示出来。
4. 在显示 xiuGaifillform 对象之前,先判断它是否已经被释放了,以免出现对象已被释放的异常。
阅读全文