-
2. Form öffnen
Ich habe ein Problem, welches noch gravierend werden könnte.
Ich schreibe derzeit ein Programm. Mit einem "Klick" kann ich zur Form2 wechseln, dort kann ich wiederum durch einen Klick zur Form1 wechseln.
Das Ganze realisiere ich durch x.Show();
Jedoch öffnet sich bei jedem Klicken die Form als neue Anwendung und so können schon mal gut und gerne 10 "Anwendungen" offen sein.
Gibt es eine andere Methode, wie ich zwischen Forms wechseln kann?
-
AW: 2. Form öffnen
Grundsätzlich gibt es zwei Arten eine Form anzuzeigen:
Modeless: Show (öffnet die Form als 'unabhängiges' Window)
Modal: ShowDialog (blockiert die Parent Form bis die Form wieder geschlossen wird)
ShowDialog aufrufen und beim Schliessen der Form gelangt man dann zurück zur MainForm. (man muss keine Show/ShowDialog der MainForm aufrufen)
-
AW: 2. Form öffnen
Ah, schön, so wollte ich es haben. Danke ;)
-
AW: 2. Form öffnen
Wenn man die 2. Form schließt, kann man doch bestimmt auch ein String zurückliefern (das man ihn also sozusagen in der 1. Form weiter verwenden kann).
Ich habs probiert mit:
Code:
private string 2Form_Closed(object sender, EventArgs e)
{
return String;
}
Sollte ja eigentlich funktionieren, aber wie wird es dann aufgerufen?
Code:
string teststring = 2Form.ShowDialog();
So etwa?
lg,
Prexx
-
AW: 2. Form öffnen
ShowDialog returniert DialogResult. Den string als Property implementieren.
In Form2
Code:
private string _info;
public string Info { get { return _info; } }
und dort wo Form2 erstellt wird
Code:
using (Form2 form2 = new Form2())
{
form2.ShowDialog();
string info = form2.Info;
}
-
AW: 2. Form öffnen
Wann wird dann
Code:
string info = form2.Info;
ausgeführt? Nach schließen der Form2?
Hat mir aber schon sehr geholfen, danke. :)
lg,
Prexx
-
AW: 2. Form öffnen
Ja, nach dem Schliessen, da die Form mit ShowDialog die Parent Form "blockiert". (siehe Beitrag #2)