web-dev-qa-db-fra.com

Commande pour fermer une application de console?

Je dois fermer la console lorsque l'utilisateur sélectionne une option de menu.

J'ai essayé d'utiliser close() mais cela n'a pas fonctionné ..

comment puis-je faire ceci?

64
ale

Environment.Exit et Application.Exit

Environment.Exit(0) est plus propre.

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

139
Priyank

Par fermeture, voulez-vous dire que vous voulez que l'instance actuelle de l'application console se ferme ou voulez-vous que le processus d'application se termine? A manqué que tout le code de sortie important:

Environment.Exit(0);

Ou pour fermer l'instance actuelle du formulaire:

this.Close();

Utile lien .

22
Hmm

Vous pouvez essayer ceci 

Application.Exit();
6
namco
 //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();
3
user5328792

Donc, vous n'avez pas dit que vous vouliez que l'application s'arrête ou se ferme brusquement, alors, comme autre option, il suffit peut-être que la boucle de réponse se termine avec élégance. (Je suppose que vous attendez des instructions de l'utilisateur pendant un certain temps. Il s'agit du code d'un projet que je viens d'écrire aujourd'hui.

        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
Keith Aymar