Остановить ToolStripStatusLabel от мерцания из-за количества данных из datatable

#c# #datatable #doublebuffered #toolstripstatuslabel

#c# #datatable #с двойным буфером #toolstripstatuslabel

Вопрос:

У меня есть ToolStripStatusLabel с загрузкой данных в режиме реального времени, поступает так много информации, что она становится нечитаемой.

Есть ли для этого какая-либо функция двойного буфера? Я попробовал следующее:

 public static void DoubleBufferedToolStripStatusLabel(this ToolStripStatusLabel tssl, bool setting)
{
     Type dgvType = tssl.GetType();
     PropertyInfo pi = dgvType.GetProperty("DoubleBuffered", 
     BindingFlags.Instance | BindingFlags.NonPublic);
     pi.SetValue(tssl, setting, null);
}
  

Комментарии:

1. Как насчет того, чтобы обновлять его только каждую секунду, а не каждый раз, когда он нуждается в обновлении?

Ответ №1:

Как насчет того, чтобы обновлять его только каждую секунду, а не каждый раз, когда он нуждается в обновлении?

 DateTime _lastUpdated = DateTime.MinValue;

void UpdateStatusLabel(string text)
{
    if(DateTime.Now > _lastUpdate)
    {
        ToolStripStatusLabel.Text = text;
        _lastUpdate = DateTime.Now   TimeSpan.FromSeconds(1);
    }
}