31 Stimmen

Wie öffnet man das zweite Formular?

Ich habe Form1 und Form2 in meinem Projekt. Form2 ist nur ein Formular mit Einstellungen für Form1. Wie lautet der Befehl zum Öffnen von Form2 aus Form1 und wie lautet der Befehl zum Schließen des Formulars?

57voto

Cody Gray Punkte 229889

Sie müssen mit einem Veranstaltung auf Formular1, die als Ergebnis der Benutzerinteraktion ausgelöst wird. Wenn Sie zum Beispiel eine Schaltfläche "Einstellungen" haben, auf die der Benutzer klickt, um das Einstellungsformular (Formular2) anzuzeigen, sollten Sie die Click Ereignis für diese Schaltfläche:

private void settingsButton_Click(Object sender, EventArgs e)
{
    // Create a new instance of the Form2 class
    Form2 settingsForm = new Form2();

    // Show the settings form
    settingsForm.Show();
}

Zusätzlich zu den Show Methode können Sie sich auch für die Verwendung der ShowDialog Methode . Der Unterschied besteht darin, dass letztere das Formular als eine modaler Dialog Das bedeutet, dass der Benutzer nicht mit den anderen Formularen in Ihrer Anwendung interagieren kann, bis er das modale Formular schließt. Dies ist die gleiche Art und Weise, wie ein Nachrichtenfeld funktioniert. Das ShowDialog Methode gibt auch einen Wert zurück, der angibt, wie das Formular geschlossen wurde.


Wenn der Benutzer das Einstellungsformular schließt (z. B. durch Klicken auf das "X" in der Titelleiste), kümmert sich Windows automatisch um das Schließen des Formulars.

Wenn Sie das Formular selbst schließen möchten, bevor der Benutzer darum bittet, können Sie die Formularfunktion Close Methode :

this.Close();

8voto

MusiGenesis Punkte 72729

Wenn Sie Folgendes öffnen möchten Form2 modal (d. h. Sie können nicht auf Formular1 klicken, während Formular2 geöffnet ist), können Sie dies tun:

using (Form2 f2 = new Form2()) 
{
    f2.ShowDialog(this);
}

Wenn Sie Formular2 nicht-modal öffnen möchten (d. h. Sie können weiterhin auf Formular1 klicken, während Formular2 geöffnet ist), können Sie einen Verweis auf Formularebene zu Formular2 wie folgt erstellen:

private Form2 _f2;

public void openForm2()
{
    _f2 = new Form2();
    _f2.Show(this); // the "this" is important, as this will keep Form2 open above 
                    // Form1.
}

public void closeForm2()
{
    _f2.Close();
    _f2.Dispose();
}

6voto

cush Punkte 293
//To open the form

Form2 form2 = new Form2();

form2.Show();
// And to close
form2.Close();

Ich hoffe, das hilft

5voto

Ich nehme an, Sie sprechen von Windows-Formularen:

Um Ihr Formular anzuzeigen, verwenden Sie die Methode Show():

Form form2 = new Form();
form2.Show();

Um das Formular zu schließen, verwenden Sie Close():

form2.Close();

4voto

In einer einzigen Zeile würde es lauten:

(new Form2()).Show();

Ich hoffe, es hilft.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X