Creo que el problema es su propiedad Font a la luz de la naturaleza de la forma en que el diseñador trabaja con respecto a los paneles y su contenido. Por defecto, la Fuente de la etiqueta hereda de la Fuente de su contenedor (Puede probar esto agregando un panel a un control y luego agregar una etiqueta a ese panel. Luego cambie la Fuente del Panel, y viola, su etiqueta - - a menos que le hayas dado explícitamente una fuente no predeterminada - se actualizará con la nueva fuente del contenedor).
Por lo tanto, tal como está, cuando se añade el control a la forma, la fuente de la etiqueta se actualiza para que coincida con la fuente del contenedor, y y se inicia bucle sin fin.
Parece que esto se puede solucionar por darle a su etiqueta de una fuente explícita cuando se crea. Algo como esto parece solucionar el problema:
public CustomControlTest()
{
_label = new Label();
_label.Font = new Font("Ariel", 8.5f);
this.Controls.Add(_label);
}
ETA: En respuesta a Hans, yo era capaz de reproducir el accidente usando el código provisto y VS2008, y yo era capaz de evitar el choque por la inicialización de la Font .
ETA2: En mi anterior ETA, me di cuenta de que mi respuesta puede haber sonado más dura de lo que pretendía. Tal vez debería haber elaborado para mencionar que no vi el bloqueo hasta que intenté agregar el control a un formulario. Hans tiene razón en que, en sí mismo, ese código no debería causar la falla de Visual Studio ... es cuando el diseñador interviene para tratar de inicializar y dibujar el control que se encuentra con problemas. En esa nota, ¿cómo se pueden agregar comentarios directamente a la publicación de otra persona? ¿Se necesita una cierta reputación mínima?
no estoy seguro pero me gustaría quitar 'this.Controls.Add (_label);' desde el constructor y lo puso en otro lugar - si usted tiene a * .Design.cs, hacer la puesta a punto puede haber .. . – FrustratedWithFormsDesigner