[OT] Problema di refresh su richtextbox

Ciao a tutti,
Mi chiamo Marco, sono un nuovo iscritto,

Ho un piccolo problema con una richtextbox da cui non riesco ad uscirne
quando vado ad aggiornare una riga (nel mio caso parto dal quinto carattere) questa lampeggia partendo dal quinto carattere, mentre quelli prima no.
Non sono riuscito a trovare nessuna soluzione

questo e' il metodo con cui eseguo l aggiornamento:

        private delegate void WriteToLineDelegate(int lineNumber, string text);
        private void WriteToLine(int lineNumber, string text)
        {
            int pos = richTextBox1.GetFirstCharIndexFromLine(lineNumber);
            richTextBox1.Select(pos + 5,richTextBox1.Lines[lineNumber].Length - 5);
            richTextBox1.SelectedText = text;
        }

Con questo codice la inizializzo:

System.Text.StringBuilder builder = new System.Text.StringBuilder();
            for (int i = 0; i < 127; i++)
            builder.AppendLine("P" + (i + 1) + "      ");
            richTextBox1.Text = builder.ToString();

Qua effettuo la chiamata al metodo:

       while (true)
            {    
                 ..........

                          if (prot2.CheckSum(s_ricevi.Substring(0, 18)) == s_ricevi.Substring(18, 2))
                        {
                            periferica = string.Concat("DI:", DI1, DI2, DI3, DI4, DI5, DI6, DI7, DI8, " DO:", DObin, " AI1:", AI1, " AI2:", AI2, " TI1:", TI1, " TI2:", TI2, " ", s_ricevi.Substring(0, 19));
                        }
                        else
                        {
                            periferica = ("");
                        }

                        BeginInvoke(new WriteToLineDelegate(WriteToLine), (int)s_ricevi[1] - 100 - 1, periferica);
                }
                
                Thread.Sleep(25);

Spero in un vostro aiuto perche' non so proprio come fare
Grazie

ma che linguaggio di programmazione è? che centra con arduino?

e' c#, avevo visto che ci sono dei post a riguardo, se mi sono sbagliato scusatemi

Sì, si può chiedere anche in merito alla programmazione lato PC ma, essendo un forum sull'Arduino, sarebbe bene mettere un bel [OT] nel titolo del thread perché sei un po' off topic :stuck_out_tongue:

Ho modificato il titolo :slight_smile:
Per favore riuscite a darmi un aituo? non so proprio come gestire questo problema :frowning:

ciao

il fatto che usi un metodo delegate per aggiornarla significa che stai lavorando in un thread separato?
che significa "lampeggia dal quinto carattere"? riesci ad allegare una solution di esempio (VS2010?)

si uso un thread separato
cosa significa solution di esempio?
se vuoi allego tutto il progetto

sì va bene, in VS un "progetto" (o meglio una famiglia di progetti) va sotto il nome di solution 8)
se è complesso e composto da molte classi, magari riesci ad "alleggerirlo" e fare un piccolo progetto che mostra solo il problema?

cavoli sto c# è quasi identico al java...

ad occhio direi che aggiorni il campo troppo spesso: non stai usando openGX o directX, aggiornare la textbox più di 20/25 volte al secondo può essere pesante

prova a mettere il Thread.wait() DENTRO al while..

ok domani lo preparo

c'e' un thread.sleep, lo ho portato anche a 1000ms ma il risultato e' un lampeggio piu lento