Divers contrôles (principalement des étiquettes et des panneaux) sur mon formulaire C# WinForm relativement simple ne sont pas peints lorsque le formulaire est affiché. Ils finissent d'être peints environ une demi-seconde après la présentation du formulaire.Le formulaire est affiché avant que les contrôles ne soient peints
Y at-il une solution facile à cela?
Plus de détails:
Le panneau qui peint le plus lent affiche des données lues à partir d'une base de données SQL. Les données sont peintes, par les étiquettes de texte et l'arrière-plan ne sont pas. Le panneau contient une très petite quantité de données extraites de la base de données.
Un autre panneau qui finit de peindre après l'apparition du formulaire ne contient que quelques étiquettes, un contrôle de texte et un bouton. De plus, cette forme repose sur une autre forme dont le seul but est de recouvrir l'écran de l'ordinateur d'un arrière-plan semi-transparent. Lorsque je supprime ce formulaire d'arrière-plan de l'application, les mêmes contrôles n'arrivent toujours pas à finir de peindre avant que le formulaire ne s'affiche (mais maintenant ils ne sont peints que d'environ un quart de seconde au lieu d'environ une demi-seconde).
Il semble qu'il y ait un ou plusieurs contrôles sur le formulaire qui ralentissent la peinture - quels composants sont affichés sur le panneau gênant? –
@Will, un panneau a un groupBox qui contient trois étiquettes, une zone de texte et un bouton. L'autre panneau a un groupBox qui contient un deuxième panneau qui a six étiquettes et un troisième panneau, ce troisième panneau montre des données tirées d'une base de données SQL (les données sont juste quelques rangées de noms de compte d'utilisateur). – Frederick
Comment les données SQL sont-elles affichées sur le troisième panneau - est-ce que ce panneau est dessiné par le propriétaire, ou contient-il par ex. un DataGridView? –