J'ai Form1 et Form2 dans mon projet. Form2 est juste un formulaire avec des paramètres pour Form1. Quelle est la commande pour ouvrir le Form2 à partir de Form1 et quelle est la commande pour le fermer s'il vous plaît?
Vous devez gérer un événement sur Form1 généré à la suite d'une interaction de l'utilisateur. Par exemple, si vous avez un bouton "Paramètres" sur lequel l'utilisateur clique pour afficher le formulaire de configuration (Form2), vous devez gérer l'événement Click
pour ce bouton:
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();
}
En plus de la méthode Show
, vous pouvez également choisir d'utiliser la méthode ShowDialog
. La différence est que ce dernier affiche le formulaire sous la forme d'un boîte de dialogue modale , ce qui signifie que l'utilisateur ne peut pas interagir avec les autres formulaires de votre application tant qu'ils n'ont pas fermé le modal. forme. C'est la même manière qu'une boîte de message fonctionne. La méthode ShowDialog
renvoie également une valeur indiquant comment le formulaire a été fermé.
Lorsque l'utilisateur ferme le formulaire de configuration (en cliquant sur le "X" dans la barre de titre, par exemple), Windows se charge automatiquement de le fermer.
Si vous souhaitez le fermer vous-même avant que l'utilisateur ne le ferme, vous pouvez appeler la méthode Close
du formulaire :
this.Close();
//To open the form
Form2 form2 = new Form2();
form2.Show();
// And to close
form2.Close();
J'espère que cela t'aides
Si vous voulez ouvrir Form2
modalement (ce qui signifie que vous ne pouvez pas cliquer sur Form1 tant que Form2 est ouvert), vous pouvez le faire:
using (Form2 f2 = new Form2())
{
f2.ShowDialog(this);
}
Si vous souhaitez ouvrir Form2 de manière non modale (vous pouvez donc toujours cliquer sur Form1 alors que Form2 est ouvert), vous pouvez créer une référence de formulaire à Form2 comme suit:
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();
}
Je suppose que vous parlez de Windows Forms:
Pour afficher votre formulaire, utilisez la méthode Show ():
Form form2 = new Form();
form2.Show();
pour fermer le formulaire, utilisez Close ():
form2.Close();
En une seule ligne ce serait:
(new Form2()).Show();
J'espère que ça aide.
Sur n'importe quel clic (ou autre):
Form2 frm2 = new Form2();
frm2.Show();
Respectivement Form.Show () (ou Form.ShowDialog () si vous voulez que le second formulaire soit modal), et Form.Hide () = (ou Form.Close () , selon ce que vous entendez par close it
).
Si vous avez besoin de montrer Form2
en tant que dialogue modal , depuis Form1
faire:
var form2 = new Form2();
if (form2.ShowDialog() == DialogResult.OK)
{
// process results here
}
Un dialogue modal conservera le focus tant qu'il sera ouvert; il définira les fenêtres parentes (Form1
) "en arrière-plan" jusqu'à sa fermeture, ce qui est une pratique assez courante pour les fenêtres de paramètres.
Commencez par ceci:
var dlg = new Form2();
dlg.ShowDialog();
Form1 OpenNewForm = new Form1();
OpenNewForm.Show();
"OpenNewForm" est le nom du formulaire. Dans le second cas, le formulaire s'ouvre.
Si vous souhaitez fermer le formulaire précédent:
this.Close();