栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

C#窗体Winform,如何自重启窗体程序,自己重新启动?

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C#窗体Winform,如何自重启窗体程序,自己重新启动?

如何让winform窗体程序重启?我们先看下录频效果图:

那么这种效果是如何实现的呢?

1.使用进程启动的方式

进程Process.Start(string),可以直接启动你指定路径的exe应用程序。

然后当前进程要马上杀死,调用Kill()方法即可。

2.使用应用程序重启的方式

使用Application.Restart()可以重启当前应用程序。

同样的,当前进程要记得马上杀死。

3.温和的重启

不论是使用哪种方式结束进程,都使用了Kill(),这种方式是暴力的,相当于强行结束进程。

您也可以使用相对温和的方式,使用Close(),但是在一些情况下,这种温和的方式退出很缓慢。

您可能需要使用WaitforExit(int)方法,等待进程结束后再重启。

 

当您重启程序后,如果不置顶的话,那么刚重启的应用程序,可能不是当前窗口,为了激活它,您可能需要下面的代码:

TopMost有助于让你重启后的新应用程序马上处于最顶层。

 

完整源码如下:

using System;
using System.Diagnostics;
using System.Windows.Forms;

namespace Practice.Client
{
    /// 
    /// 主窗体
    /// 
    /// marc
    public partial class MainForm : Form
    {
        /// 
        /// 构造函数
        /// 
        public MainForm()
        {
            InitializeComponent();

            //将窗体置为最顶层窗体。这样重启后,能马上看见。
            this.TopMost = true;
        }

        /// 
        /// 重启按钮单击事件
        /// 
        /// 
        /// 
        private void RestartButton_Click(object sender, EventArgs e)
        {
            Process process = Process.GetCurrentProcess();
            process.Close();

            Application.Restart();
        }
    }
}

 

祝您用餐愉快。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/905918.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号