Cómo agregar propiedades personalizadas y eventos para un control de decir de cuadro de texto o botón

Quiero agregar una propiedad personalizada a un botón en la ventana de formulario.
Actualmente estoy usando el siguiente código para crear mi lógica. pero quiero crear un valor de enumeración para un botón de control.

btnPartyDetails.Text = "View";
{}
btnPartyDetails.Text = "Add";
{}    
btnPartyDetails.Text = "Delete";
{}
btnPartyDetails.Text = "Edit";
{}

Quiero realizar alguna acción en función de estos valores y quiero hacer una propiedad personalizada para el botón de modo de poder usar enum en lugar de texto partido.

btnPartyDetails.ActionType= ActionType.View;
{}
btnPartyDetails.ActionType= ActionType.Add;
{}    
btnPartyDetails.ActionType= ActionType.Delete;
{}
btnPartyDetails.ActionType= ActionType.Edit;
{}

Quiero hacer algo como esto, donde ActionType será mi enum.

También quiero crear eventos personalizados basados en el valor establecido. ¿Cómo puedo hacer esto ?

OriginalEl autor Shantanu Gupta | 2010-01-13

3 Kommentare

  1. 5

    Usted tendrá que crear un control personalizado y, a continuación, heredar de la clase button. A continuación, crear sus propiedades personalizadas y /o eventos.

    De verificación este o este de MSDN

    OriginalEl autor Gabe

  2. 3

    Puede heredar de control que desee y se extienden sin embargo que usted desea. AFAIK ninguno de los controles son clases cerradas en winform. Así que usted podría agregar más propiedades y eventos.
    Algo así como:

    public class MyTextBox : System.Windows.Forms.TextBox {
    
    public string MetaMessage {get;set;}
    
    public event SomeCoolEventHandler CoolEvent;
    public delegate SomeCoolEventHandler(object sender, CoolEventArgs args);
    }
    
    public class CoolEventArgs: EventArgs{
    
    ....
    }

    OriginalEl autor Perpetualcoder

  3. 0

    Usted necesita para derivar una nueva clase de botón

    OriginalEl autor Giorgi

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea