Héritage et label [Résolu]

Messages postés
221
Date d'inscription
mercredi 20 février 2008
Dernière intervention
17 mars 2012
- - Dernière réponse : l0r3nz1
Messages postés
221
Date d'inscription
mercredi 20 février 2008
Dernière intervention
17 mars 2012
- 19 oct. 2010 à 21:08
Salut,

je suis un habitué de VB et je me met à C#.

sous VB j'ai l'habitude de créer des classes d'objets contenant des controles avec gestion des évènements. Seulement avec C le mot clef Label me renvoi une erreur que ce soit pour un héritage ou un déclaration:

public Label lab = new Label(); //renvoi l'erreur Erreur 1 Le type ou le nom d'espace de noms 'Label' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?)

class mylabel : Label // idem

1)Pourriez vous m'indiquer ou est l'erreur svp.
2) quel est l'équivalent du withevent de VB?


Merci d'avance.
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Dernière intervention
15 juillet 2011
3
Merci
Salut

As-tu mis un using System.Windows.forms?

Travailles-tu avec vc#2005 ou 2008 ou 2010?
Si Oui il y a normalement des aides peut aider à programmer (soulignement sous la variable
qui font apparaoit un menu contextuel)

Pour la question 2, il n'y pas de withevents en c#


Il faut faire l'abonnement
this.Load += new System.EventHandler(this.Form1_Load);

Permet de s'abonner sur l'evenement Load
et que la fonction.Form1_Load sur cette appel.
http://msdn.microsoft.com/fr-fr/library/ms366768%28VS.80%29.aspx

Ces abonnements sont cachés la plupart du temps dans le .designer (classe partial) de la classe.

Bon dev

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de nhervagault
Messages postés
221
Date d'inscription
mercredi 20 février 2008
Dernière intervention
17 mars 2012
0
Merci
merci!

Je n'avais pas fait l'appel using ... forms!

Il y a quelques diférences avec VB je vais vite m'habituer!
Commenter la réponse de l0r3nz1
Messages postés
221
Date d'inscription
mercredi 20 février 2008
Dernière intervention
17 mars 2012
0
Merci
j'ai quand même un souci!

j'ai crée une classe : class link_combotext:Form
elle contient comme variables:
public ComboBox combobox;
public TextBox txt;

lorsque que je selectionne un item de combobox j'agis sur le textBox. et comme ça pour tous les formulaires pour lesquels je voudrais faire le même lien,

1. j'hériterais de la classe link_combotext et je préciserais qui sont ses controles combobox et txt et c'est tout!
public partial class form_reel : link_combotext
public form_reel ()
{
InitializeComponent();
this.combo = this.lecombomitmanuellement;
...
}



ou alors

j'abonne les controles aux evenements (équivalent de withevent)?

j'ai un problème dans les deux cas:
1. la classe link_combotext est moins accessible que form_reel = erreur accessibilité incohérente
2. je ne sait pas où et comment faire "l'abonnement" dans ce cas la.
Commenter la réponse de l0r3nz1
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Dernière intervention
15 juillet 2011
0
Merci
J'ai pas compris la demande.

button1.Click += button1_Click;

Pour l'abonnement
Commenter la réponse de nhervagault
Messages postés
221
Date d'inscription
mercredi 20 février 2008
Dernière intervention
17 mars 2012
0
Merci
en fait j'ai bien trouvé:
//this.Load += new System.EventHandler(this.Form1_Load);
qui est situé dans le .Designer de Form1 et je suppose que pour qu'un Form2 soit abonné aux évènement de Form1 il faut ajouter cette ligne sous le:
//this.Load += new System.EventHandler(this.Form2_Load);
du .designer du form2!

mais ce que je veux savoir c'est s'il est possible de remplacer le "withevent" de vb d'une manière ou d'une autre.

merci d'avance!
Commenter la réponse de l0r3nz1
Messages postés
221
Date d'inscription
mercredi 20 février 2008
Dernière intervention
17 mars 2012
0
Merci
bien sûr j'avais mal compris!

this.moncontrole_ou_form.evenement += new System.EventHandler(this.lafonctionsievenement);

ça remplace le withevent!

merci nhervagault, j'ai mis du temps à comprendre!
Commenter la réponse de l0r3nz1

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.