Мені потрібно закрити консоль, коли користувач вибирає пункт меню.
Я намагався використовувати, close()
але це не спрацювало ..
як я можу це зробити?
Відповіді:
Environment.Exit
і Application.Exit
Environment.Exit(0)
чистіше.
http://geekswithblogs.net/mtreadwell/archive/2004/06/06/6123.aspx
Під закриттям, ви маєте на увазі, що ви хочете, щоб поточний екземпляр консольної програми закрився, або ви хочете, щоб процес подання завершився? Пропустив, що всі важливі вихідні коди:
Environment.Exit(0);
Або щоб закрити поточний екземпляр форми:
this.Close();
Корисне посилання .
//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;
вийде із методу в C #.
Дивіться фрагмент коду нижче
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;
}
}
Отже, у цьому випадку, якщо користувач вводить нульовий рядок або пробіли, використання методу return елегантно завершує метод Main.
Отже, ви не сказали, що хочете, щоб програма різко завершила роботу або вийшла, тому, як інший варіант, можливо, просто цикл відповідей закінчується елегантно. (Я припускаю, що у вас є цикл while, який чекає інструкцій користувача. Це деякий код із проекту, який я щойно написав сьогодні.
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();
}