Les performances de rafraîchissement d'un DataGridView peuvent être affectées par le nombre de cellules mises à jour et le taux de mise à jour souhaité. Pour optimiser les performances, il est recommandé d'activer la double mise en mémoire tampon pour DataGridView.
Normalement, la double mise en mémoire tampon n'est pas directement accessible dans DataGridView. Pour accéder à cette propriété, vous pouvez créer une sous-classe ou utiliser la réflexion.
Sous-classe :
Définissez une nouvelle classe qui hérite de DataGridView et expose la propriété DoubleBuffered :
public class DBDataGridView : DataGridView { public new bool DoubleBuffered { get => base.DoubleBuffered; set => base.DoubleBuffered = value; } public DBDataGridView() { DoubleBuffered = true; } }
Ensuite, remplacez votre DataGridView par DBDataGridView dans le form.
Réflexion :
Utilisez cette fonction générique pour définir la double mise en mémoire tampon à l'aide de 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 }); }
Appelez la fonction pour activer la double mise en mémoire tampon pour votre DataGridView :
SetDoubleBuffer(dataGrid, true);
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!