#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);
}
}