Text qui ne s'actualise pas quand je le change
LolixDudu
Messages postés
43
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je suis actuellement en train de créer une application en C# avec le logiciel Visual Studio.
J'ai créé un objet TextBox que j'ai appelé "Message_Box" qui joue le rôle de console.
Voici mon code (en simplifié) :
Mes fonctions ne s’appellent évidement pas "AA" et "BB" mais c'est un moyen simple de vous expliquer mon problème. AA se déclenche quand j'appuie sur un bouton (pour l'instant ça marche).AA appelle BB qui demande a écrire un message dans ma fausse console avant de charger un fichier(et c'est la ou ça coince). En théorie, mon message devrait apparaître avant que BB se mette a charger le fichier. Mais non (et c'est tout le problème), mon message ne s'affiche que quand BB a finis son travail.
J'ai essayé le "UpdateLayout" et d'autre chose mais cela n'a pas fonctionné.
Je vous remercie d'avance de votre aide et je vous serait très reconnaissant
PS : Je n'ai pas essayé qu'avec un TextBox, j'ai aussi essayé avec le Label et le TextBox ;)
Je suis actuellement en train de créer une application en C# avec le logiciel Visual Studio.
J'ai créé un objet TextBox que j'ai appelé "Message_Box" qui joue le rôle de console.
Voici mon code (en simplifié) :
private void AA(object sender, RoutedEventArgs e) { b(); } void BB() { Message("Ceci est Un exemple"); LoadFile(filePath); // le programme continue en effectuant quelques boucles } void Message(string msg) { Message_Box.Text = msg + (char)13 + Message_Box.Text; }
Mes fonctions ne s’appellent évidement pas "AA" et "BB" mais c'est un moyen simple de vous expliquer mon problème. AA se déclenche quand j'appuie sur un bouton (pour l'instant ça marche).AA appelle BB qui demande a écrire un message dans ma fausse console avant de charger un fichier(et c'est la ou ça coince). En théorie, mon message devrait apparaître avant que BB se mette a charger le fichier. Mais non (et c'est tout le problème), mon message ne s'affiche que quand BB a finis son travail.
J'ai essayé le "UpdateLayout" et d'autre chose mais cela n'a pas fonctionné.
Je vous remercie d'avance de votre aide et je vous serait très reconnaissant
PS : Je n'ai pas essayé qu'avec un TextBox, j'ai aussi essayé avec le Label et le TextBox ;)
A voir également:
- Text qui ne s'actualise pas quand je le change
- Change dns - Guide
- Sms to text - Télécharger - Sauvegarde
- Change qwerty to azerty - Guide
- Les textes ne doivent pas être en retrait à droite et à gauche - Guide
- Facebook piraté et adresse email changé - Guide
4 réponses
Merci mais pour une raison inconnue, je n'y ai pas accès.
J'ai trouvé qq qui marche, c'est le : System.Windows.Forms.Application.DoEvents();
Il permet d’accomplir toute les taches en attentes avant de faire autre chose et ça marche nikel
J'ai trouvé qq qui marche, c'est le : System.Windows.Forms.Application.DoEvents();
Il permet d’accomplir toute les taches en attentes avant de faire autre chose et ça marche nikel
Bonsoir,
il n'y a pas de méthode Refresh pour les textbox en C#.
Le problème, je pense, vient du fait que
L'utilisation de DoEvents est un palliatif quand on ne trouve pas de solution "plus propre".
Ton calcul est peut-être trop gourmand, auquel cas, il serait judicieux de le faire dans un thread dédié.
il n'y a pas de méthode Refresh pour les textbox en C#.
Le problème, je pense, vient du fait que
// le programme continue en effectuant quelques bouclesprend la priorité sur l'affichage.
L'utilisation de DoEvents est un palliatif quand on ne trouve pas de solution "plus propre".
Ton calcul est peut-être trop gourmand, auquel cas, il serait judicieux de le faire dans un thread dédié.
Il existe le backgroundworker https://webman.developpez.com/articles/dotnet/introbackroundworker/
Le thread classique https://emerica.developpez.com/csharp/threads/
Les pool de thread https://fdorin.developpez.com/tutoriels/csharp/threadpool/part1/
Le thread classique https://emerica.developpez.com/csharp/threads/
Les pool de thread https://fdorin.developpez.com/tutoriels/csharp/threadpool/part1/
Il existe bel et bien une méthode Refresh pour les textbox en C# : https://docs.microsoft.com/en-us/dotnet/api/system?redirectedfrom=MSDN&view=netframework-4.8windows.forms.textbox(v=vs.110).aspx