Ich möchte DataGridVeiw alle 10 Sekunden aktualisieren. Nach dem Update werden neue Zeilen hinzugefügt und ich möchte DataGridView vor dem Update bereinigen. Das Problem ist, dass, wenn ich innerhalb von OnCallBack()
dataGridView2.Rows.Clear();
und dataGridView2.Refresh();
rufe ich bekomme "Cross-Thread-Betrieb nicht gültig" Ausnahme.So löschen Sie Datagridview mit Timer?
Ich habe versucht, es aufzurufen, aber es hilft nicht.
if(dataGridView2.InvokeRequired){
dataGridView2.Invoke(new MethodInvoker(delegate{
dataGridView2.Rows.Clear();
dataGridView2.Refresh();
}));
Mein Code:
private void Live(){
timer = new System.Threading.Timer (_ => OnCallBack(), null, 1000,Timeout.Infinite);
}
private void OnCallBack()
{
timer.Dispose();
counter--;
label8.Text = counter.ToString();
if (counter == 0){
string[] pr = {"124"};
search.SearchLive(pr, dataGridView2, label10);
counter = 10;
}
timer = new System.Threading.Timer (_ => OnCallBack(), null, 1000,Timeout.Infinite);
}