pergunta:
Atualizar o DataGridView em tempo real, especialmente quando a taxa de atualização é alta e o número de células é grande, defeitos visuais, como piscar e lag, são propensos a ocorrer.
analisar:
A tecnologia de buffer duplo resolve esses problemas usando buffers off-tels.
Solução:
Ative a função de buffer duplo do DataGridView por meio de métodos de reflexão ou subclasse.
Crie uma subclasse do DataGridView, exponha a propriedade dupla de abundância:
public class DBDataGridView : DataGridView
{
public new bool DoubleBuffered
{
get { return base.DoubleBuffered; }
set { base.DoubleBuffered = value; }
}
public DBDataGridView()
{
DoubleBuffered = true;
}
}
Adicione esta classe ao projeto e defina dupla Buffer como true.
Defina a buffer dupla programaticamente usando a reflexão:
using System.Reflection;
static void SetDoubleBuffer(Control ctl, bool DoubleBuffered)
{
typeof(Control).InvokeMember("DoubleBuffered",
BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.SetProperty,
null, ctl, new object[] { DoubleBuffered });
}
CHAMADA SETDOUBLEBUFFER para alternar o buffer duplo do DataGridView.
ativando o dobro duplo, o DataGridView desenhará atualizações usando buffers fora da tela, reduzindo os truques e gaguejando durante atualizações frequentes.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3