Author Topic: problema di refresh su richtextbox  (Read 3289 times)

0 Members and 1 Guest are viewing this topic.

Offline 82_marco

  • Novizio del forum
  • *
  • Posts: 4
  • Karma: 0
  • Novizio
problema di refresh su richtextbox
« on: 23 February , 2012, 21:54:49 PM »
Ciao a tutti,
Mi chiamo Marco, sono un nuovo iscritto,

mi sto appassionando al c# ed 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

Code: [Select]
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:

Code: [Select]
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:

Code: [Select]
     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

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24