Modifier un controle depuis un thread

Soyez le premier à donner votre avis sur cette source.

Vue 8 992 fois - Téléchargée 551 fois

Description

J'ai vu le code proposé par bestouinouin pour modifier une propriété d'un controle depuis un thread : je popose ici une adaptation de cette idée qui permet de le rendre beaucoup plus générique. Ce n'est sans doute pas complet, mais on peut mettre à jour les propriétés et on peut aussi accéder à la méthode Add (pour la propriété Items ou Controls).

Conclusion :


L'utilisation de la classe se fait en 2 temps :
1) Déclaration d'une instance :
Thread_Control monCtrl = new Thread_Control();

2) Appel de la méthode UpdatreProperty() :
monCtrl.UpdatreProperty(Nom_du_Form, Nom_du_Control, Nom_de_la_propriété, Valeur_souhaitée, true); /* true ou false */

Prototype de la méthode :
/// <summary> Fonction de mise à jour d'une propriété d'un controle en asynchrone (attention à la casse dans les noms). </summary>
/// <param name="FormName"> Nom du formulaire. </param>
/// <param name="controlName"> Nom du controle modifié. </param>
/// <param name="PropertyName"> Nom de la propriété. </param>
/// <param name="TxtValue"> Valeur souhaitée. </param>
/// <param name="Force"> Permet la mise à jour du controle même si celui-ci n'est pas "enabled". </param>
public void UpdatreProperty(string FormName, string controlName, string PropertyName, object TxtValue, bool Force)

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
16
Date d'inscription
mercredi 24 mai 2006
Statut
Membre
Dernière intervention
21 février 2009

Je retire mon précédent commentaire, ça marche bien, c'est moi qui utilisait mal la méthode Invoke.

Il faut cependant récupérer la méthode par baseType car AppendText fait partie de TextBoxBase et non richTextBox.
Messages postés
16
Date d'inscription
mercredi 24 mai 2006
Statut
Membre
Dernière intervention
21 février 2009

Très bonne source.

Cependant ne marche pas si j'ai un RichTextBox et que je veux appeler la méthode AppendText(string);

une idée ?
Messages postés
18
Date d'inscription
mercredi 13 août 2003
Statut
Membre
Dernière intervention
4 janvier 2007

Très bon travail. Je ne comprend pas tout mais tu as poussé la chose assez loin. bravo ...
Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
23 janvier 2016
20
Super !
J'avais justement demandé un éclaircissement sur ce sujet dans un source que j'avais déposé (Simple_batch, catégorie Application), concernant l'analyse de coloration d'un control rtf par un thread. Comme quoi tout vient à point à qui sait attendre.
Indirectement, merci à toi. (je te mets 9/10)

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.