Autor Beitrag
ramatus
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Mi 16.11.11 22:02 
hallo,

ich habe mal wieder eine frage.

ausblenden C#-Quelltext
1:
2:
new Auswertung().Show(); // neue Form aufrufen 
this.Hide();// Startform schließen


damit rufe ich eine 2 form auf und schließe die erste Form. wenn ich aber wieder zurück zur ersten Form will sagt
das programm das die form1 nicht bekannt ist.

wie kann ich zwischen formen hin und her wechseln ?

viele grüße

claudia

Moderiert von user profile iconTh69: C#-Tags hinzugefügt
Moderiert von user profile iconTh69: Topic aus Multimedia / Grafik verschoben am Do 17.11.2011 um 12:09
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 16.11.11 22:15 
ausblenden C#-Quelltext
1:
2:
3:
4:
    this.Hide();
    using (Form2 MyForm = new Form2())
        MyForm.ShowDialog();
    this.Show();
ramatus Threadstarter
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Mi 16.11.11 22:21 
hallo sebastian ,

danke für deine schnelle antwort , mit den aufruf habe ich ja bereits die 2 form aufgerufen und die hauptform geschlossen. nun möchte ich aber die form1 wieder öffnen.
dort befindet sich ein button zurück. verstehst du wie ich das meine.

ich habe eine startseite und von dieser soll es möglich sein auf andere seiten zu navigieren und wieder zur startform zurück zu kommen.
nun muss ich den ausführenden button mit code versorgen und den zurückbutton ja auch oder nicht ?

liebe grüße

claudia
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 16.11.11 22:41 
user profile iconramatus hat folgendes geschrieben Zum zitierten Posting springen:
danke für deine schnelle antwort , mit den aufruf habe ich ja bereits die 2 form aufgerufen und die hauptform geschlossen. nun möchte ich aber die form1 wieder öffnen.
dort befindet sich ein button zurück. verstehst du wie ich das meine.
Ich habe schon verstanden, genau das macht der Code. ;-)

Zur Erklärung:
ShowDialog zeigt das zweite Fenster an und wartet bis es wieder geschlossen wird. Das heißt das this.show() danach wird auch erst aufgerufen, wenn das zweite Fenster wieder geschlossen ist.
Du musst also das zweite Fenster nur schließen. Ob jetzt durch einen Button oder mit dem X oben rechts ist dabei egal.

Das zweite Fenster zeigt also nicht das erste an, sondern das erste zeigt sich selbst nach dem Schließen wieder an. Der Hintergrund ist, dass eine Beziehung zwischen Klassen nur in eine Richtung gehen sollte. Das heißt die eine kennt die andere, aber die nicht die erste. Das macht den Code übersichtlicher und leichter wartbar.

Wenn du Daten zurückliefern willst, kannst du diese in dem zweiten Fenster in Eigenschaften anbieten, die dann vom ersten Fenster nach dem Schließen des zweiten ausgelesen werden können. Ebenso können Parameter an das zweite Fenster mitgegeben werden.