A voir également:
- Communication entre fenetre C#
- Fenetre windows - Guide
- Fenêtre hors écran windows 11 - Guide
- Fenetre de navigation privée - Guide
- Mcafee fenetre intempestive - Accueil - Piratage
- Une erreur de communication est détectée dans le module de sécurité - Forum TNT / Satellite / Réception
11 réponses
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!!!
@+
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!!
@+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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 !!!