Attendre jusqu'à ce que le formulaire est fini de charger
Est-il une sorte de booléenne que je peux utiliser pour vérifier si l'instance d'un formulaire est chargé, ou sinon attendre jusqu'à ce que le formulaire est chargé?
par exemple:
While(form_loaded == false) {
Try {
//do something
}
catch {
}//do try catch so code won't barf
}
Je reçois l'exception suivante:
Une exception de première chance de type 'System.InvalidOperationException' s'est produite dans System.Windows.Forms.dll
Une exception non gérée du type 'System.InvalidOperationException' s'est produite dans System.Windows.Forms.dll
Informations supplémentaires:
Invoke
ouBeginInvoke
ne peut pas être appelée sur un contrôle jusqu'à ce que la poignée de la fenêtre a été créé.
C'est ce que je suis de se préoccuper.
En outre, si une explication plus détaillée est nécessaire, je peux essayer de poster un peu de code et/ou d'une ou plus d'informations sur le débogage.
Votre code ne compilera pas à l'encontre de tout compilateur C# (je sais que c'est l'exemple/pseudo-code, mais c'est à côté de la question.)
Utilisez simplement
Form_Shown
Vous devez faire cela dans l'autre sens. Ne pas démarrer le thread jusqu'à ce que l'événement Load du formulaire incendies.
OriginalL'auteur Bennett Yeo | 2013-09-07
Vous devez vous connecter pour publier un commentaire.
essayez d'utiliser la montre événement quelque chose comme cela
espérons que cette aide
Merci, ça fonctionne +1
OriginalL'auteur BRAHIM Kamel
Le premier événement qui est déclenché après la forme est entièrement chargée est la
Shown
événement. l'utiliser...Selon MSDN la séquence des événements est :
Lorsque l'application démarre:
Lorsqu'une application se ferme:
Et comme @Henk Holterman a déclaré, dans sa réponse, ne pas utiliser occupé attente dans un événement piloté par le formulaire...
OriginalL'auteur Avi Turner
Vous avez un
Loaded
et unShown
événement à choisir.Windows est basé sur l'événement donc, ne jamais attendre quelque chose en boucle.
OriginalL'auteur Henk Holterman