Je travaille sur une classe dérivée de la classe UserControl
. Cette classe ajoute les attributs [Browsable(false)]
et [EditorBrowsable(EditorBrowsableState.Never)]
à l'événement TextChanged
hérité de la classe Control
. Mon nouveau contrôle est comparable à TabPage
; il est utilisé à l'intérieur d'une autre classe comparable au TabControl
. La raison pour laquelle cela est important est parce que cela signifie que j'ai besoin de l'utilisateur du contrôle pour pouvoir accéder à cet événement. Dans réflecteur .NET, nous voyons que le contrôle TabPage
(qui hérite de Panel
, qui ajoute également ces deux attributs) « l'emporte sur » ces deux attributs avec le code suivant:Ajouter un attribut à l'événement de base
[Browsable(true), EditorBrowsable(EditorBrowsableState.Always)]
public event EventHandler TextChanged;
je copiais ceci dans mon projet, et dans la mesure où je peux dire que cela fonctionne correctement, mais le compilateur me donne un avertissement: "'System.Windows.Forms.Frameset.FunctionPanel.TextChanged' masque le membre hérité 'System.Windows.Forms.UserControl.TextChanged'. mot-clé si la dissimulation était prévue. ". Je ne veux pas masquer l'ancien événement TextChanged; Je veux juste supprimer l'attribut Browsable(false)
. Bien que le fait de cacher l'ancien événement semble faire le travail à la surface, cela semble être une façon laide et détournée de le faire. Y a-t-il un moyen de le faire sans cacher l'ancien événement? Et sinon, est-il possible d'empêcher le compilateur de me donner un avertissement?
Merci à l'avance, Brandon
Merci! C'est exactement ce que je cherche! – aboveyou00