[WinForms] Eine Form aus einer Form aufrufen
-
Frage
Wie kann ich eine Form aus einer anderen Form aufrufen, bzw. anzeigen?Antwort
Dazu besitzt die KlasseForm
die MethodeShow
, bzw.ShowDialog
. MitShowDialog
wird dieForm
modal aufgerufen. Ein modaler Aufruf bedeutet, dass man keinen Zugang zur Eltern-Form
hat, solange die aktuelleForm
offen ist.Beispiel
using System; using System.Windows.Forms; class Program { public static void Main() { var form = new Form(); var button = new Button() { Text = "Show" }; button.Click += Program.OnButtonShow; form.Controls.Add(button); button = new Button() { Text = "ShowDialog", Left = 100 }; button.Click += Program.OnButtonShowDialog; form.Controls.Add(button); Application.Run(form); } private static void OnButtonShow(object sender, EventArgs e) { var childForm = new Form() { Text = "Show" }; childForm.Show(); } private static void OnButtonShowDialog(object sender, EventArgs e) { var childForm = new Form() { Text = "ShowDialog" }; childForm.ShowDialog(); } }