La fenêtre de forme d'opacité .. Comment le contrôler?
J'ai un formulaire unique fenêtre de l'application maintenant, je veux changer la form opacity
lorsque l'application s'exécute. Signifie que lors de l'exécution de l'application, il va montrer low opacity
forme et que le temps increse il va afficher le formulaire, le remplir avec 100 opacity
. Donc comment faire. (dois-je utiliser la minuterie de contrôle de contrôle de l'opacité, si oui, alors comment????)
OriginalL'auteur Constant Learner | 2011-12-30
Vous devez vous connecter pour publier un commentaire.
dans le constructeur du formulaire, vous pouvez écrire quelque chose comme cela.
Et puis de définir une méthode comme ceci
Oui cela va fonctionner. Pour cela, vous devrez tout d'abord définir l'opacité de faible valeur. J'ai mis à jour la réponse.
Je voudrais ajouter une case si la valeur est 1, puis l'arrêt de la minuterie.
ok je vais essayer...
Merci. C'est un must. Mise à jour de la réponse.
OriginalL'auteur Maheep
À s'estomper formes dans et à l'extérieur, j'ai l'habitude de le faire:
C'est un gentil, la solution la plus simple si vous voyez que très rarement. Sinon, je recommande l'utilisation de threads.
Nice, j'ai mis cela dans l'événement form_load et il fonctionne bien, mais quand je l'ai mis dans le form1_FormClosing événement (avec des changements à la boucle pour aller de 1,0 à 0, la forme tout simplement se ferme et ne se délave pas. Des idées pourquoi?
C'est parce que la
FormClosing
événement se produit juste avant le formulaire est fermé, c'est à dire être fermé si vous ne l'annulez pas. C'est parce queApplication.DoEvents()
processus d'attente de messages, comme ceux de fermer un formulaire. Donc, pour la fermeture, le jeu dee.Cancel
àtrue
, fade out, puis fermez de nouveau; mais assurez-vous de garder un drapeau à l'intérieur de votre forme, de sorte que vous ne finissent pas dans une boucle sans fin.merci pour l'explication, beaucoup apprécié. Je vais l'essayer, pour voir ce qui se passe.
Une minuterie est exactement cela 🙂
OriginalL'auteur Ry-
Dans le constructeur, démarrer la minuterie de contrôle qui va appeler une méthode à chaque tick.
............
Sur le formulaire de clôture de gestionnaire d'événements, vous pouvez annuler l'événement de ce début de la minuterie, lorsque l'opacité obtient 0, fermez le formulaire vous-même.
OriginalL'auteur FIre Panda
Dans le constructeur, réglez l'opacité à 0 et un chronomètre avec un intervalle de quelque chose de petit comme de 10 ou de 100 millisecondes. Dans le
timer_Tick
événement, il vous suffit d'exécuterthis.Opacity += 0.01;
Cela fera en sorte que l'opacité commence à 0 et l'augmentation par .01 toutes les quelques millisecondes jusqu'à 1 (opacité est un double, lorsqu'il atteint une valeur de 1 c'est complètement opaque)
OriginalL'auteur Robert Rouhani