Как использовать Ping.SendAsync для работы с datagridview?

У меня есть приложение, которое проверяет каждый IP в сетке данных, чтобы составить список адаптивных IP-адресов RoundtripTime. Когда я завершу этот шаг, я верну RoundtripTime обратно к сетке данных.

    ...
        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; чтобы получить текущую строку, но я просто получаю сообщение об ошибке. Ключевое слово «this» недоступно в static function.so, как вернуть значение обратно в datagridview?

Спасибо.

Ответы на вопрос(2)

Ваш ответ на вопрос