Communication entre fenetre C#
Fermé
xmoix
Messages postés
36
Date d'inscription
vendredi 26 juin 2009
Statut
Membre
Dernière intervention
29 juin 2009
-
27 juin 2009 à 19:23
chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 - 29 juin 2009 à 11:11
chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 - 29 juin 2009 à 11:11
A voir également:
- Communication entre fenetre C#
- Fenêtre hors écran windows 11 - Guide
- Raccourci agrandir fenetre - Guide
- Fenêtre - Guide
- Fenetre privée - Guide
- Mcafee fenetre intempestive - Accueil - Piratage
11 réponses
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
27 juin 2009 à 20:29
27 juin 2009 à 20:29
Salut,
Voila une petite solution:
J'espere ca pourra t'aider!!!
@+
Voila une petite solution:
public maNouvelleFentre { //delegate pour modifier les controls de ta fenetre principale private delegate void SetPropertyDelegate(object ctl, string objName, object newValue); MaFenetrePrincipale F; //constructeur de ta nouvelle fenetre public maNouvelleFentre(MaFenetrePrincipale F) { this.F=F; } public void SetProperty(object ctl, string propName, object newValue) { Type t = ctl.GetType(); PropertyInfo pi = t.GetProperty(propName); if (pi != null) { pi.SetValue(ctl, newValue, null); } } public void ta_fonction() { ......................... ......................... //modifie le control Qui de la fenetre MaFenetrePrincipale , la propriété Text avec la valeur Mon_Text F.Invoke(new SetPropertyDelegate(SetProperty), new object[] { (object)lQui, "Text", "Mon_Text" }); }
J'espere ca pourra t'aider!!!
@+
xmoix
Messages postés
36
Date d'inscription
vendredi 26 juin 2009
Statut
Membre
Dernière intervention
29 juin 2009
2
28 juin 2009 à 16:03
28 juin 2009 à 16:03
Ok, heu, je ne comprends pas tout... des "new" dans des arguments ? Et à quoi sert "SetProperty" ?
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
28 juin 2009 à 16:15
28 juin 2009 à 16:15
Salut,
En fait, tu es obligé de passer par un delegate...une sorte de pointeur de fonction que tu dois utiliser pour la modification d'un control d'un autre thread...
Donc tu déclares ton degelate qui va pointer sur la fonction que tu vas lui passer en argument lors de l'appel:
new SetPropertyDelegate(SetProperty) //ce delegate va effectuer la fonction SetProperty, mais SetProterty prend trois arg en parametre, que tu passes dans un tableau d'objet:
new object[] { (object)lQui, "Text", "Mon_Text" });
Ainsi dans la fonction SetProperty, grâce à la reflexité, tu récupère le type de l'object passé en argument (une checkbox, une combobox, un label, une textbox etc....) et tu peux lui affecter la nouvelle valeur...
J'espere que cela a pu t'éclaircir un peu!!
@+
En fait, tu es obligé de passer par un delegate...une sorte de pointeur de fonction que tu dois utiliser pour la modification d'un control d'un autre thread...
Donc tu déclares ton degelate qui va pointer sur la fonction que tu vas lui passer en argument lors de l'appel:
new SetPropertyDelegate(SetProperty) //ce delegate va effectuer la fonction SetProperty, mais SetProterty prend trois arg en parametre, que tu passes dans un tableau d'objet:
new object[] { (object)lQui, "Text", "Mon_Text" });
Ainsi dans la fonction SetProperty, grâce à la reflexité, tu récupère le type de l'object passé en argument (une checkbox, une combobox, un label, une textbox etc....) et tu peux lui affecter la nouvelle valeur...
J'espere que cela a pu t'éclaircir un peu!!
@+
xmoix
Messages postés
36
Date d'inscription
vendredi 26 juin 2009
Statut
Membre
Dernière intervention
29 juin 2009
2
28 juin 2009 à 16:37
28 juin 2009 à 16:37
tu met tout dans la meme classe ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
28 juin 2009 à 16:39
28 juin 2009 à 16:39
Salut,
Oui
Oui
xmoix
Messages postés
36
Date d'inscription
vendredi 26 juin 2009
Statut
Membre
Dernière intervention
29 juin 2009
2
28 juin 2009 à 22:39
28 juin 2009 à 22:39
argh !!!! g travaillé toute la journée !!! pfff.. c long la prog !!!
xmoix
Messages postés
36
Date d'inscription
vendredi 26 juin 2009
Statut
Membre
Dernière intervention
29 juin 2009
2
28 juin 2009 à 23:11
28 juin 2009 à 23:11
nan, heu je crois que g compris, mais c juste que g travaillé toute la journée, un vrai bosseur, com d'ab hi hi hi !!!
xmoix
Messages postés
36
Date d'inscription
vendredi 26 juin 2009
Statut
Membre
Dernière intervention
29 juin 2009
2
29 juin 2009 à 10:00
29 juin 2009 à 10:00
Dis moi, on fait pareil entre deux fenetre non-principale ?
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
29 juin 2009 à 11:11
29 juin 2009 à 11:11
Salut,
Normalement oui.
Tu refais le même schema que le premier code envoyé, et cela devrait fonctionner!!
@+
Normalement oui.
Tu refais le même schema que le premier code envoyé, et cela devrait fonctionner!!
@+