C Sharp - Programm im Hintergrund schließen

8Antworten
  1. #1
    Avatar von telecaster95
    telecaster95 ist offline
    Themen Starter

    Title
    Benutzer
    seit
    11.04.2011
    Ort
    /home/tele
    Beiträge
    1.617

    Standard C Sharp - Programm im Hintergrund schließen

    Hallo,
    Ein paar Freunde und ich arbeiten an einem ziemlich komplexen Programm in C #.
    Beim Start öffnet sich ein Logo und die Buttons Start & Beenden. Beenden ist selbsterklärend, Start lässt das Logo verblassen und öffnet die Hauptform. Das sieht dann so aus:
    Code:
    for (double i = 100; i >= 0; i--)
                {
                    this.Opacity = i / 100;
                    System.Threading.Thread.Sleep(5);
                }
                Form weiter = new Form1();
                weiter.Show();
    Blöd ist nur, wenn ich jetzt die Hauptform schließe, schließt er nicht das ausgeblendete Logo ShowInTaskbar ist auf false, das heißt der Benutzer merkt davon nichts, außer er schaut im Taskmanager nach.
    Blöd ist es trotztem.
    Wenn ich am oben gezeigtem Code ein this.close(); dranhänge, schließt er die Hauptform mit
    Kennt jemand ne Möglichkeit nachdem das Logo ausgeblendet worden ist ihn auch zu schließen?
    Danke
    EDIT:
    Das Logo ist eine Picturebox auf einer Form die genauso groß ist, und FormBorderstyle auf none gestellt hat

  2. #2
    Avatar von zodiac
    zodiac ist offline

    Title
    Benutzer
    seit
    27.04.2009
    Beiträge
    12

    Standard OOP-Konzept.....

    Die Überschrift sagt es im Prinzip schon. Es ist logisch, dass wenn du das "Hauptobjekt" des Programms schließt auch alle seine, von ihm erzeugten Fenster verschwinden. Dein von dir verwendetes Wort "Hauptform" ist also hier auch fehl angebracht, da die eigentliche "Hauptform" das Startfenster am Anfang ist. Wenn du das schließt, schließen sich meines Wissens alle von ihm erzeugten Fenster, unabhängig der Aufrufmethode ( ShowDialog, Show).

    Eine sehr einfach zu implementierende Alternative, wären zwei unabhängig voneinander Agierende Programme in zwei Prozessen.

    Prozess 1: Startprogramm startet Prozess zwei und schließt sich danach wieder
    Prozess 2: Hauptprogramm

    Nur mal so aus Interesse: Um was für ein Projekt handelt es sich denn , wenn man fragen darf ?

  3. #3
    Avatar von telecaster95
    telecaster95 ist offline
    Themen Starter

    Title
    Benutzer
    seit
    11.04.2011
    Ort
    /home/tele
    Beiträge
    1.617

    Standard

    Das mit meiner falschen Beschriftung stimmt
    Wie setze ich das denn um, mal so am Rande..
    Und ja, das Programm wird für meine Klasse. Es gibt immer den aktuellen Stundenplan aus, Speichert Notizen, Hausaufgaben, stellt einen Taschenrechner mit wissenschaftlichen Funktionen berreit, einen Webbrowser und ein kleines Spiel ist in Arbeit Natürlich alles von uns programmiert^^
    Hier mal ein Screenshot: (Nur vom Logo) Wenn es fertig ist, lade ich es bestimmt hoch
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Klicke auf die Grafik für eine größere Ansicht 
Name:Unbenannt.png 
Hits:65 
Größe:126,1 KB 
ID:2751  


  4. #4
    Avatar von zodiac
    zodiac ist offline

    Title
    Benutzer
    seit
    27.04.2009
    Beiträge
    12

    Standard

    Nur der Vollständigkeit halber: Es geht natürlich auch anders. Aber das würde zu weit führen. Den Vorschlag, den ich hier gemacht habe umzusetzen geht am einfachsten indem du schlicht und ergreifend 2 Projekte machst. Eins ist das Startfenster und das andere ist euer Hauptprogramm.

    Startfenster->Code für Transparenz etc, Starten von schuelerapp.exe, Beenden des Startfensterprogrammes( this.close )

    Das wäre relativ schnell umzusetzen und am Code müsste auch nicht sonderlich viel geändert werden. Hätte trotzdem noch eine kleine Anregung. Die Regelung des Transparenzintervalles durch Thread.Sleep ist natürlich eine gute Idee, aber besser und erweiterbarer wäre es, wenn du es mit der Timer Komponente von WinForms machst. Viel Spaß noch mit eurem Projekt! Da habt ihr euch ganz schön was vorgenommen. Wissenschaftlicher Taschenrechner ist enorm schwer, insbesondere wenn es ums Gleichungen lösen geht.

  5. #5
    Avatar von telecaster95
    telecaster95 ist offline
    Themen Starter

    Title
    Benutzer
    seit
    11.04.2011
    Ort
    /home/tele
    Beiträge
    1.617

    Standard

    Wissenschaftlicher Taschenrechner ist enorm schwer, insbesondere wenn es ums Gleichungen lösen geht
    Das ist wohl war, aber Herrausforderungen sind toll, auch wenn ich jetzt schon scheitere
    Soooo weit sind wir jetzt in Programmieren auch noch nicht, daher, wie starte ich den die .exe?
    Ach ja, alles bis auf den Taschenrechner ist schon fertig
    Und danke!

  6. #6
    Avatar von Spyx
    Spyx ist offline

    Title
    Moderator
    seit
    21.08.2006
    Beiträge
    9.155

    Standard

    Wofür wollt ihr denn überhaupt solch einen Ladebildschirm? Startet doch einfach das Hauptprogramm, blendet euren Ladebildschirm ganz oben ein und ladet dann alles weitere im Hintergrund.

    Ihr habt einen Webbrowser geschrieben? Selbst die Implementierung des HTTP-Protokolls und eine HTML-Rendering-Engine sind extrem aufwändig.

    Für einen fortgeschrittenen Taschenrechner ist eventuell diese Aufgabenreihe interessant:
    "Aus klein mach groß": Teil1 - Stack
    Aber ein Computer-Algebra-System werdet ihr damit nicht umsetzen können.

  7. #7
    Avatar von zodiac
    zodiac ist offline

    Title
    Benutzer
    seit
    27.04.2009
    Beiträge
    12

    Standard

    @Spyx Ich vermute sehr stark, dass sie einfach die Internet Explorer Komponente von Wforms genommen haben. Drag and Drop

  8. #8
    Avatar von Spyx
    Spyx ist offline

    Title
    Moderator
    seit
    21.08.2006
    Beiträge
    9.155

    Standard

    Zitat Zitat von zodiac
    @Spyx Ich vermute sehr stark, dass sie einfach die Internet Explorer Komponente von Wforms genommen haben. Drag and Drop
    Davon gehe ich auch stark aus. Aber dann sollte man nicht schreiben, dass es einen Webbrowser gäbe und alles von ihnen programmiert sei .

    Vor allem finde ich es nicht sinnvoll noch einmal die Trident-Engine in irgendein Programm zu importieren. Für einen Webbrowser gibt es extra Programme, die dafür wesentlich besser geeignet sind (z.B. Firefox, Internet Explorer, Chrome, etc.).

  9. #9
    Avatar von telecaster95
    telecaster95 ist offline
    Themen Starter

    Title
    Benutzer
    seit
    11.04.2011
    Ort
    /home/tele
    Beiträge
    1.617

    Standard

    Ach Leute..
    Ja, zodiac hat recht, das ist die IE Kopie
    Aber lasst uns unseren Spaß, wir lernen erst seit 3 Monaten programmierung und sind stolz darauf, denn der Rest ist wirklich NUR von uns programmiert
    Und.. Learning by doing
    Übrigends danke Spyx für den Link
    EDIT:
    Das mit der .exe starten haben wir hinbekommen

Ähnliche Themen

  1. Programm schließen

    Von electrofreak im Forum Anwendersoftware
    Antworten: 1
    Letzter Beitrag: 03.02.2013, 19:58
  2. Batch-Befehl um ein Programm zu schließen ?

    Von im Forum Anwendersoftware
    Antworten: 4
    Letzter Beitrag: 25.02.2012, 10:10
  3. Programm im Hintergrund aktiv lassen?

    Von Psychofreak321 im Forum Anwendersoftware
    Antworten: 2
    Letzter Beitrag: 05.07.2011, 19:52
  4. td Hintergrund

    Von Lambade im Forum Homepage-Webdesign
    Antworten: 3
    Letzter Beitrag: 16.12.2007, 11:50
  5. C Programm als hintergrund prozess

    Von molasses im Forum Anwendersoftware
    Antworten: 1
    Letzter Beitrag: 19.11.2006, 09:04
Diese Seite benutzt Cookies Durch die weitere Nutzung der Seite stimmen Sie der Verwendung von Cookies zu. Infos zum Datenschutz