C# unload-und load-Formular ein - / ausblenden und schließen

Ich bin Codierung einer einfachen sidescroller in C# mit Windows forms-Anwendungen. Ich will es so, wenn der Spieler berührt eine exit-Stelle, diese sofort lädt eine neue Ebene.

Um dies zu implementieren, nutze ich den folgenden code:

if (player.Bounds.IntersectsWith(exit.Bounds))
{
    Form2 myNewForm = new Form2();
    myNewForm.Visible = true;
    this.Hide();
}

Dieser funktioniert. Jedoch lädt es zahlreiche Instanzen von form2 - ich möchte nur, dass es zu laden, sobald. Ich weiß nicht, wie diese zu schreiben (sorry, ich bin ein Neuling - es dauerte eine Weile, nur um dieser code zu schreiben!).

Auch, laden Sie eine Ebene über eine neue form ist ineffizient. Gibt es eine Möglichkeit zum entladen der offenen form zu laden, die nächste in der gleichen Fenster/Instanz, anstatt ein weiteres separates Fenster?

Sorry, wenn dies ist, ist noch unklar. Ich habe mein bestes getan, Forschung + ich bin neu. Bitte nicht erwähnen XNA! Danke.

  • Blick auf das singleton-Muster verwenden: stackoverflow.com/questions/1403600/...
  • Lesen Sie die Kommentare, sehe ich, dass das geklärt ist. Sollten Sie die Antwort, die am besten erfüllt Ihre Bedürfnisse. That being said, zu Experimentieren mit meinen eigenen winforms-Spiel, ich war kein fan von dem ständigen öffnen und schließen von Fenstern zwischen den 'levels'. Die route, die ich nahm, war ein Haupt-Fenster-die befindet sich eine Menü-Leiste und alle Benutzersteuerelemente, die vertreten alle levels oder maps oder was auch immer. Das Hauptfenster nur diktiert, die UserControl sichtbar war, ähnlich wie zmechanic Antwort.
InformationsquelleAutor multipack1 | 2015-01-15
Schreibe einen Kommentar