Supportnet Computer
Planet of Tech

Supportnet / Forum / Anwendungen(Java,C++...)

Form-Inhalt in C# wechseln





Frage

Moin, ich bin c# Neuling und stehe vor folgender Aufgabe: Ich hab ein Form mit einer Eingabemaske und einem Button. Wird der Button gebrückt, soll der Inhalt gesichert werden (gehört hier nicht zum Problem) und eine neue Maske im gleichen Form geöffnet werden, wo weitere Daten eingegeben werden können usw... bis man halt am Ende ankommt. Am besten wäre es, wenn sich jede "Page" als eigenes Objekt definieren lässt. Habt ihr eine Idee? Danke im Voraus! Fabian

Antwort 1 von JasonDelife

Hallo Fabian!

Du könntest ja für jede "Page" eine Klasse von (System.Windows.Forms) UserControl ableiten. Dann im Konstruktor der Page-Klassen die "Page-spezifischen" Elemente hinzufügen, positionieren etc.. Im Hauptfenster fügst du die erste Page und den Button ein. Wenn der Button gecklickt wird, ersetzt du die Page durch die nächste (in UserControl-Array verwalten).

Ungefähr so :


// Erste Page
public class FirstPage : UserControl
{
 // ...
}
// Und so weiter



// In Hauptfenster-Klasse
// Die Pages
Panel[] pages = new Panel[3];

// Index der aktuellen Page
int act = 0;

// Konstruktor
public Hauptfenster()
{
 //...

 pages[0] = new FirstPage();
 // usw.

 // Anzeigen
 this.Controls.Add(pages[act]);
}


// Button gecklickt
private void nextPage(object sender, EventArgs evt)
{

 // Auswertung, Speicherung, ...


 // Altes löschen
 this.Controls.Remove(pages[act]);

 ++act; // Nächster Seitenindex


 // Neues anzeigen
 this.Controls.Add(pages[act]);


 // Wenn letzte Seite, Button deaktivieren
 if(act == (pages.Length - 1)) button.Enabled = false;

}



Antwort 2 von JasonDelife

Upps! Fehler:
Das Array muss natürlich vom Typ
UserControl
sein.

UserControl[] pages = new UserControl[3];


Gruß JasonDelife.

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: