私のフォームコンストラクタでは、私は引数のチェックを持っています。私は2つの特別な引数のいずれかを取得した場合、私は単に私のサーバーを登録/登録解除し、プログラムを閉じるだけです。私はこれらのインスタンスにフォームをロードしたくありません。しかし、現在のところ、次のコードはサーバーの登録/登録解除に成功していますが、直後にアプリケーションを終了させることはありません。そうするための他のコマンド?それとも、私がやろうとしていることをするためのより良い方法がありますか?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
@Sinatrあなたはメインを作成すると言っている?それはプログラムの出発点ではあいまいではないでしょうか? –
あなたはすでにそれを持っています...どこか;)新しいものを作成せず、既存のものを使用/修正しないでください。特別なバージョンもあります:[この回答](http://stackoverflow.com/a/1179545/1997232)を参照してください。 – Sinatr