¿Es posible decirle a Visual Studio que no trate un archivo de origen como un"componente"? [duplicar]


Posible Duplicado:
¿Hay algún atributo que pueda agregar a una clase para que se edite como código, no en el diseñador?

Las clases con System.ComponentModel.Component en su ruta de herencia se tratan automáticamente como" componentes " dentro de Visual Studio (2008), activando un icono diferente para el archivo de origen:

Http://i48.tinypic.com/1z23wvn.png

Si bien el icono no importa realmente, el comportamiento de doble clic cambiado es realmente molesto: en lugar de abrir el código fuente en el editor de texto, Visual Studio ahora muestra una pantalla animándome a agregar componentes a mi clase arrastrándolos "desde la caja de herramientas". Yo no quiero hacer eso!

Soy consciente de que puedo hacer clic derecho en el archivo fuente y elegir "Ver código", pero cada vez que me olvido de hacer esto, estoy atrapado esperando un diálogo que es absolutamente inútil. ¿Hay alguna forma de deshabilitar el comportamiento del componente (preferiblemente en el código fuente)?

Author: Community, 2010-01-26

3 answers

¿No puedes usar el atributo DesignerCategory para decorar tu clase ?

Al decorar su clase con este atributo como se muestra a continuación, el archivo debe abrirse en 'code view' cuando haga doble clic en él:

[System.ComponentModel.DesignerCategory("Code")]
public class MyComponent
{
}
 43
Author: Frederik Gheysels,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-01-26 11:38:22

Como OregonGhost ya mencionó en su comentario, esto también sucede si haces un archivo de clase parcial a partir de un formulario.

El problema es aún más grave. Si echa un vistazo a su archivo de proyecto, puede encontrar entradas para cada archivo incluido de la siguiente manera:

<Compile Include="FormMain.cs">
  <SubType>Form</SubType>
</Compile>

Así que la solución debería ser eliminar la línea <SubType>...</SubType> porque parece ser la raíz de todos los problemas. Pero si elimina esta línea, guarde el archivo, ábralo en Visual Studio, guárdelo de nuevo y eche un vistazo de nuevo a, la ¡la línea reaparecerá!

Parece que solo hay una excepción codificada dentro de Visual Studio y esta es *.Diseñador.cs. Así que no hay solución para lograr este problema.

 4
Author: Oliver,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-01-26 11:26:33

Puede hacer clic con el botón derecho en el archivo fuente, elegir "Ver código" y luego hacer clic en "Establecer como predeterminado". Es un poco un instrumento contundente, pero si tiene más componentes falsos en su solución que componentes reales, entonces puede encontrarlo conveniente.

 0
Author: Christian Hayter,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-01-26 11:32:10