Application.Exit 没有关闭我的程序,还有其他选择吗?

J.D*_*Doe 1 c# exit kill-process command-line-arguments winforms

因此,在我的表单构造函数中,我检查了参数。如果我得到两个特殊参数之一,那么我只想注册/取消注册我的服务器并关闭程序。我不希望在这些情况下加载表单。然而,就目前情况而言,以下代码成功注册/取消注册服务器,但它不会像我希望的那样立即终止我的应用程序。还有其他命令可以这样做吗?或者也许有更好的方法来完成我想做的事情?

我的代码:

    public Form1()
    {
        InitializeComponent();
        instance = this;
        fillMeasView();

        string[] args = Environment.GetCommandLineArgs();
        if (args.Length > 1)
        {
            switch (args[1])
            {
                case "register":
                    try
                    {
                        slikServer1.RegisterServer();
                        MessageBox.Show("Server registered successfully!");
                    }
                    catch(Exception ex)
                    {
                        MessageBox.Show("Error: Could not register server." + "\nAdditional Information: " + ex.Message, "Registering Server Failed", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    Application.Exit();
                    break;
                case "unregister":
                    try
                    {
                        slikServer1.UnregisterServer();
                        MessageBox.Show("Server unregistered successfully!");
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Error: Could not unregister server." + "\nAdditional Information: " + ex.Message, "Unregistering Server Failed", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    Application.Exit();
                    break;
                default:
                    MessageBox.Show("This is the cmd line arg:" + args[1]);
                    break;
            }
        }

    }
Run Code Online (Sandbox Code Playgroud)

The*_*One 5

你要:

Environment.Exit(0);
Run Code Online (Sandbox Code Playgroud)