MDI et Label

Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010
- - Dernière réponse : ddove53
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010
- 16 avril 2007 à 09:10
Bonjour,j'ai 1 form1 parent et 1 form2 fille.Au niveau de ma form1 j'ai un menu de langues en francais et en anglais.Au niveau de ma form2 j'ai un label où je mets un texte.
Je voudrai faire:
Si francais,je mets mon texte au niveau du label en français
si anglais,je mets mon texte en anglais.
Le probleme c'est que la form1 ne voit pas le label de la form2.
Comment faire pour que la form1 voit le label de la form2?
Merci.
Afficher la suite 

8 réponses

Messages postés
273
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
6 février 2009
1
0
Merci
Salut,
Tu as beaucoup plus simple si tu veux utiliser des langues différentes dans ton appli :  la "Localisation".
cf tutorial : http://morpheus.developpez.com/localisationdotnet/

Sinon, si tu ve que ton form1 voit ton label, il faut que le mette en public ou internal... ou ajouter une propriété à ta class form2 qui renvoie directement le texte de ton label :
public string LabelText
{
   get
   {
      return label1.Text;
   }
   set
   {
      label1.Text = value;
   }
}

<hr />
ZeBobo5
N'oubliez pas de cloturer votre post.
Commenter la réponse de zebobo5
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010
0
Merci
Le probleme c'est que si je déclare mon Ressource manager dans le form1,je n'arrive pas à l'utiliser pour le form2.
Commenter la réponse de ddove53
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010
0
Merci
Meme avec les propriétés,j'ai pas pu voir le labeltext de mon form2 dans le form1.Pouvez vous m'aider?


 
Commenter la réponse de ddove53
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010
0
Merci
Dans mon form2 j'ai mis:

public
string Label1Text
{

get{
return label1.Text;}

set{label1.Text =
value;}
}
Form1
myform1 =
new
Form1();
myform1. Blabla  =
this.Label1Text;
et dan ma form1 je mets:

public
string Blabla
{
get {
return  Blabla ; }

set { Blabla =
value; }
}
Et à chaque fois ca me met une erreur d'exception.

Avez-vous la solution?
Merci.
Commenter la réponse de ddove53
Messages postés
77
Date d'inscription
lundi 5 septembre 2005
Statut
Membre
Dernière intervention
14 février 2008
0
Merci
Salut, ca fait un moment que j'ai pas fais de C#, alors ca risque d'etre une explication confuse... mais bon j'me souvient avoir reussi ce genre de truc

Tu peux créer une classe "Controleur" dans laquelle tu declare tes objets...genre :

Form1 myform1 = new Form1();
Form2 myform2 = new Form2()

Puis, tu met ta procedure Main() qui affichera ta fenetre principale

public main()
{
   myform1.show()
}

ca doit etre un truc dans le genre

Grace à cette classe controleur, tu pourra accéder au données contenu dans chacune de tes form par le biais d'une instruction du type et ce à partir de n'importe qu'elle form ou classe :

label2.text  = controleur.myform1.label1.text;

Je sais pas si c'est bien clair...
Commenter la réponse de bmikl59
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010
0
Merci
salut,je sais pas trop ce qu'est une classe controleur.Peux tu me donner un exemple?Je trouve pas un exemple ou une explication dessus.Merci
Commenter la réponse de ddove53
Messages postés
77
Date d'inscription
lundi 5 septembre 2005
Statut
Membre
Dernière intervention
14 février 2008
0
Merci
salut

ben quand je dis controleur, tu paux l'appeler comme tu veux
moi je dis controleur car c'est elle qui va controler l'execution du programme mais tous autre nom est possible

C'est une classe a part entiere. Dans ton explorateur de projet, tu as tes form (form1, form2...) et des classes. C'est ici que tu insere ta classe.

Cette classe controleur doit contenir le main. C'est à dire la procedure de demarrage du programme.

exemple (syntaxe à verifier) :

class Controleur
{
   Form1 myform1 = new Form1();
   Form2 myform2 = new Form2();

   public main()
   {
      myform1.show()
   }

}

Dans le code de ta form2, tu peux, dans l'evenement load() recuperer des données de form1 en utilsant l'instruction

controleur.myform1.label1.text;

Grace à cette instruction, tu remonte au controleur, celui ci contient la variable myform1 de type form1. Cette variable connait donc les objet contenu dans ta form (label, bouton...) et tu peux donc utiliser leur propriete.
Commenter la réponse de bmikl59
Messages postés
623
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
15 juin 2010
0
Merci
Avec cette méthode,y a des erreurs
Commenter la réponse de ddove53