江湖救急,进程的关闭,在线等。

yishuihepan009 2010-10-17 02:19:59
在下做了一个软件(Winform),主窗口是“Form1.cs”,但是程序的启动窗口是“Login.cs”,从“Login.cs”是可以跳转到“Form1.cs”的。

现在的问题是:
关闭主窗口Form1.cs后(也就是关闭软件了),但是在任务管理器中还存在这个进程,貌似没有释放资源似地。

1、请问这是什么原因造成的?

2、是不是要调用“Form1.cs”的“FormClosing”或是“FormClosed”事件来释放资源,如果是应该怎样编写代码才可以在关闭窗口时关闭线程。
...全文
134 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
jason成都 2010-10-17
  • 打赏
  • 举报
回复
在formclosed事件下加入application.exit();
laomengzi 2010-10-17
  • 打赏
  • 举报
回复
常见的问题哦!
水哥阿乐 2010-10-17
  • 打赏
  • 举报
回复
Form1 frm1 = new Form1();
frm1.Show();
this.Hide();
你这个只是隐藏了启动窗体而以,所以要在其它窗体这个事件中加入退出程序代码
  private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
System.Environment.Exit(0);
}
光与影的嬉戏 2010-10-17
  • 打赏
  • 举报
回复
因为你将其挂起了
Hide();
你为什要加这个呢

yishuihepan009 2010-10-17
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 flowfog 的回复:]
this.Dispose(true);
this.Close();
Application.Exit();
[/Quote]

放在那里“Form1.cs”中的“Closing”或是“Closed”事件里面吗?
flowfog 2010-10-17
  • 打赏
  • 举报
回复
this.Dispose(true);
this.Close();
Application.Exit();
yishuihepan009 2010-10-17
  • 打赏
  • 举报
回复
有人吗。。。
yishuihepan009 2010-10-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wtuqi 的回复:]
关键你是怎么关闭的窗体,关闭一个窗口并不代表就能关闭整个软件。软件没关闭当然还有进程存在。贴出你的代码,
[/Quote]

其实正如三楼所言。
代码如下:
//界面跳转
Form1 frm1 = new Form1();
frm1.Show();
this.Hide();
yishuihepan009 2010-10-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 qldsrx 的回复:]
我觉得你的启动窗口“Login.cs”还开着,你是不是把启动窗口给隐藏了再显示主窗口的啊。
[/Quote]

恩,是的,那是不是在“Form1.cs”的“FormClosed”或是“FormClosing”事件中将“Login.cs”关闭了就行了。如果是应该怎样关闭?
qldsrx 2010-10-17
  • 打赏
  • 举报
回复
我觉得你的启动窗口“Login.cs”还开着,你是不是把启动窗口给隐藏了再显示主窗口的啊。
  • 打赏
  • 举报
回复
[Quote=引用楼主 yishuihepan009 的回复:]
从“Login.cs”是可以跳转到“Form1.cs”的。
[/Quote]

怎样跳?

正常情况下,Login实例关闭了,Application也就不阻塞、程序关闭了。
水哥阿乐 2010-10-17
  • 打赏
  • 举报
回复
关键你是怎么关闭的窗体,关闭一个窗口并不代表就能关闭整个软件。软件没关闭当然还有进程存在。贴出你的代码,

111,129

社区成员

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

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

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