Имам приложение, което пингва всеки IP в datagridview, за да състави списък с реагиращи IP RoundtripTime. Когато завърша стъпката, ще върна RoundtripTime обратно към datagridview.
...
foreach (DataGridViewRow row in this.gvServersList.Rows)
{
this.current_row = row;
string ip = row.Cells["ipaddr_hide"].Value.ToString();
ping = new Ping();
ping.PingCompleted += new PingCompletedEventHandler(ping_PingCompleted);
ping.SendAsync(ip, 1000);
System.Threading.Thread.Sleep(5);
}
...
private static void ping_PingCompleted(object sender, PingCompletedEventArgs e)
{
var reply = e.Reply;
DataGridViewRow row = this.current_row; //notice here
DataGridViewCell speed_cell = row.Cells["speed"];
speed_cell.Value = reply.RoundtripTime;
}
Когато искам да използвам DataGridViewRow row = this.current_row;
, за да получа текущия ред, но просто получавам грешка. Ключовата дума „това“ не е налична в статична функция. И така, как да върна стойността обратно към datagridview?
Благодаря ти.