Command to close an application of console?

后端 未结 6 402
天涯浪人
天涯浪人 2020-11-28 08:26

I need to close the console when the user selects a menu option.

I tried using close() but it did not work..

how can I do this?

相关标签:
6条回答
  • 2020-11-28 08:45

    By close, do you mean you want the current instance of the console app to close, or do you want the application process, to terminate? Missed that all important exit code:

    Environment.Exit(0);
    

    Or to close the current instance of the form:

    this.Close();
    

    Useful link.

    0 讨论(0)
  • 2020-11-28 08:46

    Environment.Exit and Application.Exit

    Environment.Exit(0) is cleaner.

    http://geekswithblogs.net/mtreadwell/archive/2004/06/06/6123.aspx

    0 讨论(0)
  • 2020-11-28 08:46

    return; will exit a method in C#.

    See code snippet below

    using System;
    
    namespace Exercise_strings
    {
        class Program
        {
            static void Main(string[] args)
            {
               Console.WriteLine("Input string separated by -");
    
                var stringInput = Console.ReadLine();
    
                if (string.IsNullOrWhiteSpace(stringInput))
                {
                    Console.WriteLine("Nothing entered");
                    return;
                }
    }
    

    So in this case if a user enters a null string or whitespace, the use of the return method terminates the Main method elegantly.

    0 讨论(0)
  • 2020-11-28 08:46

    So you didn't say you wanted the application to quit or exit abruptly, so as another option, perhaps just have the response loop end out elegantly. (I am assuming you have a while loop waiting for user instructions. This is some code from a project I just wrote today.

            Console.WriteLine("College File Processor");
            Console.WriteLine("*************************************");
            Console.WriteLine("(H)elp");
            Console.WriteLine("Process (W)orkouts");
            Console.WriteLine("Process (I)nterviews");
            Console.WriteLine("Process (P)ro Days");
            Console.WriteLine("(S)tart Processing");
            Console.WriteLine("E(x)it");
            Console.WriteLine("*************************************");
    
            string response = "";
            string videotype = "";
            bool starting = false;
            bool exiting = false;
    
            response = Console.ReadLine();
    
            while ( response != "" )
            {
                switch ( response  )
                {
                    case "H":
                    case "h":
                        DisplayHelp();
                        break;
    
                    case "W":
                    case "w":
                        Console.WriteLine("Video Type set to Workout");
                        videotype = "W";
                        break;
    
                    case "I":
                    case "i":
                        Console.WriteLine("Video Type set to Interview");
                        videotype = "I";
                        break;
    
                    case "P":
                    case "p":
                        Console.WriteLine("Video Type set to Pro Day");
                        videotype = "P";
                        break;
    
                    case "S":
                    case "s":
                        if ( videotype == "" )
                        {
                            Console.WriteLine("Please Select Video Type Before Starting");
                        }
                        else
                        {
                            Console.WriteLine("Starting...");
                            starting = true;
                        }
                        break;
    
                    case "E":
                    case "e":
                        Console.WriteLine("Good Bye!");
                        System.Threading.Thread.Sleep(100);
                        exiting = true;
                        break;
                }
    
                if ( starting || exiting)
                {
                    break;
                }
                else
                {
                    response = Console.ReadLine();
                }
            }
    
            if ( starting )
            {
                ProcessFiles();
            }
    
    0 讨论(0)
  • 2020-11-28 08:52

    You can Try This

    Application.Exit();
    
    0 讨论(0)
  • 2020-11-28 09:10
     //How to start another application from the current application
     Process runProg = new Process();
     runProg.StartInfo.FileName = pathToFile; //the path of the application
     runProg.StartInfo.Arguments = genArgs; //any arguments you want to pass
     runProg.StartInfo.CreateNoWindow = true;
     runProg.Start();
    
     //How to end the same application from the current application
     int IDstring = System.Convert.ToInt32(runProg.Id.ToString());
     Process tempProc = Process.GetProcessById(IDstring);
     tempProc.CloseMainWindow();
     tempProc.WaitForExit();
    
    0 讨论(0)
提交回复
热议问题