Port szeregowy - przypisanie odebranego ciągu do TextBox

0

Witam

Chciałem napisać sobie program do komunikacji z autem poprzez OBD i utknąłem. Będziecie wiedzieć jak z funkcji DataReceivedHandler wyświetlić zmienną outdata w TextBoxie ? Wewnątrz niej TextBoxy nie są dostępne.

 private void button1_Click(object sender, EventArgs e)
        {
            int Przerwa = 2000;
            string NumerATSP = textBox2.Text;

            SerialPort Port = new SerialPort("COM3", 9600, Parity.None,8, StopBits.One);
            Port.Open();
            Port.Write("ATZ");
            System.Threading.Thread.Sleep(Przerwa);
            Port.Write("ATE0");
            System.Threading.Thread.Sleep(Przerwa);
            Port.Write("ATL0");
            System.Threading.Thread.Sleep(Przerwa);
            Port.Write("ATH1");
            System.Threading.Thread.Sleep(Przerwa);
            Port.Write(NumerATSP);
            System.Threading.Thread.Sleep(Przerwa);
            Port.Write("010C");
            System.Threading.Thread.Sleep(Przerwa);
            Port.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);                      
        }

        public static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
        {
            SerialPort sp = (SerialPort)sender;
            string outdata = sp.ReadExisting();
        }
0

Cześć,
Event Ci nie przychodzi, czy masz jakiś inny objaw? Jeżeli to pierwsze to, wyciągnij instancję port poza obsługę przycisku (metoda Click), a w obsłudze tylko ją zainicjalizuj. Evet może Ci nie przyjść, bo stos się zwalnia po wyjściu z funkcji.
Pozdrawiam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1