He hecho una clase que hereda de UserControl, pero que solo quiero usar como base para subclases. ¿Hay alguna manera de evitar que el VS2008 intente editarlo en el diseñador, eso no evitará que las subclases se editen en el diseñador?¿Existe un atributo que pueda agregar a una clase para que se edite como código, no en el diseñador?
Q
¿Existe un atributo que pueda agregar a una clase para que se edite como código, no en el diseñador?
14
A
Respuesta
26
Hay. Creo que si tienes múltiples clases en un archivo, VS solo mira el primero, pero puedo estar equivocado. En cualquier caso, esto debería hacer el truco:
[System.ComponentModel.DesignerCategory("Code")]
public class SomeBaseClass : UserControl
{
//...
}
Tenga en cuenta que debe utilizar el nombre completo del atributo como se muestra arriba. Si intentas poner una declaración de uso encima y simplemente intentas "DesignerCategory", es posible que Visual Studio no lo respete.
Cuestiones relacionadas
- 1. ¿Existe un atributo que puedo usar en mi clase para contar DataGridView no crear una columna para que cuando se une a una lista <MyClass>
- 2. ¿Existe un atributo que pueda usar en una propiedad para decirle a DataGridView cómo formatear la columna?
- 3. ¿Cómo puedo decirle a Visual Studio que no rellene un campo en el código del diseñador?
- 4. Permitir que se edite una columna pero no otra
- 5. Restringir atributo personalizado para que se pueda aplicar solo a tipos específicos en C#?
- 6. ¿Puedo marcar una clase como no mi código para que el depurador pase por encima?
- 7. Agregar una columna que no existe en una consulta
- 8. ¿Cómo agrego una clase de CSS a un BoundField, para que pueda encontrarlo con jQuery?
- 9. ¿Existe alguna biblioteca de código abierto que se pueda usar para buscar en Deep Web?
- 10. ¿Agregar texto a un JTextPane sin que el usuario pueda editarlo?
- 11. ¿Existe una sintaxis más fácil/clara como Markdown que pueda compilarse en LaTeX?
- 12. ¿Existe una SqlConnection existente que pueda usar en LinqPad?
- 13. WPF: ¿Se supone que soy un diseñador?
- 14. ¿Existe un identificador único de computadora que se pueda usar confiablemente incluso en una máquina virtual?
- 15. Atributo de clase Moose que actúa como Clase :: Datos :: Incrustable
- 16. Cómo crear una clase auxiliar a la que se pueda acceder con el controlador en AngularJS
- 17. ¿Cómo hago que un enlace no se pueda hacer clic?
- 18. ¿Existe una versión de kdevelop que pueda instalar en Windows?
- 19. ¿Existe una API de Subversion que se pueda usar para programar en .NET
- 20. ¿Es posible agregar puntos de interrupción a una clase para la que no tengo el código fuente?
- 21. ¿Existe una biblioteca js que pueda generar una paleta de colores a partir de una imagen?
- 22. JQGrid: establece dinámicamente una celda para que no se pueda editar según el contenido
- 23. ¿Existe una cola rápida en la memoria que pueda usar para intercambiar elementos a medida que alcanza cierto tamaño?
- 24. ¿Existe un atributo para marcar la clase o el método para que sea seguro para subprocesos en .NET?
- 25. Cómo resolver el error del diseñador XAML: el documento contiene errores que deben corregirse antes de que el diseñador pueda cargarse
- 26. ¿existe una función o unidades como TIniFiles que no se guardarán en el archivo?
- 27. File.Exists que devuelve true para un archivo que no existe
- 28. ¿Cómo puedo explotar una tupla para que se pueda pasar como una lista de parámetros?
- 29. ToolStripControlHost que aloja un diseñador de UserControl Serializar no ocurrirá
- 30. ¿Existe una función que pueda tomar una dirección IP como cadena y decirme si es una dirección IP no enrutable?
La clase base ahora se abre como código, pero las clases derivadas * también * do. Pero si agrega una clase ficticia arriba con ese atributo, ¡funciona un encanto! – Simon
Tenga cuidado, simplemente usando '[DesignerCategory (" Code ")]' no parece funcionar (parece un error en Visual). Debe escribir el nombre completo calificado '[System.ComponentModel.DesignerCategory (" Code ")]' – Benlitz