有二个窗体form1 form2 ,在form1中有一个按钮,代码为:sub command1_click()
form2.show 1
end sub这样存在的问题是,如果此时对 form2 最小化,form2的图标只显示在屏幕左上角,不在任务栏;特别麻烦的是,form1始终占在桌面上,影响做其他事情。为解决form1霸占桌面的问题,对代码进行了改进:sub command1_click()
form1.visible=false
form2.show 1
form1.visible=true
end sub这样,只要打开form2,form1就不见了,解决了霸占桌面的问题。可接着又有问题了,就是如果对 form2 最小化,任务栏什么都没有,必须退出其他程序,才能从左下角找回form2的图标。为此,特向各位大师求教,恳望指点迷津:我希望在form2.show的时候,在任务栏显示form2的图标,以便从任务栏对form2进行最小化切换;而且form1隐藏,不占住桌面,请问该如何实现?
form2.show 1
end sub这样存在的问题是,如果此时对 form2 最小化,form2的图标只显示在屏幕左上角,不在任务栏;特别麻烦的是,form1始终占在桌面上,影响做其他事情。为解决form1霸占桌面的问题,对代码进行了改进:sub command1_click()
form1.visible=false
form2.show 1
form1.visible=true
end sub这样,只要打开form2,form1就不见了,解决了霸占桌面的问题。可接着又有问题了,就是如果对 form2 最小化,任务栏什么都没有,必须退出其他程序,才能从左下角找回form2的图标。为此,特向各位大师求教,恳望指点迷津:我希望在form2.show的时候,在任务栏显示form2的图标,以便从任务栏对form2进行最小化切换;而且form1隐藏,不占住桌面,请问该如何实现?
后面不要带参数
这样2个窗体都可以最小化
currentstate=me.windowstate
me.windowstate=1
form2.show
end subform2代码private sub form_unload(cancel as integer)
form1.windowstate=form1.currentstate
end sub如果一定要使两个窗体保持层次关系,form1代码中
form2.show
改为
form2.show ,me
不要用模式窗体
-----------------------------
Form1 的 CommandButtonForm1.Hide
Form2.Show==============================Form2 的 ShowInTaskBar = TRUE------------------------------Form2 的 Unload 事件Form1.Show ' 关闭Form2的时候,即刻显示Form1
ShowInTaskBar = True
form1:
Private Sub Command7_Click()
Form2.Show 1
End Subform2:
Private Sub Form_Activate()
Dim dwsty As Long
dwsty = GetWindowLong(Form2.hwnd, GWL_EXSTYLE)
dwsty = dwsty Or WS_EX_APPWINDOW And Not WS_EX_TOOLWINDOW
dwsty = SetWindowLong(Form2.hwnd, GWL_EXSTYLE, dwsty)
Form1.Visible = False
Form2.Visible = False
Form2.Visible = True
End SubPrivate Sub Form_Unload(Cancel As Integer)
Form1.Show
End Subform1隐藏后form2会出现在任务栏,需要的api声明等自己加。
执行如下:
Form2.Visible = False
Form1.Show 1
Form2.Visible = True