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?
Environment.Exit
et Application.Exit
Environment.Exit(0)
est plus propre.
http://geekswithblogs.net/mtreadwell/archive/2004/06/06/6123.aspx
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 .
Vous pouvez essayer ceci
Application.Exit();
//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();
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();
}