online 1
gast (50)

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

Anwendungen(Java,C++...)Anwendungen(Java,C++...)

Fragevon Fabian_81 vom 28.05.2020, 20:33 Options

Form-Inhalt in C# wechseln

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 schreiben

Antwort 1 von JasonDelife vom 16.07.2020, 19:08 Options

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 vom 30.07.2020, 12:30 Options

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

UserControl[] pages = new UserControl[3];


Gruß JasonDelife.

Ähnliche Themen

AxSpreadSheet Daten in Sheet2 uebertragen
Samantha  13.02.2007 - 60 Hits -

Merkwürdige Datumsanzeige
danielG  31.07.2007 - 58 Hits - 4 Antworten

Combilaufwerk bei Acer Extensa 3000 wechseln
123456Toni  09.09.2007 - 86 Hits -

compac presario b 1014 laufwerk wechseln
heilender  12.09.2007 - 69 Hits -

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026