Я пытаюсь прослушать устройство, и когда я получил сообщение от этого, показывающее его на сетке данных первым, но получение сообщения от устройства работает отлично, но проблема в том, что когда я хочу установить содержимое DGV, которое я получилэто исключение. Межпотоковая операция недопустима, и я прочитал эту связанную тему.
, но ни одна из них не была полезной, поскольку там не было привязки DGV.
вот мой код:1. сначала у меня есть класс сообщений, который связан с DGV,
public class Msg_log
{
public Msg_log()
{
this.Event = null;
this.Operator = null;
}
public string Event { get; set; }
public string Operator { get; set; }
}
, и вот как я создаю другой поток в событии loadform:
newThread = new System.Threading.Thread(this.Event_Listener);
newThread.Start();
и в Event_Listenerfunction
x.Add(message);
MsgDGV.DataSource = null;
MsgDGV.DataSource = x;
MsgDGV.Refresh();
объект сообщения выглядит следующим образом:
Msg_log message = new Msg_log();
и его переменные Event и Operator сообщения установлены правильно, и я поставил MSG.DataSource = null, посколькуЯ хочу обновить свой DGV после прихода нового сообщения (на самом деле это была моя идея, и если бы был какой-то лучший способ для этого, я был бы признателен за это), и вот строка, которую я получил за исключением:Перекрестная операция недопустима.В других постах я узнал, что мне следует использовать метод Invoke, но я не знаю, как вызвать Msg_DGV.Invoke (??, ???);Я не знаю, что я должен перейти к этому, чтобы получить правильный результат ...
Ура,