Bonjour,
Voilà pour des raisons spécifiques, j'ai voulu faire un éditeur de formulaires, exactement comme le designer interne de Visual Studio. Ça me forçait à comprendre l'intêret des interfaces et quelques petites choses, et .NET est équipé pour faire ça assez aisément.
Mais Visual Studio lui souffre d'un bug.
Je me prend un WSOD dès le moment où le UserControl contenant le DesignSurface charge l'élement principal, ceci en mode design sur Visual Studio.
Plus clairement, le UC sur le formulaire doit servir de zone de travail où je peux placer des boutons et tout sans me prendre des soucis d'events, et permet de redimensionner graphiquement etc... Mais en mode design pour régler quelques trucs, je me prend un très méchant "Une ou plusieurs erreurs ont été rencontrés en chargeant le designer (blablabla)".
Après divers tests, j'ai remarque que c'est causé par la méthode [objet].BeginLoad(typeof(UserControl)) mais peu importe ce que je mets, ça revient au même, et elle est indispensable.
En recherchant sur Internet j'ai remarqué que je suuis loin d'être le seul dans ce cas.
Le problème semblant venir de l'emploi de cette méthode depuis le constructeur de l'UC, j'ai testé pour voir de l'utiliser avec l'event Load du UserControl. Personnelement je ne vois pas la différence entre Load et le constructeur, mais le designer a l'air d'en voir une.
Car ça a l'air d'avoir résolu le problème. Enfin je ne l'ai pas encore revu.
Donc question : Qu'est-ce exactement que l'event Load ? Pourquoi le fonctionnement a l'air si différent d'un constructeur pour Visual Studio ?
Partager