Pouvez-vous me dire comment je peux recharger un formulaire Windows sans le fermer à l'aide de vb.net? P>
7 Réponses :
Mettez tout votre code d'initialisation dans une méthode et non du constructeur ou de l'événement Form.load et appelez cette méthode. Cela peut également inclure la méthode InitializEcomonent () générée par designer qui définit toutes les commandes sur le formulaire. Vous devez supprimer toutes les commandes sur le formulaire comme première action dans cette méthode, cependant. P>
Vous ne pouvez pas faire ça. p>
Pourquoi voulez-vous recharger un formulaire? Voulez-vous effacer tous les contrôles d'entrée ou quelque chose comme ça? La solution la plus simple pourrait être de faire le nettoyage à la main. P>
Application.Restart() Shuts down the application and immediately opens a new instance.
Une forme pas une application entière!
Je ne sais pas qui a voté ce gars, mais c'est la réponse la plus propre. Peut ne pas être un formulaire rafraîchi comme Altf4 dit mais je ne pense pas qu'il existe un moyen propre de recharger la forme. L'astuce de la compensation, de l'initialisation et de l'exécution de l'événement de charge ne fonctionnera pas pour tout le monde. Plus probablement alors ne pas utiliser Me.Controlsclear () va laisser beaucoup de ressources ouvertes qui vont causer des problèmes de violation d'accès sur "Actualiser". Le redémarrage propre est le seul moyen de le faire sans être bâclé. +1
Je viens de commenter un bloc de code encombrant et le remplacé par cela. Beaucoup mieux!
Essayez d'utiliser moi.refresh () code> Cela a fonctionné avec moi p>
Vous avez probablement eu une actualisation inférieure déjà définie pour que cela fonctionne.
Nope, rafraîchir est une option.
Je sais qu'il est tard, mais utile
C'est en train de travailler. Mettre tous les codes de démarrage dans une méthode ne me convient pas. J'ajoutais et retire beaucoup de commandes dynamiques dans une boucle, mais initializecomonent code> a fait le travail.
Me.Controls.Clear() 'removes all the controls on the form InitializeComponent() 'load all the controls again main_Load(e, e) MsgBox("Thank you for sending report", vbInformation, "") Refresh()
Je sais. Je suis en retard à la fête. Mais, peut-être que cela fonctionne pour qui en a besoin.
Si vous affichez un formulaire d'une autre forme avec alors il n'est pas nécessaire de mettre à jour le formulaire de l'autre formulaire (form2). P> P> .Showdialog code> Le code après exécution de cet appel lorsque le formulaire qui a été montré est fermé. Exemple: p>