精华内容
下载资源
问答
  • Winform关闭窗口

    2013-09-06 17:49:26
     只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出; 2.Application.Exit(); 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法...

    1.this.Close();   只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;

    2.Application.Exit();  强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出;

    3.Application.ExitThread(); 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题;

    4.System.Environment.Exit(0);   这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干净。

     

    该属性可用于从应用程序返回成功代码。例如,它可用于控制在脚本中调用的一组应用程序的执行。如果应用程序没有设置该属性的值,则返回零。

    无论用户是否设置该属性,系统退出代码都会被设置为 main 函数的返回值;假如 main 返回 void,则设置为零

    展开全文
  • winform关闭窗口

    2016-08-31 17:38:00
    今天在编写项目时,需要关闭winform窗口,使用的是system.Enviroment.exit(0),无论是vs运行的程序还是运行exe程序,都发生了”创建窗体句柄错误,未处理的win32exception“这个异常,调试将错误定位在system....

    今天在编写项目时,需要关闭winform窗口,使用的是system.Enviroment.exit(0),无论是vs运行的程序还是运行exe程序,都发生了”创建窗体句柄错误,未处理的win32exception“这个异常,调试将错误定位在system.Enviroment.exit(0)上,接着使用”System.Environment.Exit(Environment.ExitCode);this.close(),this.dispose()“等语句尝试解决问题,问题依旧;而使用Application.exit()出现关闭窗口的确定框需要点击两次才可以关闭窗口的问题;最后使用Application.ExitThread();将问题解决,反复测试20次,没有出现问题。

    转载于:https://www.cnblogs.com/liuth-0214/p/5826919.html

    展开全文
  • C# WinForm 多窗口 例子

    热门讨论 2008-10-22 15:46:26
    C# WinForm 多窗口 例子,适合初学者.
  • c#winform关闭窗口时触发的事件

    千次阅读 2014-01-09 12:11:00
    通常,我们把它写在FormClosing 事件中,如果确定关闭,就关闭;否则把FormClosingEventArgs 的 Cancel 属性设置为 true,就取消了该窗体的关闭。 如果该窗体是主窗体,我们想在该窗体关闭关闭整个应用程序,会...

    用户关闭软件时,软件一般会给“是否确认关闭”的提示。

    通常,我们把它写在FormClosing 事件中,如果确定关闭,就关闭;否则把FormClosingEventArgs 的 Cancel 属性设置为 true,就取消了该窗体的关闭。

    如果该窗体是主窗体,我们想在该窗体关闭时关闭整个应用程序,会遇到至少两种情况:

    (1)该窗体同时是启动窗体,即它是应用程序中所有窗体的父类,则整个应用程序会被关闭。

    (2)如果该窗体不是启动窗体,比如我们做了一个欢迎窗体,则应用程序中所有窗体的父类就是这个欢迎窗体了。这时该窗体的关闭并不会关闭整个应用程序。我们需要再加入“Application.Exit()”这行代码来退出应用程序。但同时又有问题了,父窗体的关闭又会给该窗体发送关闭事件,于是该事件又被调用一次,确认对话框又会弹出第二次。解决方法是用下面的代码:

    注:做欢迎体界面可以在主窗体中,ShowDialog方法打开欢迎界面,而不是把欢迎界面作为启动窗体。下面的方法仅有理论意义。

    protected override void WndProc(ref Message m)
            {
                //Console.WriteLine(m.Msg);
                const int WM_SYSCOMMAND = 0x0112;
                const int SC_CLOSE = 0xF060;
                if (m.Msg == WM_SYSCOMMAND && (int)m.WParam == SC_CLOSE)
                {
                    //捕捉关闭窗体消息      
                    //用户点击关闭窗体控制按钮   注释为最小化窗体   
                    //this.WindowState = FormWindowState.Minimized;
    
                    //窗体隐藏
                    this.Hide();
                    return;
                }
                base.WndProc(ref m);
            }
    

     


    ***************************************************************************************************************

    C# 窗体关闭时可以触发的事件

    FormClosing :在窗体关闭时,FormClosing 事件发生。窗体关闭时,此事件会得到处理,从而释放与此窗体关联的所有资源。如果取消此事件,则该窗体保持打开状态。若要取消窗体的关闭操作,请将传递给事件处理程序的 FormClosingEventArgs 的 Cancel 属性设置为 true。

    FormClosed:在用户或 Application 类的 Close 方法或 Exit 方法关闭窗体后,会发生 FormClosed 事件。若要防止窗体关闭,请处理 FormClosing 事件,并将传递给事件处理程序的 CancelEventArgs 的 Cancel 属性设置为 true。可以使用此事件执行一些任务,如释放窗体使用的资源,还可使用此事件保存输入窗体中的信息或更新其父窗体。

    当窗体显示为模式对话框时,单击“关闭”按钮(窗体右上角带 X 的按钮)会隐藏窗体并将 DialogResult 属性设置为 DialogResult.Cancel。通过在窗体的 FormClosing 事件的事件处理程序中设置 DialogResult 属性,可以在用户单击“关闭”按钮时重写分配给 DialogResult 属性的值。

    注意
    在显示为无模式窗口的 Form 上调用 Close 方法时,不能调用 Show 方法使窗体可见,因为窗体的资源已被释放。若要隐藏窗体然后又使其可见,请使用 Hide 方法。
     

    如果窗体是多文档界面 (MDI) 父窗体,则在引发 MDI 父窗体的 FormClosing 事件之前将引发所有 MDI 子窗体的 FormClosing 事件。同样,在引发 MDI 父窗体的 FormClosed 事件之前,将引发所有 MDI 子窗体的 FormClosed 事件。取消 MDI 子窗体的 FormClosing 事件不能防止引发 MDI 父窗体的 FormClosing 事件。但是,取消该事件会将作为参数传递给父窗体的 FormClosingEventArgs 类的 Cancel 属性设置成 false。要强制关闭所有 MDI 父窗体和子窗体,请将 MDI 父窗体中的 Cancel 属性设置成 false。

    下面一个简单例子:

    private void Form2_FormClosing(object sender, FormClosingEventArgs e)    
    {    
        DialogResult result = MessageBox.Show("你确定要关闭吗!", "提示信息", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);    
        if (result == DialogResult.OK)    
        {    
            e.Cancel = false;  //点击OK   
        }    
        else   
        {    
            e.Cancel = true;    
        }    
    }  
    

     

    转载于:https://www.cnblogs.com/xuekai-to-sharp/p/3511982.html

    展开全文
  • winform关闭窗口 取消关闭操作

    千次阅读 2017-10-28 16:47:13
    医药遇到一个bug就是 关闭窗口 弹出后点击取消 程序还是结束了 于是百度了一下代码 粘贴上就可以取消 ,然后继续对程序的操作。 分享一下public FrmMain(string s, string w) { InitializeComponent(); uid ...

    医药遇到一个bug就是 关闭窗口 弹出后点击取消 程序还是结束了
    于是百度了一下代码 粘贴上就可以取消 ,然后继续对程序的操作。
    分享一下

    public FrmMain(string s, string w)
    {
    InitializeComponent();
    uid = s; ro = w;
    this.WindowState = FormWindowState.Maximized;//最大化窗体
    this.FormClosing += new FormClosingEventHandler(FrmMain_FormClosing); //安全退出
    }

        private void FrmMain_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (MessageBox.Show("确认退出吗?", "系统提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK)
            {
                e.Cancel = false;
            }
            else
            {
                e.Cancel = true;
            }
        }
    
    展开全文
  • Winform捕获窗口关闭按钮触发的事件

    千次阅读 2016-08-18 22:21:43
    Windows消息机制将窗口关闭按钮修改为其他功能
  • WinForm窗口向父窗口回传信息(事件) https://blog.csdn.net/jhycjhyc/article/details/102562829 现欲从子窗口向父窗口回传输入的字符串,回传后无论子窗口是否退出,父窗口均能接收到子窗口传来的字符串并显示...
  • winform切换窗口特效

    2018-09-26 16:37:43
    内含十几种winform窗口切换特效,给死板的窗体程序注入一丝活力
  • - -如题 用窗体做一个图标的右键菜单.. 想点窗口意外的位置关闭窗口... 本来放在 窗口不是活动窗体的时候自动关闭 - - 可是那样点任务栏和桌面时它不会关闭qwq
  • 利用C#中的委托和事件,实现创建的个子窗体跟随父窗口移动
  • c# winform 关闭窗口时提示是否关闭

    千次阅读 2019-07-12 03:54:17
    今天遇到了这个问题,记下了,以后再用到好找. if(DialogResult.Yes==MessageBox.Show("程序正在使用中,确认退出?","确认退出",MessageBoxButtons.YesNo)){MessageBox.Show("立即退出!");}else{e.Cancel=true;...
  • 然后我要在别的界面关闭事件里进行把所有打开的Form1同时关闭掉 我使用的方法是 Application.OpenForms["Form1"].Dispose(); 可是这个只是关闭一个From1界面 使用 Form1t1 = new Form1();t1.Close();t1.Dispose...
  • 1. 点击窗口关闭按钮来关闭form 2. 点击一个button(或其他控件)来关闭form private void Form1_FormClosing(object sender, FormClosingEventArgs e) { if (MessageBox.Show("Exit?", "", MessageBoxButtons....
  • C# Winform多窗口

    千次阅读 2012-05-08 19:26:07
    }这样做等于重新加载了一个新的主界面,如果要原来的那个的话,你可以在原主界面中新建一个线程来检测,当Form2关闭时,线程执行base.Show();或者你也可以在new Form2(this)时把Form1传过来,再在Form2的构造...
  • Winform 当前窗口点击按钮后,隐藏当前窗口,...如在新的窗口关闭时,再次打开可能会导致异常。所以要对其进行释放。 private void button1_Click(object sender, EventArgs e) { Form2 mainForm = new Form2();
  • winform如何实现窗口一的事件引发窗口二的事件,求大神解答!!!!!
  • 讲两个遇到的问题。 第一个问题:通过登陆窗口(Login.cs)正确验证后将进入主窗体(Main.cs),这个时候如何处理这个登陆...然后进入主窗体,在关闭主窗体时调用Application.Exit();连同这个隐藏的登陆窗体一起关闭。 
  • Winform 窗体关闭事件

    千次阅读 2018-07-10 14:44:00
    //窗体关闭事件 private void FrmMain_FormClosing(object sender, FormClosingEventArgs e) { DialogResult result = MessageBox.Show("确认退出吗?", "退出询问", Messa...
  • C# winform 中,关闭打开的窗口关闭所有打开的窗口
  • 第一种:禁用窗口上部的关闭按钮 方法一:在Form1的窗口程序中desigener设计器中重写如下方法:(将此部分粘贴到窗口程序中去就可以了) protected override void WndProc(ref Message m) { const int WM_...
  • Winform 关闭事件

    2014-04-12 20:22:32
    在做最大化与最小化窗口的时候只有手腕
  • 窗口 Main //学生档案管理 private void button1_Click(object sender, EventArgs e) { this.Enabled = false;//当前窗体不可用 StudentInfo si = new StudentInfo(this)...
  • (1)直接设置 窗口样式中的ControlBox选为False就可以去掉右上角的叉 (2)重写关闭事件 privatevoidForm1_FormClosing(objectsender,FormClosingEventArgse){DialogResultresult;result=MessageBox.Show("确定...
  • winform 窗体关闭事件

    2013-06-30 21:39:00
    注册窗体关闭事件: 在Form1.Designer.cs 文件中添加: this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing); 然后在form1中添加方法: private ...
  • C# winform登录窗口关闭方法

    千次阅读 2010-11-02 13:46:00
    static void Main... //打开登录窗口 LoginForm lg = new LoginForm(); if(lg.ShowDialog() == DialogResult.OK) { Application.Run(new MainForm());//打开你指定的窗口 } }
  • 最近在做一个winform 的项目,由于是需要页面切换跳转的,所以用了MDI窗体,经常需要子窗体之间跳转,窗体的跳转的代码如下: FormFaceLogin frm = new FormFaceLogin(); frm.TopLevel = false; frm.Dock = ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,599
精华内容 6,639
关键字:

winform关闭窗口事件