2016-10-05 1 views
-1

Disons que j'ai un contrôle modifié d'une zone de texteC# Event personnalisée de contrôle modifié

public class resButton : TextBox 
{ 

    [Browsable(true)] 


    [Description("state of TextBox"), Category("Data")] 
    public string textBoxState 
    { 
     get { return this.AccessibleDescription; } 
     set { 
      this.AccessibleDescription = value; 
      } 
    } 
} 

Et j'ai ajouté un propriétée personnalisé qui est basé sur la AccessibleDescription de ce contrôle.

Comment ajouter un événement personnalisé à ce contrôle? Je voudrais faire un événement personnalisé qui se déclenche lorsque "textBoxState" est modifié.

Répondre

0
public class resButton : TextBox 
{ 

    [Browsable(true)] 


    [Description("state of TextBox"), Category("Data")] 
    public string textBoxState 
    { 
     get { return this.AccessibleDescription; } 
     set 
     { 
      this.AccessibleDescription = value; 
      if (yourEvent != null) 
       yourEvent(this, new EventArgs()); 
     } 
    } 

    public event EventHandler yourEvent; 
} 
public class resButtonUsage 
{ 
    resButton resbuttonInstance; 
    public resButtonUsage() 
    { 
     resbuttonInstance = new resButton(); 
     resbuttonInstance.yourEvent += resbuttonInstance_yourEvent; 
    } 

    void resbuttonInstance_yourEvent(object sender, EventArgs e) 
    { 
     // Your implementation 
    } 
} 

Vous devez déclarer un événement comme cet exemple avec un délégué existant (EventHandler) ou votre délégué personnalisé. après l'avoir déclarée et l'avoir appelée dans setter de votre propriété, vous pouvez l'utiliser en dehors de cette classe en créant une instance et en déclarant cet événement.

+0

Pourriez-vous donner un exemple complet afin que je garde la tête libre? Merci! – Niiw

+0

Je modifie ma réponse et crée la classe resButtonUsage pour expliquer comment utiliser votre événement. –

+0

Super merci, je le comprends maintenant! – Niiw