contrôle C # ListView lorsque les données sont fréquemment mis à jour, les problèmes de scintillement de solution se posent

contrôle C # ListView, lors de l'utilisation, lorsque l'intérieur des données fréquemment mises à jour, le scintillement se produit.

Solution: Utiliser le double buffering, première classe rewrite ListView, puis, puis mettre à jour les données fréquemment réécrite par classe héritant après, initialise la définition du contrôle n'est pas un scintillement.

// 对ListView进行继承重写: 
publique  classe DoubleBufferListView: ListView 
    { 
        publique DoubleBufferListView () 
        { 
            SetStyle (ControlStyles.DoubleBuffer | 
              ControlStyles.OptimizedDoubleBuffer | 
              ControlStyles.AllPaintingInWmPaint, vrai ); 
            UpdateStyles (); 
        } 
    }

Ci-dessous un exemple d'utilisation:

//视图函数中定义一个Listview控件: 
DoubleBufferListView doubleBufferListView1 = nouveau DoubleBufferListView (); ce .doubleBufferListView1.Location = nouveau System.Drawing.Point ( 50 , 37 );
ce .doubleBufferListView1.Name = " doubleBufferListView1 " ;
ce .doubleBufferListView1.Size = nouveau System.Drawing.Size ( 400 , 191 ); ce .doubleBufferListView1.View = System.Windows.Forms.View.Details;

//添加listview到主视图
cette .Controls.Add ( ce.doubleBufferListView1); //对控件进行列表头的添加 doubleBufferListView1.Clear (); doubleBufferListView1.Columns.Add ( " action " , 80 , System.Windows.Forms.HorizontalAlignment.Left); doubleBufferListView1.Columns.Add ( " valeur " , 80 , System.Windows.Forms.HorizontalAlignment.Right); doubleBufferListView1.Columns.Add ( " action " , 80 , System.Windows.Forms.HorizontalAlignment.Left); doubleBufferListView1.Columns.Add ( " valeur " , 80 , System.Windows.Forms.HorizontalAlignment.Left); //添加行数据 string [] = listViewData nouvelle chaîne [ 4 ]; listViewData [ 0 ] = " action " ; listViewData [ 1 ] = " 1 " ; listViewData [ 2 ] = " action " ; listViewData [ 3 ] = " 1 " ; ListViewItem lvItem = nouveau ListViewItem (listViewData, 0 ); doubleBufferView1.Items.Add (lvItem);

 

Je suppose que tu aimes

Origine www.cnblogs.com/ming-4/p/12667936.html
conseillé
Classement