关于窗口的关闭

tianshilei1992 2012-10-11 08:48:25
如果编写了窗口的Closing事件,例如:

Private Sub Login_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
If MessageBox.Show("是否退出?", "确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) = System.Windows.Forms.DialogResult.Cancel Then
e.Cancel = True
Else
e.Cancel = False
End
End If
End Sub

这是一个登陆窗口,假如登陆成功,那么我应该调用Me.Hide()好还是调用Me.Close()好?如果调用Me.Hide()那么就没问题,如果调用Me.Close()的话,就会触发提示框,而登陆成功了根本无需提示的。
考虑到,调用Me.Hide()只是让窗口隐藏了,会在后台占用资源,所以这样岂不是不大合适呢?正确的做法应该是什么呢?用标志位吗?
...全文
101 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
oh51888 2012-10-11
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

引用 6 楼 的回复:

我感觉楼主的设计理念有点问题。
你把login设计成一个子窗体不就完美解决这一蛋疼的问题了吗?

MDI吗?
[/Quote]
是啊,子窗体受父窗体控制,可以随意关闭和打开,需要登录的时候打开一个字窗体,登录完毕就关闭子窗体。
关闭父窗体的时候提示是否退出,不是挺完美?
tianshilei1992 2012-10-11
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

如果Login是启动窗体,要用Me.Hide(),否则可以用Me.Close()来关闭Login窗体
[/Quote]
我的启动窗口是一个Splash窗口,这个是Splash时候加载的,所以看样子只能用Me.Close()咯~~
tianshilei1992 2012-10-11
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

我感觉楼主的设计理念有点问题。
你把login设计成一个子窗体不就完美解决这一蛋疼的问题了吗?
[/Quote]
MDI吗?
oh51888 2012-10-11
  • 打赏
  • 举报
回复
我感觉楼主的设计理念有点问题。
你把login设计成一个子窗体不就完美解决这一蛋疼的问题了吗?
hzybc 2012-10-11
  • 打赏
  • 举报
回复
如果Login是启动窗体,要用Me.Hide(),否则可以用Me.Close()来关闭Login窗体
tianshilei1992 2012-10-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

我感觉登录窗口没有必要提示退出吧?
[/Quote]
因为登陆窗是整个系统的开始,如果点击取消就相当于要退出系统,所以感觉还是提示一下好~
twohorses 2012-10-11
  • 打赏
  • 举报
回复
我感觉登录窗口没有必要提示退出吧?
tianshilei1992 2012-10-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

登录成功后搞个bool 变量,控制退出的时候判断

此消息通过 【CSDN论坛 Winform正式版】 回复!有关此工具
[/Quote]
看样子只能这样了~我目前就是这么做的,不知道有没有更好的办法
龍月 2012-10-11
  • 打赏
  • 举报
回复
登录成功后搞个bool 变量,控制退出的时候判断 此消息通过 【CSDN论坛 Winform正式版】 回复!有关此工具
tianshilei1992 2012-10-11
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

引用 9 楼 的回复:

引用 7 楼 的回复:

引用 6 楼 的回复:

我感觉楼主的设计理念有点问题。
你把login设计成一个子窗体不就完美解决这一蛋疼的问题了吗?

MDI吗?

是啊,子窗体受父窗体控制,可以随意关闭和打开,需要登录的时候打开一个字窗体,登录完毕就关闭子窗体。
关闭父窗体的时候提示是否退出,不是挺完美?

就算是这样子还是会有楼主上边……
[/Quote]
最终我还是觉得,设置一个布尔型变量比较合适~简单~
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

引用 7 楼 的回复:

引用 6 楼 的回复:

我感觉楼主的设计理念有点问题。
你把login设计成一个子窗体不就完美解决这一蛋疼的问题了吗?

MDI吗?

是啊,子窗体受父窗体控制,可以随意关闭和打开,需要登录的时候打开一个字窗体,登录完毕就关闭子窗体。
关闭父窗体的时候提示是否退出,不是挺完美?
[/Quote]
就算是这样子还是会有楼主上边提到的问题,如果我把登录窗体关闭了,整个程序不是直接就要退出了吗?
还有一种就是不适用form本身的关闭,自己添加关闭按钮,在按钮点下的处理中提示是否关闭

16,555

社区成员

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

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