http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 2437|回复: 4

[其他] 两个窗口怎么关闭了子窗口之后整一个程序就结束了

[复制链接]
发表于 2013-8-28 10:49:23 | 显示全部楼层 |阅读模式
两个窗口怎么关闭了子窗口之后整一个程序就结束了
我的程序现在只有两个窗口,一个是登陆的窗口另外一个是登陆的窗口,
我知道如果将登陆的窗口关闭了整 一个程序就结束了,但是我做的时候将登陆的窗口做了隐藏了,关了子窗口之后,程序还在怎么办呢??



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2013-8-28 11:13:56 | 显示全部楼层
这个好办,有两种思路,
先说明一下原因,
程序会自动认为第一个打开的窗体为主窗体,如果关闭整个程序将会关闭。
1.因此可以让主界面当成第一个运行的窗体,就是主窗体,而你的登录界面当成子窗体,运行是先隐藏主窗体,加载登录,登录成功后关闭登录窗体显示主窗体就行了。
而不是像你说的先加载登录,登录成功之后才加载主窗体。
这是一种方法。
2.另外一种是在主窗体中,或者是子窗体中处理一下这个事件
[code=csharp]  private void Form2_FormClosing(object sender, FormClosingEventArgs e)
        {
            Application.Exit();
        }[/code]
这就是关闭整个程序了
推荐使用第二种
 楼主| 发表于 2013-8-28 11:58:47 | 显示全部楼层
站长苏飞 发表于 2013-8-28 11:13
这个好办,有两种思路,
先说明一下原因,
程序会自动认为第一个打开的窗体为主窗体,如果关闭整个程序将 ...

那苏老师这一个应该是放在那里处理的呢我是初学者,不是好明白,麻烦你啦
发表于 2013-8-28 12:04:12 | 显示全部楼层
你想让那个窗体关闭时关闭整个应用 程序就在那个窗体下处理FormClosing事件,
事件里面就写这一行就行了
Application.Exit();
发表于 2013-8-31 10:19:21 | 显示全部楼层
假设Form1是登录窗体,登录窗体上有“用户名”和“密码”验证;Form2是主窗体。我是这样实现的:
Main方法:
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            Form1 f1 = new Form1();
            f1.ShowDialog();
            if (f1.DialogResult ==DialogResult.OK)
            {
                Application.Run(new Form2());
            }           
        }
    }
}

Form1(登录窗体):

private void btnOK_Click(object sender, EventArgs e)
        {
            //这里可以设置一些检查,如密码检验
        if (this.textBox1.Text.Trim().Equals("123456"))
            {
                this.DialogResult = DialogResult.OK;
                this.Dispose();
            }
            else
            {
                this.DialogResult = DialogResult.No;
                MessageBox.Show("密码输入错误");
                this.Dispose();
            }
        }

        private void btnCancel_Click(object sender, EventArgs e)
        {
            this.DialogResult = DialogResult.No;
            this.Dispose();
        }
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-5-2 07:02

© 2014-2021

快速回复 返回顶部 返回列表