Ich mache eine Win Forms-Anwendung, um mehr zu lernen, da ich nicht viel Erfahrung damit habe. In meinem Programm habe ich im Hauptformular einen Knopf. Wenn Sie darauf klicken, wird ein anderes Formular geöffnet. Der Code lautet wie folgt:Wie kann ich die Ausführung unterbrechen, bis das neue Formular geschlossen wird?
private void btn_AddCat_Click(object sender, EventArgs e)
{
this.Invoke(new MethodInvoker(() =>
{
form_NewCat NewCatForm = new form_NewCat();
NewCatForm.Show();
}));
MessageBox.Show("Oops!");
}
Das Problem ist, wenn die neue Form gestartet wird, möchte ich die Ausführung des Codes hinter dem Hauptformular an diesem Punkt anzuhalten, bis die neue Form geschlossen ist. Als Beispiel möchte ich im obigen Code nicht 'Ups!' gedruckt werden, bis das neue Formular geschlossen ist. Wie kann ich das erreichen?
Dank. Ich werde Ihre Lösung implementieren. – xbonez
Ich habe den Event-Handler auf genau das geändert, was Sie gezeigt haben. Das neue Formular hat eine Abbrechen-Schaltfläche. Der Event-Handler für den Cancel-Button führt dies aus.Close(). Wenn ich jedoch auf die Abbrechen-Schaltfläche klicke, verschwindet das Formular und erscheint wieder. Wenn Sie den Vorgang erneut abbrechen, wird das Formular geschlossen. Warum ist das so? Mein neues Formular wird zweimal angezeigt. – xbonez
@xbonez, seltsam, bist du sicher, dass du keinen anderen Code hast, der das Formular anzeigt? Wie im Konstruktor? –