RichTextBox [Résolu]

Signaler
Messages postés
3
Date d'inscription
dimanche 30 janvier 2005
Statut
Membre
Dernière intervention
5 février 2006
-
Messages postés
412
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
13 août 2007
-
J'utilise un Richtextbox pour afficher les messages arrivant du serveur dans une appli client-serveur. La quantite de message etant importante, le contrôle n'arrete pas de faire des scroll verticaux et ça rame de + en +. pour afficher j'utilise le code suivat
myRichTextBox.text = myRichTextBox + receivedData
myRichTextBox.SelStart = len(myRichTextBox)
N'y aurait t-il pas un un moyen pour ne pas avoir ce qui est decrit dessus.

6 réponses

Messages postés
412
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
13 août 2007

Je me suis toujours servi de cette technique, même en ajoutant plusieurs lignes par secondes, ça n'a jamais ramé..

-------------------------
Trambert le vert
Messages postés
412
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
13 août 2007

Pour scroller ton RichTextBox vers le bas, utilise l'API


using System.Runtime.InteropServices;
.

.
.


[DllImport("User32.dll")]


private
static
extern
int SendMessage(IntPtr hWnd,
uint Msg,
uint wParam,
uint lparam);


public
void ScrollToBottom (Control control)


{


SendMessage(control.Handle,0x0115,7,0);


}



-------------------------
Trambert le vert
Messages postés
721
Date d'inscription
dimanche 10 juin 2001
Statut
Membre
Dernière intervention
27 mars 2011
6
Un scroll moins fréquent ....
Messages postés
412
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
13 août 2007

Et si ti tiens absolument à faire un scoll moins fréquent, bien que je n'en voie pas l'intérêt dans l'immédiat, tu peux toujours faire une itération

int iteration = 0;
public void AddMonText (string text)
{
richTextBox1.AppendText (text);

iteration ++;

if (iteration > 10)
{
ScrollToBottom (richTextBox1);
iteration = 0;
}
}

-------------------------
Trambert le vert
Messages postés
3
Date d'inscription
dimanche 30 janvier 2005
Statut
Membre
Dernière intervention
5 février 2006

mais ce n'est pas quelques lignes à la secondes mais plusieurs dizaines et ça rame fort à la faim!!!
Messages postés
412
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
13 août 2007

Utilise la méthode AppendText de ton richText box, et si tu dépasse les capacités (ce qui fait beaucoup beaucoup beaucoup de lignes lol), tu peux toujours sauver le contenu dans un fichier et le remettre à zéro..

-------------------------
Trambert le vert