2011-01-11 22 views
10

Al hacer doble clic en Control en el Diseñador de Visual Studio, se suscribe automáticamente a algunos event y se genera un controlador de eventos en el código detrás del archivo.Especificar evento de doble clic para un control en Visual Studio Designer

hacer doble clic en los siguientes controles se suscribe al evento correspondiente

  • UserControl - Loaded
  • Button-Haga clic
  • TextBox-TextChanged
  • Grid-n incluso t
    etc.

¿Cómo se especifica, se trata de un entorno de Visual Studio? ¿Se puede omitir esto y cómo puede especificar a qué evento desea vincular Double-Click para, p. Ej. un control personalizado?

Gracias

Respuesta

13

Hay una DefaultEventAttribute que controla puede especificar. El diseñador sabe leer este atributo y lo usa para determinar qué evento usar como predeterminado.

[DefaultEvent("DoubleClick")] 
public class MyClass { 

    public event EventHandler DoubleClick; 

} 

También hay una DefaultPropertyAttribute que es significativamente menos útil. Simplemente determina el nombre de propiedad predeterminado para seleccionar en la cuadrícula de propiedades cuando se selecciona el control en el diseñador.

+0

Y si desea que el usuario final haga doble clic en su control para acceder a la función, use "DoubleClick" en lugar de "Haga clic en" –

+0

¡Gracias! No vi esto cuando busqué 'TextBox' con Reflector, solo vi' ContentProperty ("Text") 'etc. De todos modos, extra + para DefaultPropertyAttribute, dos en uno :) –

Cuestiones relacionadas