现在的位置: 首页 > 综合 > 正文

无闪烁的listview

2013年10月07日 ⁄ 综合 ⁄ 共 1438字 ⁄ 字号 评论关闭

 Q:http://topic.csdn.net/u/20071205/15/116fa433-69bc-418d-a31c-3c279abc8007.html

A:

public
 
partial
 
class
 Form1 : Form

    


{

        

        

class
   DoubleBufferListView   :   ListView 

        




                

public
   DoubleBufferListView() 

                




                        SetStyle(ControlStyles.DoubleBuffer

|
ControlStyles.OptimizedDoubleBuffer 
|
  ControlStyles.AllPaintingInWmPaint,   
true
); 

                        UpdateStyles(); 

                }


 

        }


 



        

public
 Form1()

        


{

            InitializeComponent();

        }





        DoubleBufferListView lv 

=
 
new
 DoubleBufferListView();

        

private
 
void
 Form1_Load(
object
 sender, EventArgs e)

        


{

           

            

this
.Controls.Add(lv);

            lv.Height 

=
 
300
;

            lv.Width 

=
 
300
;

            

new
 System.Threading.Thread(
new
 System.Threading.ParameterizedThreadStart(doAdd)).Start();

        }





         

        

void
 doAdd(
object
 obj)

        


{

            

if
 (
this
.InvokeRequired)

            


{

                

this
.Invoke(
new
 System.Action
<
object
>
(doAdd), 
new
 
object
[] 

{ obj }

);

            }




            

else


            


{

                

for
 (
int
 i 
=
 
0
; i 
<
 
100
; i
++
)

                


{

                    

this
.lv.Items.Add(
new
 ListViewItem(
"
jinjazz
"
 
+
 
this
.lv.Items.Count.ToString()));

                    System.Threading.Thread.Sleep(

10
);

                    Application.DoEvents();

                }




            }




        }




    }

抱歉!评论已关闭.