当前位置:编程学习 > VB >>

Vb如何实现点击窗口右上交的 交叉 关闭按钮时 隐藏窗口,而不是关闭窗口

Vb如何实现点击窗口右上交的 交叉 关闭按钮时 隐藏窗口,而不是关闭窗口
如题 --------------------编程问答--------------------
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    Cancel = -1
    Me.Hide
End Sub
--------------------编程问答-------------------- 先多谢,再问下
我添加一个 关闭的按钮,我点这个按钮的时候是需要 真正关闭 的,
你上边的代码是不是产生副作用了啊,就是导致我点我自己增加的关闭按钮也没法关闭了 --------------------编程问答--------------------
引用 2 楼 kendyhj010 的回复:
先多谢,再问下
我添加一个 关闭的按钮,我点这个按钮的时候是需要 真正关闭 的,
你上边的代码是不是产生副作用了啊,就是导致我点我自己增加的关闭按钮也没法关闭了

问题是你要使窗体隐藏.你不隐藏不就没事了. --------------------编程问答-------------------- 我的意思是我另外的一个主窗口会增加一个按钮来真正关闭该窗口。
--------------------编程问答--------------------
引用 4 楼 kendyhj010 的回复:
我的意思是我另外的一个主窗口会增加一个按钮来真正关闭该窗口。

这没问题呀!
--------------------编程问答--------------------

'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 ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,