Dans mon programme, je montre un formulaire de connexion avant le formulaire principal, une fois que le programme détecte un identifiant réussi, j'utilise ceci:
MainForm Main = new MainForm(); Main.Show(); this.Hide();
5 Réponses :
Comment sur ceci.close () code> à la place? P>
Modifier le formulaire principal à MainForm CODE>, et lorsque l'application se lance, dans votre formulaire de connexion
MAINFORM_LOCLOAD MAINFORMOR_LAND CODE> comme boîte de dialogue, ils ne peuvent donc pas accéder au formulaire principal. < / p>
application.exit (0); code> li>
SETSVisbilibycore CODE> et appelez-le à l'intérieur fort>
MainForm_load CODE>. LI>.
ul>
Essayez quelque chose de plus comme ceci: Vous souhaitez masquer le formulaire de connexion avant de montrer la boîte de dialogue, puis fermez le formulaire de connexion après la fermeture de la boîte de dialogue. P> La fermeture de la boîte de dialogue de connexion finira par mettre fin à l'application, de sorte que ce n'est pas une solution réelle, mais vous voulez toujours masquer la connexion. P> Mettez simplement, mettez les choses dans l'ordre que vous souhaitez qu'ils entrent, surtout lorsque vous traitez avec des boucles de messages. p> Tout d'abord, vous masquez la forme de connexion.
Ensuite, vous affichez la boîte de dialogue de formulaire principal, mais empêchez l'appelant de "showdialog ()" de continuer jusqu'à la fermeture de la boîte de dialogue.
Enfin, une fois la boîte de dialogue terminée, vous fermez le formulaire de connexion, terminant l'application. p> p>
Vous devez spécifier votre programme.cs strong> p> MainForm CODE> lorsque vous regardez l'application et dans le gestionnaire d'événements code> code> de ce formulaire, demandez-vous à la connexion. Dans ce cas, vous aurez une application remplie et
Connexion code> pour le démarrage:
private void Form1_Load(object sender, EventArgs e)
{
LoginForm loginForm = new LoginForm();
if (loginForm.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
// check login here
}
}
Si vous masquez Mainform dans son événement de chargement avant d'afficher le formulaire de connexion, vous répliquez plus étroitement la fonctionnalité de l'utilisateur de l'ouverture du formulaire de connexion en premier.
Vous pouvez utiliser puis dans le gestionnaire de connexion: P> ApplicationContext.Mainform code>
Pour spécifier le formulaire principal actuel pour l'application: private void login_Click(object sender, EventArgs e)
{
Program.Context.MainForm = new MainForm();
// close login form
this.Close();
// set up context to track main form instead of login
Program.Context.MainForm.Show();
}