Pages: [1]   Go Down
Author Topic: [OT] Problema di refresh su richtextbox  (Read 796 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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:
Code:
       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:
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:
      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
« Last Edit: February 23, 2012, 04:55:36 pm by 82_marco » Logged

0
Online Online
Shannon Member
****
Karma: 117
Posts: 10106
:(){:|:&};: TOX id: fcb8e918bef08581e23f6ddf9d4dba77697c25b217bf372736ed959a95fde36df5b8c5b90fbb
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
Newbie
*
Karma: 0
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21624
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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  smiley-razz

Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho modificato il titolo :-)
Per favore riuscite a darmi un aituo? non so proprio come gestire questo problema :-(
Logged

Bergamo
Offline Offline
God Member
*****
Karma: 1
Posts: 663
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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?)
Logged

lucadentella.it

Offline Offline
Newbie
*
Karma: 0
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

si uso un thread separato
cosa significa solution di esempio?
se vuoi allego tutto il progetto
« Last Edit: February 23, 2012, 05:28:47 pm by 82_marco » Logged

Bergamo
Offline Offline
God Member
*****
Karma: 1
Posts: 663
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

lucadentella.it

0
Online Online
Shannon Member
****
Karma: 117
Posts: 10106
:(){:|:&};: TOX id: fcb8e918bef08581e23f6ddf9d4dba77697c25b217bf372736ed959a95fde36df5b8c5b90fbb
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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..

Logged

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
Newbie
*
Karma: 0
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ok domani lo preparo

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

Pages: [1]   Go Up
Jump to: