Muszę zamknąć konsolę, gdy użytkownik wybierze opcję menu.
Próbowałem użyć, close()
ale to nie zadziałało.
jak mogę to zrobić?
Odpowiedzi:
Environment.Exit
i Application.Exit
Environment.Exit(0)
jest czystszy.
http://geekswithblogs.net/mtreadwell/archive/2004/06/06/6123.aspx
Czy mówiąc zamknij, masz na myśli, że chcesz zamknąć bieżące wystąpienie aplikacji konsolowej, czy też chcesz, aby proces aplikacji został zakończony? Pominięto wszystkie ważne kody wyjścia:
Environment.Exit(0);
Lub, aby zamknąć bieżące wystąpienie formularza:
this.Close();
Przydatny link .
//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();
return;
zamknie metodę w C #.
Zobacz fragment kodu poniżej
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;
}
}
Tak więc w tym przypadku, jeśli użytkownik wprowadzi ciąg pusty lub biały znak, użycie metody return elegancko zakończy metodę Main.
Więc nie powiedziałeś, że chcesz, aby aplikacja została nagle zamknięta lub zamknięta, więc inną opcją może być po prostu eleganckie zakończenie pętli odpowiedzi. (Zakładam, że masz pętlę while czekającą na instrukcje użytkownika. To jest kod z projektu, który właśnie napisałem dzisiaj.
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();
}