Nieprawidłowa operacja między wątkami: do formantu 'button1' uzyskiwany jest dostęp z wątku innego n

2015-02-05 18:24
0

Więc... Próbuję zrobić z arduino... żeby się komunikowało z komputerem. Pracuję nad tym, żeby arduino odpowiadało "Done Connection\n", jak komputer wyśle "Available\n".
Problem: InvalidOperationException was unhandled

Nieprawidłowa operacja między wątkami: do formantu 'button1' uzyskiwany jest dostęp z wątku innego niż wątek, w którym został utworzony.

Komponenty:
button1 [Guzik Połączenia]
serialPort1 [Port COM, narazie tylko COM3]

Potrzebny fragment kodu:

private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                serialPort1.Open();
            }
            catch (Exception)
            {
            }
            serialPort1.Write("Available\n");
        }

        private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            receivedData = serialPort1.ReadTo("\n");
            if (receivedData == "Done connection")
            {
                    button1.Text = "Połączono"; //TUTAJ BŁĄD
            }
            else
            {
                MessageBox.Show("Connection Error", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            serialPort1.Close();
        }

Dzięki użytkownikowi .AI problem został rozwiązany.

edytowany 2x, ostatnio: Creeperix303, 2015-02-07 11:15

Pozostało 580 znaków

2015-02-05 18:42
.Al

przerób sobie:

private delegate void SetLogDelegate(string Text);
private void SetLogText(string strText)
{
    this.LogLabel.Text = strText;
}

this.Invoke(new SetLogDelegate(this.SetLogText), "Połączono");
Dzięki! Działa! Możesz mi podesłać link, by o tym poczytać po polsku? - Creeperix303 2015-02-07 11:12

Pozostało 580 znaków

2015-02-06 00:29
2

do poczytania o Invoke i InvokeRequired


Chcesz pomocy - pokaż kod - abrakadabra źle działa z techniką.

Pozostało 580 znaków

Liczba odpowiedzi na stronę

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