Héritage control WinForm MenuItem [Résolu]

Signaler
Messages postés
394
Date d'inscription
mercredi 30 janvier 2002
Statut
Membre
Dernière intervention
4 novembre 2009
-
Messages postés
394
Date d'inscription
mercredi 30 janvier 2002
Statut
Membre
Dernière intervention
4 novembre 2009
-
Bonjour,

je souhaite ajouter une propriété ID par ex à un control MenuItem..




Je me suis dis qu'il fallait créer une classe MenuItemPerso qui
héritait de MenuItem et de lui ajouter une propriété publique ID.. Ca à
l'air de fonctionner, mais j'ai l'impression que je perds les méthode
de base..



Bizarre.. car quand je fais un new de mon objet MenuItemPerso, il ne me prend pas les paramètres habituels d'un objet MenuItem.



Suis je clair ?

Quelqu'un aurait une idée ?



Merci

Cbu

3 réponses

Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
36
Salut, les constructeurs sont masqués:

public class MyMenuItem : MenuItem
{
private static int id = 0;


public MyMenuItem( ) : base( )
{
id++;
}


public MyMenuItem( string text ) : base( text )
{
id++;
}
}
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
36
Si c'est juste pour un ID tu peux utiliser la propriété Tag du contrôle.
Messages postés
394
Date d'inscription
mercredi 30 janvier 2002
Statut
Membre
Dernière intervention
4 novembre 2009
1
Exactly ce qu'il me manquait.. En fait non c'est pour bien d'autres propriétés.. Mais j'ai voulu aller au plus simple ici.
Merci pour ta réponse.

EN fait je suis en Vb.Net et je pensais bien qu'ici j'allais trouver une réponse.. Sur Vbfrance.com cela reste beaucoup trop du vb ou vba

Voila ma class héritée :



Public Class TeamMenuItem : Inherits MenuItem


Private _ID As Integer


Public Sub New(ByVal text As String, ByVal onClick As System.EventHandler)
MyBase.New(text, onClick)
End Sub


Public Sub New(ByVal text As String)
MyBase.New(text)
End Sub


Public Property ID() As Integer
Get
Return _ID
End Get
Set(ByVal Value As Integer)
_ID = Value
End Set
End Property


End Class

Merci encore ;)
Cbu