Freitag, 28. Mai 2010

Anwendung beenden

Die eigene C# - Anwendung per Programmcode zu beenden, ist ganz leicht, der Befehl aber einigen nicht bekannt.
Deshalb gibt's diesen als heutigen Beitrag.
Bei Windows Forms - Anwendungen führt der Befehl
System.Windows.Forms.Application.Exit();
zur Beendigung des Programms.
In Konsolenanwendungen ist dieser Befehl jedoch nicht verfügbar. Bei einer solchen kann man jedoch den Befehl return in der Hauptfunktion void Main() aufrufen, um die Anwendung vorzeitig zu beenden.

Kommentare:

  1. Environment.Exit(0);

    AntwortenLöschen
  2. Wie kann ich das Programm neustarten???

    AntwortenLöschen
  3. Application.Restart();
    Funktioniert anscheinend nicht immer so super wie man es sich wünscht(habe ich gelesen), bei mir lief es aber bisher immer super.
    Gruß
    Quinity

    AntwortenLöschen
  4. Sehr cooler Befehl, mein erster Gedanke war jetzt, einen eigenen Thread zu erzeugen, den zu starten und die alte Ausführung zu beenden.

    AntwortenLöschen
  5. zum beenden kann man auch einfach "Close();" schreiben

    AntwortenLöschen
  6. Gibts es eine Möglichkeit, womit ich eine laufende Forms Anwendung abbreche? Ich habe eine automatische Ausgabe von Nachrichten und würde diese gerne mit einem Button unterbrechen (Nicht das ganze Programm oder die Forms schließen). Leider wird die Forms gesperrt und ich kann sie nicht anklicken solange diese die Nachrichten sendet. Ich bitte um Hilfe.

    AntwortenLöschen
  7. @Vorposter
    Ist deine Anwendung Multithreaded?
    Grundregel ist, das Berechnung, oder andere Rechenintensive Sachen, die länger als 10ms dauern können in einen einzelnen Thread verlagert werden.
    Durch die mehreren Threads reagiert auch deinne Form wieder.

    Noch ein paar hilfreiche Links.
    http://msdn.microsoft.com/de-de/library/ms173178(v=vs.80).aspx

    http://www.mycsharp.de/wbb2/thread.php?threadid=33113

    Grüße
    Postremu

    AntwortenLöschen
  8. Nein mit Multithread hab ich noch keine Erfahrung und ich habe auch gerade erst mit den Forms angefangen. Ich werde es mir aber mal ansehen. Falls ich dann noch mehr Hilfe brauche melde ich mich.

    AntwortenLöschen
  9. Hallo,

    hast du es schon mal mit Application.DoEvents() (http://msdn.microsoft.com/en-us/library/system.windows.forms.application.doevents.aspx) probiert? Wird diese Funktion periodisch aufgerufen, kann dein Programm auch wenn es ausgelastet ist noch auf Benutzereingaben reagieren.

    Viele Grüße
    Oliver

    AntwortenLöschen
  10. Wie kann man eine Anwendungsform auf blinken oder blitzen lassen

    AntwortenLöschen
    Antworten
    1. Z.B. mit einem Timer und der Eigenschaft Opacity des Formulars:

      private void timer1_Tick(object sender, EventArgs e)
      {
      if (this.Opacity == 1)
      this.Opacity = 0;
      else
      this.Opacity = 1;
      }

      Löschen
  11. Wie öffnet man denn neue Threads? Und wie führt man dann Methoden/Prozeduren darin aus?

    AntwortenLöschen
    Antworten
    1. Einfächste möglichkeit:
      Thread th = new Thread(new ThreadStart(Methode die Im Neues Thread ausgeführt werden soll aber ohne Parameter Klammern));
      th.Start();

      Löschen
  12. Und wie macht man es wen man in ner console per aufruf eines int schließen möchte?

    AntwortenLöschen
    Antworten
    1. Es geht auch mit Environment.Exit(). Dieser kann man auch noch einen Integer (ExitCode) mitgeben. Nützlich zum Beispiel für Consolen-Apps innerhalb von Funktionen (ausschließenlich der Main-Funktion).

      Löschen
  13. Der Kommentar wurde von einem Blog-Administrator entfernt.

    AntwortenLöschen