Ciao Marco
Prova a sostituire questo codice
private void _Leggi()
{
byte[] ByteLetti = new byte[1];
do {
if (sp.BytesToRead > 0) {
Array.Resize(ref ByteLetti, sp.BytesToRead);
sp.Read(ByteLetti, 0, ByteLetti.Length);
s_ricevi = System.Text.Encoding.ASCII.GetString(ByteLetti);
}
Thread.Sleep(1);
//Questo serve a non impegnare troppo il processore
} while (true);
}
con questo
public delegate void Aggiorna(string argValue);
private void _Leggi()
{
byte[] ByteLetti = new byte[1];
do {
if (sp.BytesToRead > 0) {
Array.Resize(ref ByteLetti, sp.BytesToRead);
sp.Read(ByteLetti, 0, ByteLetti.Length);
s_ricevi = System.Text.Encoding.ASCII.GetString(ByteLetti);
this.Invoke(new Aggiorna(_Aggiorna), s_ricevi);
}
Thread.Sleep(1);
//Questo serve a non impegnare troppo il processore
} while (true);
}
private void _Aggiorna(string argValue)
{
label1.text = argValue;
}
Ovviamente devi aggiungere una label al tuo Form.
Facci sapere...