已有56人关注
当程序关闭,缩小在右下时,用户再去运行程序,原窗体显示出来,而新窗体会自动退出。差一点就写成功了,请老师指点一下呀。
发表在C#图书答疑 2010-10-06
是否精华
版块置顶:
[font color=#FF0000] 仿迅雷的功能,当程序关闭,缩小在右下时,用户再去运行程序,原窗体显示出来,而新窗体会自动退出。我的代码如下,差一点就成功了,现在的效果是登录窗体会不停的闪,只有右击右下方的图标,退出程序后,才会再出一个新窗体,有哪位高手指点下,要怎么写呀?[/font]
 

                      //检查进程是否已经启动,已经启动则显示报错信息退出程序。 
            if (System.Diagnostics.Process.GetProcessesByName("IT部门管理系统").Length > 1)
            {

                Thread logTread = Thread.CurrentThread;
                Process p = Process.GetCurrentProcess();
                //Thread t = new Thread(new ThreadStart(delegate { Application.Run(new frm_main()); }));  //用线程关闭登录窗体   要先using System.Threading;  //线程
                //t.SetApartmentState(ApartmentState.STA);
                Process.Start("IT部门管理系统");  //运行进程               
                p.Kill();           //杀掉当前线程       
                logTread.Abort();
                this.Dispose();
                Application.Exit();
                //MessageBox.Show("程序已运行,请点击右下方图标!");
                               
            }
            else
            {
分享到:
精彩评论 3
小科_mrkj
学分:43 LV2
2010-10-08
沙发
读者朋友:
    您好,判断如果窗体已经运行的话,使用Application.ReStart方法实现关闭再重启的功能。
wufayou
学分:0 LV1
TA的每日心情
第五天
2023-03-18 21:24:17
2010-10-09
板凳
  我代码是这样的,试用发现,登录窗体,一直闪不断,登录不到主窗体。请问是否要什么语句,停止它反复登录呀。

          if (System.Diagnostics.Process.GetProcessesByName("IT部门管理系统").Length > 1)
            {
                Application.Restart();
            }
            else
            {
小科_mrkj
学分:43 LV2
2010-10-09
地板
读者朋友:
    您好,反复闪说明是一直执行啊,你是不是把代码写timer里了?写在窗体加载事件下。
首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照