Wert in Textbox einer UserForm anzeigen lassen

Hallo zusammen,

ich versende in c# CAN Nachrichten und empfange diese. Durch eine UserForm steuere ich das Ganze und dies funktioniert auch ganz gut.

Jetzt möchte ich allerdings bei einer empfangenen CAN NAchricht den Wert in die Textbox meiner Userform anzeigen lassen. Dann kommt folgender Fehler:
Cross-thread operation not valid: Control ‚Textbox1‘ accessed from a thread other than the thread it was created on.

Habe im Netz gelesen, dass ich aus einem thread nicht auf ein weiteres zugreifen kann. Bei mir ist die UserForm ein Thread und das empfangen der CAN Nachricht ein weiterer Thread.

Im Netz habe ich ebenfalls gelesen, dass ich die Textbox aus dem ersten Thread in der zweiten zunächst aktivieren muss, bevor ich diesen nutzen kann.

Hier mein bisher geschriebener code dazu:

public void RXThread()
{

// hier speichere ich die empfangene CAN NAchricht in ein array
byte[] rxdata = new byte[8];
rxdata = receivedEvent.tagData.can_Msg.data;

if (TextboxHiLValue.InvokeRequired)
{

// in die Textbox soll das erste byte angezeigt werden, also rxdata[0]
Invoke(TextboxHiLValue, Convert.ToString(rxdata[0]) });
}
else
{
TextboxHiLValue.Text = Convert.ToString(rxdata[0]);
}

}
Mache ich das richtig?? Für jegliche Tipps wäre ich sehr dankbar…

Viele Grüße
Marcela

Hallo Marcela,

du kannst auf ein Grafikobjekt nur aus dem Thread zugreifen in dem es kreirt wurde.

Die einfachste Lösung ist es in dem Grafik-Thread eine Methode zu erstellen welche die gewünschten Parameter implementiert.
Aus dem CAN-Thread rufst du die Methode zum Updaten auf.

So hast du keinen thread-übergreifenden Zugriff auf ein Grafikobjekt und der Compiler ist zufrieden!

Viele Grüße,
Andreas

Hallo Andreas,

danke für die Antwort, werde so mal versuchen.
Habe aber noch eine Frage zum Thread.

ich rufe rxThread.Abort(); in die eigentliche Methode RXThread auf. das gibt mir ebenfalls immer einen Fehler.

„Object reference not set to an instance of an object.“

ist dies nicht zulässig?
Benötige ich denn überhaupt die abort methode?

Gruß Marcela