我在mdi窗体中建了3个子窗体form1 form2 form3
在MDI窗体的菜单中建立三个子菜单,分别执行
form1.show form2.show form3.show但是我再点击一个子菜单,例如执行form2.show
但是窗口还是显示上一个窗口form3请问怎样才能改变这种情况呢
我知道 unload form1
unload form3
show form2
可以实现
但是我的子窗体太多了,有20多个
有别的办法么
在MDI窗体的菜单中建立三个子菜单,分别执行
form1.show form2.show form3.show但是我再点击一个子菜单,例如执行form2.show
但是窗口还是显示上一个窗口form3请问怎样才能改变这种情况呢
我知道 unload form1
unload form3
show form2
可以实现
但是我的子窗体太多了,有20多个
有别的办法么
For Each frm In Forms
Unload frm
Next
这是关闭所有的窗口,然后打开你想要的窗口就行了.
object.ZOrder positionposition参数,可选的。一个整数,它用以指示 object 相对于同一 object 其它实例的位置。如果 position 为 0 或被省略,则 object 定位在Z-顺序前面。如果 position 为 1,则 object 定位在Z-顺序后面。具体
form.zorder 0 显示在所有对象之前
我碰到过
例如form1.show
form1.SetFocus form2.show
form2.SetFocus
.....
例如form1.show
form1.SetFocus
最好再加一句If Form2.WindowState = 1 Then Form2.WindowState = 0 或1
ZOrder 方法
将指定的 MDIForm,Form 或控件放置在其图层的z-顺序的前端或后端。不支持命名参数。语法object.ZOrder positionZOrder 方法的语法包含下列部分:部分 描述
object 可选的。一个对象表达式,其值为“应用于”列表中的一个对象。如果省略 object,则具有焦点的 Form 对象缺省为 object。
Position 可选的。一个整数,它用以指示 object 相对于同一 object 其它实例的位置。如果 position 为 0 或被省略,则 object 定位在Z-顺序前面。如果 position 为 1,则 object 定位在Z-顺序后面。
说明在设计时选择“编辑”菜单中的“置前”或“置后”菜单命令,可以设置对象的Z-顺序。在 MDIForm 对象内,Zorder 根据 position 的数值决定将 MDI子窗体放置到 MDI 客户区的前面或后面。对于 MDIForm 或 Form 对象,Zorder 根据 position 的数值决定将窗体放置到屏幕的前面或后面。因此,窗体可以显示在其它运行中的应用程序的前面或后面。有三个图层与窗体和容器相关联。后层是显示图形方法结果的绘图空间。下一个是中层,用来显示图形对象和 Label 控件。前层显示所有非图形控件,如 CommandButton、CheckBox 或 ListBox。靠近前层的层中包含的东西将覆盖该层后面的各层包含的东西。Zorder 只对该对象在其中显示的那一层内的各个对象进行重排。