¿Alguien ha encontrado una solución útil al problema de DesignMode al desarrollar controles?DesignMode con controles anidados
El problema es que si anida controles, DesignMode solo funciona para el primer nivel. El segundo y más bajo niveles DesignMode siempre devolverá FALSE.
El truco estándar ha sido ver el nombre del proceso que se está ejecutando y si es "DevEnv.EXE" entonces debe ser estudio así DesignMode es realmente VERDADERO.
El problema con eso es buscar el ProcessName que se abre paso a través del registro y otras partes extrañas con el resultado final de que el usuario puede no tener los derechos necesarios para ver el nombre del proceso. Además, esta extraña ruta es muy lenta. Así que hemos tenido que apilar hacks adicionales para usar un singleton y, si se produce un error al solicitar el nombre del proceso, supongamos que DesignMode es FALSE.
Una buena forma limpia de determinar DesignMode está en orden. ¡Conseguir que Microsoft lo arregle internamente en el framework sería aún mejor!
+1 para "conseguir Microsoft solucionarlo internamente al marco sería aún mejor "- diez minutos del tiempo de alguien ahorrarían decenas de miles de horas por pieza. Si hay un programa que se basa en un error y 100,000 que son molestados por él, no tiene sentido mantener el error para evitar molestar al programa. –
A [blogpost que describe posibles soluciones al problema] (http://dotnetfacts.blogspot.com/2009/01/identifying-run-time-and-design-mode.html). –
Hola, esto fue publicado en 2008. ¿Esto ya está solucionado? – Jake