青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 224  文章 - 41  trackbacks - 0
<2009年5月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

享受編程

常用鏈接

留言簿(11)

隨筆分類(159)

隨筆檔案(224)

文章分類(2)

文章檔案(4)

經(jīng)典c++博客

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

原文地址:http://hi.baidu.com/susdisk/blog/item/ee133dcbf19417f553664f46.html
原文地址:http://blog.csdn.net/hfzsjz/archive/2008/12/15/3521631.aspx

這個(gè)問題網(wǎng)上有成型的解決方法,引起閃爍的問題有兩個(gè):

一,是加入刪除大量數(shù)據(jù)引起。

二,是沒有開啟LISTVIEW的雙緩存功能。

我需要用一個(gè)TIMER實(shí)時(shí)更新LISTVIEW,遇到的是第二個(gè)問題,重載LISTVIEW,寫一個(gè)新組件,然后在FORM.DESIGNER文件里將LISTVIEW替換為這個(gè)類即可:

 class DoubleBufferListView: ListView
    {
        public DoubleBufferListView()
        {
            SetStyle(ControlStyles.DoubleBuffer | ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);
            UpdateStyles(); 
        }
    } 


另外:加入刪除大量數(shù)據(jù)

防止閃爍的ListView顯示方案

相信做Win Form程序的朋友們一定遇到過在ListView中插入數(shù)據(jù)時(shí),界面上一直在閃爍,而且速度很慢的情況吧。究其原因,還是在Windows消息機(jī)制沒有使用好的原因。

本文對于ListView閃爍的原因,進(jìn)行探究,并對于不同種的情況給出解決方案。

閃爍的原因

ListView閃爍的原因有以下幾點(diǎn)或幾種情況:
1:在數(shù)據(jù)多次插入間,存在時(shí)間間隔。
2:使用普通的Items.Add方法插入的數(shù)據(jù)量過大。
3:界面上有多個(gè)ListView在進(jìn)行數(shù)據(jù)插入。

最根本的原因是因?yàn)椋看握{(diào)用ListView實(shí)例進(jìn)行插入的時(shí)候,都需要向系統(tǒng)發(fā)送一個(gè)窗口消息(相信做C++的朋友應(yīng)該很清楚),然后窗口接到消息就會(huì)刷新對應(yīng)控件的界面。所以,如果間隔時(shí)間長,或插入次數(shù)多,一定會(huì)閃爍的。
  防止閃爍的ListView顯示方案 收藏
The resolution of ListView Blink

防止閃爍的ListView顯示方案

相信做Win Form程序的朋友們一定遇到過在ListView中插入數(shù)據(jù)時(shí),界面上一直在閃爍,而且速度很慢的情況吧。究其原因,還是在Windows消息機(jī)制沒有使用好的原因。

本文對于ListView閃爍的原因,進(jìn)行探究,并對于不同種的情況給出解決方案。

閃爍的原因

ListView閃爍的原因有以下幾點(diǎn)或幾種情況:
1:在數(shù)據(jù)多次插入間,存在時(shí)間間隔。
2:使用普通的Items.Add方法插入的數(shù)據(jù)量過大。
3:界面上有多個(gè)ListView在進(jìn)行數(shù)據(jù)插入。

最根本的原因是因?yàn)椋看握{(diào)用ListView實(shí)例進(jìn)行插入的時(shí)候,都需要向系統(tǒng)發(fā)送一個(gè)窗口消息(相信做C++的朋友應(yīng)該很清楚),然后窗口接到消息就會(huì)刷新對應(yīng)控件的界面。所以,如果間隔時(shí)間長,或插入次數(shù)多,一定會(huì)閃爍的。

 

解決方案

源碼中實(shí)例的解決方案:

 

ListViewItem lvi;

            ListViewItem[] lvitems1 
= new ListViewItem[10000];

            
for (int i = 0; i < 10000; i++)
            
{
                lvi 
= new ListViewItem(new string[] { i.ToString(), "22" });
                lvitems1[i] 
= lvi;
            }


            listViewTest.Items.AddRange(lvitems1);更通用的解決方法:

// create a temp dataTable to store data
            DataTable dt = new DataTable();
            DataRow dr;
            dt.Columns.Add(
"ID"typeof(String));
            dt.Columns.Add(
"Name"typeof(String));
            dt.Columns.Add(
"Class"typeof(String));
            dt.Columns.Add(
"Lesson"typeof(String));

         
foreach(item in dataSource)
         
{
                    dr 
= dt.NewRow();
                    dr[
0= item.ID; // ID 
                    dr[1= item.Name;  // Name
                    dr[2= item.Class;  // Class
                    dr[3= item.Lesson;  // Lesson

                    dt.Rows.Add(dr);

         }


            
// loop the temp table , and insert to ListView

            
int i = 0;
            
while(iint iSize = (dt.Rows.Count-i)>1000?1000:(dt.Rows.Count-i);
                            
                ListViewItem lvi;

                ListViewItem[] lvitems 
= new ListViewItem[iSize];

                
for (int j = 0; j < iSize; j++)
                
{
                    lvi 
= new ListViewItem(new string[] { dt.Rows[i+j][0].ToString(), dt.Rows[i+j][1].ToString(), dt.Rows[i+j][2].ToString(), dt.Rows[i+j][3].ToString() });
                    lvitems[i] 
= lvi;
                }


                listViewTest.Items.AddRange(lvitems);

                i 
= i + iSize;
            }


主要思路是,建一個(gè)臨時(shí)的Table,然后,把數(shù)據(jù)插入到這個(gè)臨時(shí)表中;在處理結(jié)束之后,使用Items.AddRange方法把數(shù)據(jù)分塊插入到ListView。

 

posted on 2010-09-01 18:15 漂漂 閱讀(3620) 評(píng)論(0)  編輯 收藏 引用 所屬分類: c#開發(fā)
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲区在线播放| 亚洲精品乱码久久久久| 欧美日韩大片| 两个人的视频www国产精品| 欧美午夜免费| 欧美激情在线免费观看| 国产私拍一区| 亚洲一区二区三区高清不卡| 亚洲精品在线视频| 久久午夜精品| 久色成人在线| 国产亚洲精品aa午夜观看| 一区二区欧美日韩| 一区二区三区精品在线| 免费亚洲一区| 亚洲第一页自拍| 91久久久久久国产精品| 看片网站欧美日韩| 久久乐国产精品| 国产亚洲一区在线播放| 性欧美xxxx视频在线观看| 午夜视频一区| 国产女人18毛片水18精品| 亚洲一二三级电影| 欧美一区二区三区日韩| 国产九九精品视频| 性欧美video另类hd性玩具| 久久经典综合| 一区二区三区在线不卡| 久久久久久久久蜜桃| 欧美 日韩 国产 一区| 亚洲国产精品999| 欧美插天视频在线播放| 亚洲人午夜精品| 亚洲视频福利| 国产热re99久久6国产精品| 性娇小13――14欧美| 美女爽到呻吟久久久久| 91久久精品www人人做人人爽| 欧美多人爱爱视频网站| 亚洲欧洲日产国产网站| 亚洲一区二区三区高清| 国产亚洲欧美一区二区| 久久久久久综合网天天| 亚洲激情国产精品| 午夜精品福利电影| 黄色成人91| 欧美精品播放| 亚洲欧美日韩精品久久久| 麻豆乱码国产一区二区三区| 亚洲人久久久| 国产精品免费福利| 久久在线91| 在线亚洲一区二区| 久久先锋影音av| 亚洲深爱激情| 樱花yy私人影院亚洲| 欧美另类女人| 久久久高清一区二区三区| 亚洲人成在线播放网站岛国| 欧美在线免费观看| 亚洲精品中文字幕女同| 国产女精品视频网站免费| 欧美mv日韩mv国产网站| 亚洲自拍偷拍福利| 亚洲国产精品一区二区三区| 亚洲欧美在线磁力| 亚洲人体1000| 韩日精品在线| 国产精品成人观看视频国产奇米| 久久久久久久久久久成人| 99日韩精品| 欧美成年人视频| 欧美在线一级视频| 一区二区三区av| 亚洲国产你懂的| 国产三区二区一区久久| 欧美日韩亚洲一区二区三区四区| 久久免费99精品久久久久久| 亚洲一区区二区| 亚洲精品影院| 欧美激情免费观看| 久久手机精品视频| 欧美一区二区成人6969| 国产精品99久久久久久有的能看 | 免费观看久久久4p| 亚洲永久免费观看| 999在线观看精品免费不卡网站| 看欧美日韩国产| 欧美一区激情视频在线观看| 一区二区福利| 日韩一区二区精品视频| 在线观看欧美日本| 国一区二区在线观看| 国产乱码精品一区二区三区不卡 | 黑人巨大精品欧美黑白配亚洲| 欧美日韩国产123区| 免费亚洲一区| 麻豆成人小视频| 久久亚洲电影| 久久亚洲国产精品一区二区| 欧美影院精品一区| 欧美在线一级视频| 欧美怡红院视频| 欧美中文字幕在线| 久久精品72免费观看| 久久精品91久久香蕉加勒比| 欧美在线一二三| 久久精品午夜| 美腿丝袜亚洲色图| 欧美成人蜜桃| 欧美日韩精品免费观看| 欧美日韩国产综合在线| 欧美三级日本三级少妇99| 欧美小视频在线观看| 国产精品久久久久一区二区| 国产精品电影观看| 国产女人水真多18毛片18精品视频| 国产精品视频网址| 国产一区二区三区奇米久涩| 黄色精品一二区| 最近看过的日韩成人| av成人手机在线| 亚久久调教视频| 久久亚洲精品一区| 亚洲高清视频中文字幕| 亚洲精品一级| 亚洲欧美另类久久久精品2019| 欧美在线观看一区| 欧美成人精品1314www| 国产欧美精品一区| 国产精品一卡二| 亚洲电影在线| 日韩视频三区| 亚洲欧美另类久久久精品2019| 久久精品国产第一区二区三区最新章节 | 欧美日韩一级黄| 国产日韩欧美电影在线观看| 在线观看视频一区二区| 在线亚洲免费| 久久久精品午夜少妇| 亚洲人成在线播放| 午夜精品免费在线| 欧美成人精品在线播放| 国产精品试看| 亚洲欧洲精品一区二区三区不卡 | 欧美在线视频导航| 免费中文字幕日韩欧美| 一本一本久久a久久精品综合麻豆| 午夜日韩电影| 欧美日韩国产在线观看| 国模吧视频一区| 亚洲一级黄色| 亚洲国产成人久久| 午夜精品视频在线观看| 欧美乱大交xxxxx| 极品尤物一区二区三区| 亚洲一区二区三区免费视频| 欧美成熟视频| 亚洲欧美综合国产精品一区| 欧美精品日韩| 在线播放亚洲一区| 久久国产精品毛片| 夜夜爽av福利精品导航| 欧美.www| 亚洲动漫精品| 久久久久国色av免费看影院| 亚洲最新中文字幕| 欧美国产一区二区| 在线观看欧美精品| 久久精品视频在线播放| 亚洲午夜精品视频| 欧美日韩视频一区二区| 亚洲精品护士| 欧美黄色小视频| 久久免费视频一区| 狠狠色狠色综合曰曰| 欧美一区二区成人6969| 亚洲视频 欧洲视频| 欧美日韩国产欧| 99国产精品久久久久久久成人热| 欧美jizzhd精品欧美喷水 | 欧美日韩1区2区3区| 亚洲成色777777女色窝| 久久一本综合频道| 久久精品国产99国产精品| 国产日韩欧美一区| 久久精品国产久精国产一老狼| 亚洲视频在线一区| 国产精品毛片| 午夜免费日韩视频| 亚洲欧美激情精品一区二区| 国产精品免费网站在线观看| 亚洲字幕在线观看| 亚洲一区三区在线观看| 国产日韩精品一区二区浪潮av| 欧美一区二区三区电影在线观看 | 一本久久青青| 国产精品久久9| 欧美一二区视频|