请问如何在画面的closing事件中判断是用代码me.close关闭的还是点画面右上角的X关闭画面的?

netfx 2010-02-22 11:24:07
如题。
...全文
472 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
ElfSundae 2010-03-24
  • 打赏
  • 举报
回复
学习了。。。
oo渣渣oo 2010-03-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xingyuebuyu 的回复:]
Public Class Form1
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
Dim WM_SYSCOMMAND As Integer = &H112
Dim SC_CLOSE As Integer = &HF060

……
[/Quote]

回复一下当收藏了!
ouzui 2010-03-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 machong8183 的回复:]
在用关闭按钮关闭的时候,
在判断 e.Cancel = true时候加个flag
最后去看flag的值不就可以知道是直接close
还是关闭按钮close的?
[/Quote]
思路很不错~哈哈,支持!
lsh2216024 2010-03-13
  • 打赏
  • 举报
回复
学习.................
billow_chentao 2010-03-12
  • 打赏
  • 举报
回复
学习.................
神之泪花 2010-03-05
  • 打赏
  • 举报
回复
引用 7 楼 xingyuebuyu 的回复:
Public Class Form1
    Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
        Dim WM_SYSCOMMAND As Integer = &H112
        Dim SC_CLOSE As Integer = &HF060

        If m.Msg = WM_SYSCOMMAND AndAlso CInt(m.WParam) = SC_CLOSE Then
''运行到这里就是点右上角的X来关闭的,下面的return就是不处理这个消息,也就是点X不能关闭窗体;
            Return
        End If
        MyBase.WndProc(m)
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
''关闭窗体
        Me.Close()
    End Sub
End Class


学习了~~~~~~~~~~
dgl_1225 2010-03-04
  • 打赏
  • 举报
回复
引用 7 楼 xingyuebuyu 的回复:
Public Class Form1
    Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
        Dim WM_SYSCOMMAND As Integer = &H112
        Dim SC_CLOSE As Integer = &HF060

        If m.Msg = WM_SYSCOMMAND AndAlso CInt(m.WParam) = SC_CLOSE Then
''运行到这里就是点右上角的X来关闭的,下面的return就是不处理这个消息,也就是点X不能关闭窗体;
            Return
        End If
        MyBase.WndProc(m)
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
''关闭窗体
        Me.Close()
    End Sub
End Class

好,非常的好!
yuanhuiqiao 2010-02-23
  • 打赏
  • 举报
回复
引用 7 楼 xingyuebuyu 的回复:
Public Class Form1
    Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
        Dim WM_SYSCOMMAND As Integer = &H112
        Dim SC_CLOSE As Integer = &HF060

        If m.Msg = WM_SYSCOMMAND AndAlso CInt(m.WParam) = SC_CLOSE Then
''运行到这里就是点右上角的X来关闭的,下面的return就是不处理这个消息,也就是点X不能关闭窗体;
            Return
        End If
        MyBase.WndProc(m)
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
''关闭窗体
        Me.Close()
    End Sub
End Class

支持这个思路
xingyuebuyu 2010-02-23
  • 打赏
  • 举报
回复
Public Class Form1
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
Dim WM_SYSCOMMAND As Integer = &H112
Dim SC_CLOSE As Integer = &HF060

If m.Msg = WM_SYSCOMMAND AndAlso CInt(m.WParam) = SC_CLOSE Then
''运行到这里就是点右上角的X来关闭的,下面的return就是不处理这个消息,也就是点X不能关闭窗体;
Return
End If
MyBase.WndProc(m)
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
''关闭窗体
Me.Close()
End Sub
End Class
joeandlily 2010-02-23
  • 打赏
  • 举报
回复
引用 4 楼 machong8183 的回复:
在用关闭按钮关闭的时候,
在判断 e.Cancel = true时候加个flag
最后去看flag的值不就可以知道是直接close
还是关闭按钮close的?

同样的思路
zbwmx 2010-02-23
  • 打赏
  • 举报
回复
只能是家一个flag 来判断了
水猿兵团五哥 2010-02-23
  • 打赏
  • 举报
回复

在用关闭按钮关闭的时候,
在判断 e.Cancel = true时候加个flag
最后去看flag的值不就可以知道是直接close
还是关闭按钮close的?
古今多少事 2010-02-22
  • 打赏
  • 举报
回复
引用 1 楼 netfx 的回复:
就像vb6里的UnloadMode,不过.net里的CloseReason枚举体似乎区分不开这两种关闭方法。


这两种似乎是一样的。
wuyq11 2010-02-22
  • 打赏
  • 举报
回复
private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
if (e.CloseReason == CloseReason.UserClosing)
{
if (DialogResult.Yes == MessageBox.Show("确定要退出吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning))
{
Application.Exit();
}
else
e.Cancel = true;
}
}
检查状态
http://msdn.microsoft.com/zh-cn/library/system.windows.forms.closereason.aspx
netfx 2010-02-22
  • 打赏
  • 举报
回复
就像vb6里的UnloadMode,不过.net里的CloseReason枚举体似乎区分不开这两种关闭方法。

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧