Also in meinem Formular Konstruktor habe ich eine Überprüfung für ein Argument. Wenn ich eines von zwei speziellen Argumenten bekomme, möchte ich einfach meinen Server registrieren/abmelden und das Programm schließen. Ich möchte nicht, dass das Formular in diesen Fällen geladen wird. Wie es derzeit aussieht, registriert/hebt der folgende Code erfolgreich den Server auf, aber es bringt meine Anwendung nicht gleich nach dem, wie ich es möchte. Irgendein anderer Befehl dazu? Oder gibt es vielleicht einen besseren Weg, um das zu tun, was ich versuche?Application.Exit Schließt mein Programm nicht, irgendwelche Alternativen?
Mein Code:
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;
}
}
}
Verschieben Sie diesen Code in die 'Main'-Methode (Anwendungseingangspunkt) und zeigen Sie kein Formular an, anstatt irgendetwas zu beenden. – Sinatr
@Sinatr Sie sagen, um ein Haupt zu erstellen? Das wird Mehrdeutigkeit in Bezug auf den Startpunkt der Programme hinzufügen, nicht wahr? –
Sie haben es bereits ... irgendwo;) Erstellen Sie keine neuen, verwenden/ändern bestehende. Es gibt sogar eine spezielle Version davon: siehe [diese Antwort] (http://stackoverflow.com/a/1179545/1997232). – Sinatr