Vb如何实现点击窗口右上交的 交叉 关闭按钮时 隐藏窗口,而不是关闭窗口
Vb如何实现点击窗口右上交的 交叉 关闭按钮时 隐藏窗口,而不是关闭窗口如题 --------------------编程问答--------------------
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)--------------------编程问答-------------------- 先多谢,再问下
Cancel = -1
Me.Hide
End Sub
我添加一个 关闭的按钮,我点这个按钮的时候是需要 真正关闭 的,
你上边的代码是不是产生副作用了啊,就是导致我点我自己增加的关闭按钮也没法关闭了 --------------------编程问答--------------------
问题是你要使窗体隐藏.你不隐藏不就没事了. --------------------编程问答-------------------- 我的意思是我另外的一个主窗口会增加一个按钮来真正关闭该窗口。
--------------------编程问答--------------------
这没问题呀!
--------------------编程问答--------------------
--------------------编程问答--------------------
'Form1 Code
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Cancel = -1
Me.Hide
Form2.Show
End Sub
'Form2 Code
Private Sub Command1_Click()
Unload Form1
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Command3_Click()
Form1.Show
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)--------------------编程问答-------------------- 怎么好像导致我主窗口都关闭不了呢 --------------------编程问答-------------------- 楼主参考一下我的这段代码吧。
Cancel = -1
Me.WindowState = 1
End Sub
主窗口和‘副窗口’都实现了点‘关闭’时,不是关闭窗口而是最小化。
Form1 是主窗口,添加三个 CommnadButton ,Form2 是副窗口。
把下面的代码分别粘贴到相应的代码窗口中:
'Form1 的代码
Option Explicit
Private lUnload As Long
Private Sub Command1_Click()
'显示第二窗口
Form2.Show
End Sub
Private Sub Command2_Click()
'关闭第二窗口
Form2.WndExit
End Sub
Private Sub Command3_Click()
'关闭主窗口(结束程序)
lUnload = -1
Unload Me
'或者,只用下面这句
'End
End Sub
Private Sub Form_Load()
lUnload = 0
End Sub
Private Sub Form_Unload(Cancel As Integer)
Cancel = Not lUnload
WindowState = 1 '最小化
'Me.Hide '隐藏
End Sub
'Form2 的代码--------------------编程问答-------------------- 终于搞好了
Option Explicit
Private lUnload As Long
Public Sub WndExit()
lUnload = -1
Unload Me
End Sub
Private Sub Form_Load()
lUnload = 0
End Sub
Private Sub Form_Unload(Cancel As Integer)
Cancel = Not lUnload
WindowState = 1 '最小化
'Me.Hide '隐藏
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
'关闭时不关闭而是隐藏
'vbFormControlMenu 0 用户从窗体上的“控件”菜单中选择“关闭”指令。
If (UnloadMode = 0) Then
Me.Hide
End If
End Sub
其实是这样才达到我目的的 --------------------编程问答-------------------- 最好是做一个系统托盘功能。
补充:VB , 基础类