Quelqu'un at-il trouvé une solution utile au problème DesignMode lors du développement de contrôles?
Le problème est que si vous imbriquez des contrôles, DesignMode ne fonctionne que pour le premier niveau. Le deuxième niveau et les niveaux inférieurs DesignMode renverront toujours FALSE.
Le hack standard a été de regarder le nom du processus en cours d'exécution et si c'est "DevEnv.EXE" alors il doit être studio donc DesignMode est vraiment VRAI.
Le problème avec cela est de rechercher le ProcessName se fraye un chemin dans le registre et d'autres parties étranges avec le résultat final que l'utilisateur n'a peut-être pas les droits requis pour voir le nom du processus. De plus cet étrange itinéraire est très lent. Nous avons donc dû empiler des hacks supplémentaires pour utiliser un singleton et si une erreur est générée lors de la demande du nom du processus, supposons que DesignMode est FALSE.
Une bonne manière propre de déterminer DesignMode est en ordre. En fait, il serait encore mieux que Microsoft le corrige en interne au framework!