C# Вывод даных в datagridview с другого потока
Подскажите, в чем может быть проблема. Есть класс "NetworkModel" в котором, создается поток для прослушивания сокета, и данные которые приходят необходимо вывести в таблицу, которая находиться на главной форме. Даные приходят, но в таблице не отображаються. Ниже Класс NetworkModel и сама функция вывода в таблицу.
VekForm vekForm = new VekForm();
public void Connect(byte[] ip_adress, int port)
{
string _ip = BitConverter.ToString(ip_adress);
client = new TcpClient("127.0.0.1", port);
stream = client.GetStream();
MessageBox.Show("Client success connect to Server");
TCPThread = new Thread(new ThreadStart(TCPClientRecieve));
TCPThread.Start();
}
public void TCPClientRecieve()
{
while (client.Connected)
{
int bytes = stream.Read(data, 0, data.Length);
response.Append(Encoding.UTF8.GetString(data, 0, bytes));
Console.WriteLine("+");
String responseData = String.Empty;
responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);
Console.WriteLine("Received: {0}", responseData);
if (data[0] == 0)
{
vekForm.BasicFrameDataTable(data);
}
if (data[0] == 1)
{
vekForm.FrameDataLocationStation(data);
}
}
}
и сама форма главного окна программы с функцией которая вызывается высше
public void BasicFrameDataTable(byte[] _basicFrame)
{
float Freq = BitConverter.ToSingle(_basicFrame, 1);
float Tau = BitConverter.ToSingle(_basicFrame, 5);
float Pulse = BitConverter.ToSingle(_basicFrame, 9);
AddDataToDGV(Freq, Tau, Pulse);
}
public void AddDataToDGV(float _Freq, float _Tau, float _Pulse)
{
dataGridView1.Invoke(new MethodInvoker(delegate
{
dataGridView1.Rows.Add("123", _Freq.ToString(), _Tau.ToString(), _Pulse.ToString());
}));
}
}