Так что в моем конструкторе формы у меня есть проверка аргумента. Если я получу один из двух специальных аргументов, я хочу просто зарегистрировать/отменить регистрацию моего сервера и закрыть программу. Я не хочу, чтобы форма загружалась в этих случаях. Однако, поскольку в настоящее время данный код успешно зарегистрирован/отменяет регистрацию сервера, но он не убивает мое приложение сразу после того, как я этого хочу. Любая другая команда для этого? Или, может быть, есть лучший способ сделать то, что я пытаюсь сделать?Application.Exit Не закрывает мою программу, никаких альтернатив?
Мой код:
public Form1()
{
InitializeComponent();
instance = this;
fillMeasView();
string[] args = Environment.GetCommandLineArgs();
if (args.Length > 1)
{
switch (args[1])
{
case "register":
try
{
slikServer1.RegisterServer();
MessageBox.Show("Server registered successfully!");
}
catch(Exception ex)
{
MessageBox.Show("Error: Could not register server." + "\nAdditional Information: " + ex.Message, "Registering Server Failed", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
Application.Exit();
break;
case "unregister":
try
{
slikServer1.UnregisterServer();
MessageBox.Show("Server unregistered successfully!");
}
catch (Exception ex)
{
MessageBox.Show("Error: Could not unregister server." + "\nAdditional Information: " + ex.Message, "Unregistering Server Failed", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
Application.Exit();
break;
default:
MessageBox.Show("This is the cmd line arg:" + args[1]);
break;
}
}
}
Переместить этот код в метод 'Main' (точка входа приложения) и не показывать форму вообще, а не выходить из чего-либо. – Sinatr
@ Синат, вы говорите, чтобы создать главное? Это добавит двусмысленности с точки зрения начальной точки программы, не так ли? –
У вас уже есть это ... где-то;) Не создавайте новые, используйте/модифицируйте существующие. Существует даже специальная версия: см. [Этот ответ] (http://stackoverflow.com/a/1179545/1997232). – Sinatr