C#, comment cacher un formulaire et de montrer un autre?
Quand mon projet commence à Form1 charge et vérifie le programme de licence avec le serveur, si tout est OK, il doit: afficher le Formulaire2 et fermer Form1. Par la suite lorsque l'utilisateur de fermer Form2 avec le "x", le programme doit se terminer.
Que pensez-vous est la meilleure façon de le faire?
Jusqu'à présent eu que form2.Montrer 🙂
...
if (responseFromServer == "OK")
{
Form2 form2 = new Form2();
form2.Show();
}
Merci!
Êtes-vous essayer de créer un écran de démarrage?
en quelque sorte, il vérifie avec le serveur, si le programme a été acheté si oui, lanceurs Form2 et disparaît.
C'est le code que vous avez posté votre événement Load sur Form1?
son dans Form1...
en quelque sorte, il vérifie avec le serveur, si le programme a été acheté si oui, lanceurs Form2 et disparaît.
C'est le code que vous avez posté votre événement Load sur Form1?
son dans Form1...
OriginalL'auteur Roger | 2011-07-12
Vous devez vous connecter pour publier un commentaire.
Comme vous le savez probablement si vous utilisez Form1 que votre formulaire principal, alors vous ne pouvez pas le fermer car cela permet de fermer l'application (à moins que vous personnaliser la façon dont l'application démarre, mais c'est plus avancée).
Une option est de commencer par la création d'Form2 comme votre formulaire principal, mais le garder caché, puis de créer et de montrer Form1, puis lors de la vérification de licence est terminé, fermez Form1 et faire Form2 visible.
Ou vous pouvez commencer en montrant Form1 et puis, quand le contrôle de la licence est fait, appel
Form1.Hide()
, puis de créer et de montrer Form2. Puis, quand Form2 est fermée par l'utilisateur, appelezForm1.Close()
dans la Form2.Fermé gestionnaire d'événement:OriginalL'auteur Igby Largeman
Je utiliser quelque chose comme cela. Le Code est dans Programme.cs
vous avez raison.
OriginalL'auteur Orhan Cinar
Vous pouvez afficher la première forme à l'aide de ShowDialog, ce qui permet de bloquer jusqu'à ce que le formulaire se ferme. À l'intérieur de Form1, vous pouvez simplement appeler cette.Close() lorsqu'elle est réalisée de traitement, et l'ensemble de la propriété DialogResult, ou (probablement plus propre), vous pouvez créer une propriété publique que Form1 définit avant qu'il ne ferme, et de demander à l'appelant de vérifier. Ensuite, vous pouvez soit retourner à partir des Principaux directement, ou aller de l'avant et d'instancier une nouvelle classe et de passer à l'Application.Run().
J'aime cela parce que vous n'êtes pas le référencement Form2 de Form1, tout le code pour traiter montrant Form1 et la sortie de l'application est consolidés en un seul endroit, et peut facilement être commenté pour le développement ou le test.
OriginalL'auteur Brad Nabholz
Essayez ceci pour masquer Form1:
puis dans votre FormClosing cas de Form2:
Pas sûr que c'est la meilleure façon d'aller si le formulaire n'a pas besoin d'être affiché de nouveau.
>>> de l'Application.Exit(); Cela fonctionne pour le meurtre de l'ensemble de l'application. Merci!
OriginalL'auteur Neil N
Essayer cette
Et vous pouvez quitter l'application à l'aide de l'Application.Méthode Exit() dans la Form2 du formulaire de l'événement de clôture
OriginalL'auteur Anuraj
OriginalL'auteur