C# 怎么样可以关闭非主窗体,同时关闭整个程序(进程) 我把登录窗体Login设为主窗体了,关闭Login的时候可以关闭整个程序登录成功后是有一个父窗体怎么可以使关闭这个父窗体的时候 也同时关闭整个程序啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Application.Exit();这个应该可以的吧。 Application.Exit();在你的非主窗体的关闭事件里面写 Application.Exit();或者把主窗体Disponse掉 上面的都说了,我说个别的方法 :process.kill(主进程) 有线程到的话要 用Application.ExitThead();我试过. Application.Exit(); 完全可以的!! 登录窗体就不应该设为主窗体,否则关闭登录应用就关闭了你可以参考下面的代码,关闭应用使用Application.Exit(); 登录参考代码,可以实现互斥体技术,防止同时打开多个应用,Program.cs文件代码using System;using System.Collections.Generic;using System.Windows.Forms;namespace FactoryTools{ static class Program { /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); bool flag = false ; System.Threading.Mutex mutex = new System.Threading.Mutex(true, "frmLogon", out flag); if (flag) { frmLogon logon = new frmLogon(); if (logon.ShowDialog() == DialogResult.OK) { Application.Run(new frmMDIMain()); } } else { MessageBox.Show("已经存在运行的实例!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information); Application.Exit(); } } }}登录代码private void btnLogon_Click(object sender, EventArgs e) { this.DialogResult = DialogResult.OK; } 要写出不一样的 在FormClosing事件中写Application.Exit();例 private void Form1_FormClosing(object sender, FormClosingEventArgs e) { Application.Exit(); } 你的后台线程没有记录和控制的么?应该轮询的去终结他们.不过 如果那些线程不锁定系统资源什么的.也可以在启动那些线程之前 吧他们的 ISPACKGROUND设成TRUE.这样你的主线程结束后(EXIT()) 他们后台线程也就OVER了.(如果你有没保存的数据就丢了) 大都认为 Application.Exit(); 来实现 当login的窗体关闭的时刻~ 在Closing事件中加入Application.exit; http://topic.csdn.net/u/20080318/08/4a58fbf7-57a5-4a83-b67f-2c4478cb3c34.html"lwj_pp、No100=>net0003倒分,lwj_pp 100天,No100 30天,net0003 认错,已释放"不知道楼主放出来没有,放出来记得要结贴! 以前写C#程序也遇到过同样的问题,在网上找了很长时间也没有找到原因。用Application.Exit()不管用的,我当时是把Login.cs 对象传进主界面中,然后在dispose 把这个线程关掉。Class Login{…………}Class MainFrom(){ Login login; MainForm(Login log) { login = log; }} 可以在子窗体中 写关闭事件 在事件内 写2楼的代码就可以拉就是 Application.Exit(); Application.Exit();这个不就行了吗. 最好的办法就是不要把login窗体或者splash窗口设为主窗体,就行了,也就是说,Application.Run()里面应该是你的主窗体 FrmLogin frm=(FrmLogin)this.Owner;frm.Close(); 大哥,看好了,谢谢,LZ是No001,谢谢,哥们才建号半个月,违反了规定,哈哈,可用分不够了,你要是多的话我买点 这个我会...你可以在Login_Closing事件里放个,该事件就是窗体关闭前要执行的...Application.ExitThread();如:private void Login_Closing(object sender, System.ComponentModel.CancelEventArgs e){ Application.ExitThread();} 如果LOGIN是主窗体,那么当LOGIN关闭的时候应用程序就自动关闭了。除非你在LOGIN后开启了其他进程,这个时候你就需要手动把他们给KILL掉 你在添加项目的时候不能在Login窗体下添加!!!而应该在 解决方案项目管理器 中 右击项目名进行添加 窗体!这时从登陆窗体跳转到其它窗体就没事了!!!若要在“我把登录窗体Login设为主窗体了,关闭Login的时候可以关闭整个程序 登录成功后是有一个父窗体 怎么可以使关闭这个父窗体的时候 也同时关闭整个程序啊 ”在该父窗体的formClose时间中添加 Application.Exit();就可以了!其它关闭按钮若要执行此功能也一样用 Application.Exit();就ok了 login 作为主窗体本身就是错误的设计 Enviroment.Exit()关闭程序,并且释放所有资源。 不把Login设置成主窗体,把登录后的窗体设置为主窗体在主窗体的Load事件处理方法中加载Login窗体,并把主窗体的visible属性设置为false加载Login的时候把主窗体的句柄传给它关闭Login的时候,把住窗体的visible属性设置为true关闭登录后的窗体,程序就关闭了 skinfeature界面产品特点介绍 SkinFeature完全支持各种常用控件及窗口 。对话框,单文档界面,多文档界面的全部支持。 完全支持PNG、TGA、bmp 图像格式。 支持皮肤(.rss)文件加密。保护美工图像不被别人非法使用,进一步保护自身知识产权。 支持从msstyle wba 等主题文件中自动转化为rss皮肤文件。 SkinFeature完全支持 VC,Delphi,C#,VB.Net,Visual Basic,C++ Bulider, PowerBuilder, Win32 SDK Supported WTL, ATL, 第三方厂商SDK, OUTLOOK 等等界面换肤。 支持各Windows平台 Windows 9X/NT/2000/2003/XP/Vista 完全支持ANSI UNICODE 文字编码格式。 完全支持动态换肤(*.rss),支持不规则窗体,支持美工设计自定义界面生成方案。 完全多线程,自定义窗口类换肤支持。 内含15种专业皮肤(.rss)文件。 内含SkinDesigner 皮肤文件开发工具。 http://www.skinfeature.com 同意8楼的 好像要带个参数吧 为 (false) Application.ExitThead(); 完全退出,不管里面是否还有其它线程.在任何一个类库里调用到它,主程序进程也退出了 我也回个,得点分APPLICATION.EXIT() 如何 不让 自定义控件显示在工具箱中 silverlight 根据值判读修改datagrid字体颜色 如何判断文件是否是word 字符长度的问题 如何修改可执行文件的图标(在线等,急!!!) 水晶报表:已达到系统管理员配置的最大报表处理作业数限制。 MDI窗体中子窗体居中显示的问题 DVD解码器,在线等候。100分 关于ToolBar控件问题 关于自定义控件问题! c# 事件调用 我用VS2008中的C#如何连接SQLITE数据库?有没有这方面的资料?
或者把主窗体Disponse掉
我试过.
完全可以的!!
你可以参考下面的代码,关闭应用使用
Application.Exit(); 登录参考代码,可以实现互斥体技术,防止同时打开多个应用,Program.cs文件代码
using System;
using System.Collections.Generic;
using System.Windows.Forms;namespace FactoryTools
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
bool flag = false ;
System.Threading.Mutex mutex = new System.Threading.Mutex(true, "frmLogon", out flag);
if (flag)
{
frmLogon logon = new frmLogon(); if (logon.ShowDialog() == DialogResult.OK)
{
Application.Run(new frmMDIMain());
}
}
else
{
MessageBox.Show("已经存在运行的实例!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
Application.Exit();
}
}
}
}登录代码
private void btnLogon_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.OK;
}
例
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
Application.Exit();
}
应该轮询的去终结他们.
不过 如果那些线程不锁定系统资源什么的.
也可以在启动那些线程之前 吧他们的 ISPACKGROUND设成TRUE.
这样你的主线程结束后(EXIT()) 他们后台线程也就OVER了.(如果你有没保存的数据就丢了)
来实现
"lwj_pp、No100=>net0003倒分,lwj_pp 100天,No100 30天,net0003 认错,已释放"不知道楼主放出来没有,放出来记得要结贴!
Class Login
{…………}
Class MainFrom()
{
Login login;
MainForm(Login log)
{
login = log;
}
}
这个不就行了吗.
frm.Close();
大哥,看好了,谢谢,LZ是No001,谢谢,哥们才建号半个月,违反了规定,哈哈,可用分不够了,你要是多的话我买点
Login_Closing事件里放个,该事件就是窗体关闭前要执行的...
Application.ExitThread();如:
private void Login_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
Application.ExitThread();
}
除非你在LOGIN后开启了其他进程,这个时候你就需要手动把他们给KILL掉
而应该在 解决方案项目管理器 中 右击项目名进行添加 窗体!
这时从登陆窗体跳转到其它窗体就没事了!!!
若要在
“我把登录窗体Login设为主窗体了,关闭Login的时候可以关闭整个程序 登录成功后是有一个父窗体 怎么可以使关闭这个父窗体的时候 也同时关闭整个程序啊 ”在该父窗体的formClose时间中添加 Application.Exit();就可以了!
其它关闭按钮若要执行此功能也一样用 Application.Exit();就ok了
在主窗体的Load事件处理方法中加载Login窗体,并把主窗体的visible属性设置为false
加载Login的时候把主窗体的句柄传给它
关闭Login的时候,把住窗体的visible属性设置为true
关闭登录后的窗体,程序就关闭了
完全支持PNG、TGA、bmp 图像格式。
支持皮肤(.rss)文件加密。保护美工图像不被别人非法使用,进一步保护自身知识产权。
支持从msstyle wba 等主题文件中自动转化为rss皮肤文件。
SkinFeature完全支持 VC,Delphi,C#,VB.Net,Visual Basic,C++ Bulider, PowerBuilder, Win32 SDK
Supported WTL, ATL, 第三方厂商SDK, OUTLOOK 等等界面换肤。
支持各Windows平台 Windows 9X/NT/2000/2003/XP/Vista
完全支持ANSI UNICODE 文字编码格式。
完全支持动态换肤(*.rss),支持不规则窗体,支持美工设计自定义界面生成方案。
完全多线程,自定义窗口类换肤支持。
内含15种专业皮肤(.rss)文件。
内含SkinDesigner 皮肤文件开发工具。 http://www.skinfeature.com
APPLICATION.EXIT()