WINform启动关闭之后还是有进程在运行

m_muzhi 2016-05-05 12:30:19
新手学习,求指教~
2个Form:Login(简称f1),Register(f2)

f1的Button:
Register re = new Register();
this.Hide();
re.ShowDialog();


f2:
Login login = new Login();这里我给f1的构造函数加了个f1.show()
this.Dispose();

然后情景是这样的:登陆页面-注册-注册取消按钮-登陆右上角的关闭

就出现了进程没有被关掉的情况,完全不知道是什么情况啊~~求指教
...全文
304 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
m_muzhi 2016-05-05
  • 打赏
  • 举报
回复
对的,之前全是从百度上面找的,就说重新实例化一个,但是一直有问题,所以后来就给f2的关闭添加了个监控字段,再在f1判断这个字段,感谢~!!!!!
cancerser 2016-05-05
  • 打赏
  • 举报
回复
你的问题不在于进程没有关掉,而是实现逻辑有问题,如下
1.f1的Button: 你将f1隐藏并显示f2,这里没有问题
2.f2关闭,从新生成f1。这里问题很严重
a f1造成内存泄露,反复操作会造成内存持续增长
b 程序由第一个f1启动,第一个f1关闭之前不会结束程序

改进方法
将f2中Login login = new Login(); 此部分删除
3在f1中增加f2的formclosed事件,此事件中添加f1.show()
Shit_Leave 2016-05-05
  • 打赏
  • 举报
回复
你把注册界面隐藏了,把弹出来的界面关掉了,注册界面没关!
nry19871012 2016-05-05
  • 打赏
  • 举报
回复
需要 关闭Login 界面,可以将Login对象传到注册界面,注册界面关闭时,同时将Login界面关闭

111,096

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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