question:
Rafraîchir DataGridView en temps réel, en particulier lorsque le taux de mise à jour est élevé et que le nombre de cellules est important, des défauts visuels tels que le scintillement et le décalage sont sujets à se produire.
analyser:
La technologie de tampon double résout ces problèmes en utilisant des tampons hors écran.
Solution:
Activez la fonction de double tampon de DataGridView via des méthodes de réflexion ou de sous-classe.
Créez une sous-classe de DataGridView, exposent la propriété DoubleBuffered:
public class DBDataGridView : DataGridView
{
public new bool DoubleBuffered
{
get { return base.DoubleBuffered; }
set { base.DoubleBuffered = value; }
}
public DBDataGridView()
{
DoubleBuffered = true;
}
}
Ajoutez cette classe au projet et définissez DoubleBuffering sur true.
Définir DoubleBuffering programmatiquement en utilisant la réflexion:
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 });
}
Appel SetDoubleBuffer pour changer le doublebuffering de DataGridView.
En activant DoubleBuffering, DataGridView dessinera des mises à jour à l'aide de tampons hors écran, réduisant le scintillement et le bégaiement lors de mises à jour fréquentes.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3