2009-12-28 21 views
5

Tengo un problema molesto. En ocasiones, Visual Studio no muestra la opción "Ver diseñador" para algunos de mis formularios en el explorador de soluciones. No muestra los errores del modo de diseño, simplemente no muestra la opción de usar el diseñador. No puedo averiguar los casos exactos cuando esto sucede. ¿Alguien tiene algunas ideas sobre las causas del comportamiento del explorador de soluciones?Diseñador de formularios de Visual Studio

+0

¿Qué versión de VS? Si VS 2005, asegúrese de estar ejecutando el último SP. –

+0

¿Alguno de los formularios que intenta diseñar usa herencia visual? ¿Y qué ocurre si abre el editor de código y presiona F7? – Rory

+0

@Rory: te refieres a Shift + F7. – SLaks

Respuesta

3

Sus formularios probablemente hereden una clase de formulario personalizada.

Puede haber momentos en que VS no se da cuenta de que la clase personalizada hereda Form. (por ejemplo, si la solución no se construye).

Intente reconstruir la solución.

Si desea una respuesta más concreta, proporcione más detalles.

+0

Sí, parece ser el problema ... Cambiar el tipo base a Formulario, y luego volver a MyCustomDialog ayuda, pero ¿hay alguna manera de hacer que VS analice si mi formulario es un formulario? – ironic

+0

Lo que es aún más extraño es que MyCustomDialog se encuentra en la biblioteca que no ha fallado durante la compilación durante mucho tiempo. – ironic

+1

Trate de limpiar y reconstruir la solución, siempre solía solucionar ese problema cuando lo tenía. – Rory

1

Solía ​​tener ese problema mucho en VS 2003. Cada vez que sucedía, abrí el archivo .csproj en el Bloc de notas y cambié el de la clase a "Formulario".

0

Tuve este problema y encontré una solución. De alguna manera, mi archivo .csproj se corrompió y faltaba una subclave en el XML. Digamos por ejemplo que tengo un control de usuario llamada MyControl.cs, mi XML dañado en .csproj parecía:

<Compile Include="MyControl.cs" /> 

me fijo por lo que ahora se lee:

<Compile Include="MyControl.cs"> 
    <SubKey>UserControl</SubKey> 
</Compile> 

MyControl.cs se lee como (esto es sólo para completar):

public partial class MyControl : UserControl 
{ 
} 

Después de hacer ese cambio y guardar Visual Studios ahora lee correctamente mi control y carga al diseñador. No tengo idea de cómo se corrompió este archivo.

4

He tenido este problema también, he modificado el archivo .csproj para solucionarlo. En mi archivo .csproj he modificado esta línea de código:

<Compile Include="FormName.cs" /> 

Con este código:

<Compile Include="FormName.cs"> 
    <SubType>Form</SubType> 
</Compile> 
5

Esto ocurrirá si la primera clase en el archivo de origen es NO la "clase parcial "para tu forma. En este caso, el ícono de tipo de archivo en el explorador de soluciones se mostrará inicialmente como un formulario, pero VS lo cambiará al ícono del código "C#" después de cargar el archivo y también eliminará la opción "Ver Diseñador" del menú emergente. Al menos en VS2015 esto puede solucionarse comentando el código ofensivo y guardando el archivo, en cuyo momento VS restaurará el icono de formulario esperado.

+0

Este fue definitivamente mi problema. Buena llamada. –

0

Si tiene varias clases en el archivo (qué vergüenza), asegúrese de que la clase Form sea la primera en el archivo. (No me preguntes cómo sé esto.)

Cuestiones relacionadas