So, ich bin jetzt weiter, aber es gibt noch ein Problem. Ich habe ein Formular mit einem Button, einem Timer und einem Label. Dazu folgender Code:
Code:
#region Using directives
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Windows.Forms;
using System.IO;
#endregion
namespace WindowsApplication1
{
partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
serialPort1.Open();
}
private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
if (serialPort1.IsOpen)
{
serialPort1.Write("D");
}
}
private void serialPort1_ReceivedEvent(object sender, System.IO.Ports.SerialReceivedEventArgs e)
{
label1.Text= serialPort1.ReadExisting();
}
}
}
Wenn ich den Button anklicke kommt aber folgende Meldung:
Code:
Illegal cross-thread operation: Control 'label1' accessed from a thread other than the thread it was created on.
Weiß jemand was das heißt und wie ich es beheben kann? Ich will einfach den Wert, den der
Com-Port sendet im Label haben. Wenn ich den Wert mit einer Message-Box ausgebe, geht alles.