it-swarm.com.de

Wie öffne ich 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 über Form1 und wie lautet der Befehl zum Schließen?

27
Nasgharet

Sie müssen ein Ereignis für Form1 behandeln, das als Ergebnis der Benutzerinteraktion ausgelöst wird. Wenn Sie beispielsweise eine Schaltfläche "Einstellungen" haben, auf die der Benutzer klickt, um das Einstellungsformular (Form2) anzuzeigen, sollten Sie das Ereignis Click für diese Schaltfläche behandeln:

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 zur Show-Methode können Sie auch die ShowDialog-Methode verwenden. Der Unterschied besteht darin, dass letzteres das Formular als modales Dialogfeld anzeigt , was bedeutet, dass der Benutzer nicht mit den anderen Formularen in Ihrer Anwendung interagieren kann, bis sie das modale Dialogfeld schließen bilden. Dies ist die gleiche Art und Weise, wie ein Meldungsfeld funktioniert. Die Methode ShowDialog 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), wird es von Windows automatisch geschlossen.

Wenn Sie es selbst schließen möchten, bevor der Benutzer es schließen möchte, können Sie die Close -Methode des Formulars aufrufen :

this.Close();
50
Cody Gray
//To open the form

Form2 form2 = new Form2();

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

Hoffe das hilft

8
cush

Wenn Sie Form2 Modal öffnen möchten (dh Sie können nicht auf Form1 klicken, während Form2 geöffnet ist), können Sie dies tun:

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

Wenn Sie Form2 nicht modal öffnen möchten (dh Sie können weiterhin auf Form1 klicken, während Form2 geöffnet ist), können Sie einen Verweis auf Form2 auf Formularebene 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();
}
6
MusiGenesis

Ich gehe davon aus, dass Sie über Windows-Formulare sprechen:

Verwenden Sie zum Anzeigen Ihres Formulars die Show () -Methode:

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

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

form2.Close();

In einer einzigen Zeile wäre es:

(new Form2()).Show();

Ich hoffe es hilft.

3
user4227915

Bei jedem Klickereignis (oder einem anderen):

Form2 frm2 = new Form2();
frm2.Show();
2
Aykut Çevik

Jeweils Form.Show () (oder Form.ShowDialog () , wenn das zweite Formular modal sein soll) und Form.Hide () = (oder Form.Close () , je nachdem, was Sie mit close it meinen).

2

Wenn Sie Form2 Als modaler Dialog anzeigen müssen, gehen Sie in Form1 Wie folgt vor:

var form2 = new Form2();
if (form2.ShowDialog() == DialogResult.OK) 
{
    // process results here
}

Ein modales Dialogfeld behält den Fokus, solange es geöffnet ist. Das übergeordnete Fenster (Form1) wird "im Hintergrund" gesetzt, bis es geschlossen wird, was bei Einstellungsfenstern durchaus üblich ist.

1
Sergi Papaseit

Beginnen Sie damit:

var dlg = new Form2();
dlg.ShowDialog();
0
Felice Pollano
Form1 OpenNewForm = new Form1();
OpenNewForm.Show();

"OpenNewForm" ist der Name des Formulars. In der Sekunde öffnet sich das Formular.

Wenn Sie das vorherige Formular schließen möchten:

this.Close();
0
Josue Martinez