最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

WinForm的延時加載控件概述

 更新時間:2014年08月27日 09:44:40   投稿:shichen2014  
這篇文章主要介紹了WinForm的延時加載控件,很實(shí)用的技巧,在C#程序設(shè)計中有著比較廣泛的應(yīng)用,需要的朋友可以參考下

本文主要針對WinForm的延遲加載在常用控件的實(shí)現(xiàn)做簡單的描述。在進(jìn)行C#項(xiàng)目開發(fā)的時候具有一定的實(shí)用性。具體如下:

一、在界面第一次顯示時加載。最簡單的延遲加載可以通過控件第一次顯示時加載數(shù)據(jù),例如你有很多的頁簽,只有用戶切換到這個頁簽時,才會加載數(shù)據(jù)。
在.NET的Control中提供SetVisibleCore虛方法,當(dāng)檢測value是true且第一次調(diào)用此方法時,調(diào)用延遲加載。但是并不推薦這個方法,因?yàn)槟阌懈玫牡胤健?br /> ①.如果你的控件繼承自Form或者UserControl,建議重載OnLoad;
②.如果繼承自Control,可以重載OnCreateControl。
下面是延遲加載數(shù)據(jù)的例子:

  public class MyTabPage : TabPage {
    PRotected override void OnCreateControl() {
      base.OnCreateControl();

    string oldText = this.Text;
      this.Text = "Loading..";

    //TODO:在這里調(diào)用加載數(shù)據(jù)的方法

    this.Text = oldText;
    }
  }

二、樹控件在第一次展開時加載。TreeView因?yàn)樗械墓?jié)點(diǎn)并不是繼承自Control,所以不能使用上面的方式,但是TreeView提供了OnBeforeExpand虛方法,最簡單的辦法是在你打算實(shí)現(xiàn)延遲加載的節(jié)點(diǎn)加入一個是否已經(jīng)加載的標(biāo)記,當(dāng)?shù)谝淮握归_時,檢測這個標(biāo)記。 必須記住你的延遲加載節(jié)點(diǎn)在根位置是不能收到這個事件的。

三、在表格中延遲加載。在Windows程序中,有的使用分頁的方式實(shí)現(xiàn)延遲加載,但這種方式的用戶體驗(yàn)非常的糟糕。如果你希望仍然使用滾動條的話,可以自己實(shí)現(xiàn)IBindList接口,內(nèi)部持有一個數(shù)據(jù)的ID列表,在表格詢問數(shù)據(jù)時,才到數(shù)據(jù)庫加載數(shù)據(jù),通常的表格控件都能夠很好的工作。 但這里有個應(yīng)該注意的地方,例如用戶按下PageDown時,表格控件連續(xù)的調(diào)用獲取數(shù)據(jù)方法,如果每次請求都去調(diào)用數(shù)據(jù)庫,將會很低的性能,應(yīng)該讓你的程序“預(yù)知”到可能要讀下50筆數(shù)據(jù)了,所以一次性多讀50條就可以。
這種方法遇到表格排序的時候就沒有辦法了。

希望本文所述對大家的C#程序設(shè)計有所幫助

相關(guān)文章

  • C#使用AutoResetEvent實(shí)現(xiàn)同步

    C#使用AutoResetEvent實(shí)現(xiàn)同步

    這篇文章主要為大家詳細(xì)介紹了C#使用AutoResetEvent實(shí)現(xiàn)同步的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • C# 使用SDL2實(shí)現(xiàn)Mp4文件播放音視頻操作

    C# 使用SDL2實(shí)現(xiàn)Mp4文件播放音視頻操作

    這篇文章主要介紹了C# 使用SDL2實(shí)現(xiàn)Mp4文件播放音視頻操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • C#七大經(jīng)典排序算法系列(下)

    C#七大經(jīng)典排序算法系列(下)

    這篇文章主要為大家詳細(xì)介紹了C#七大經(jīng)典排序算法系列下篇,直接插入排序,希爾排序和歸并排序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • Unity實(shí)現(xiàn)角色受擊身體邊緣發(fā)光特效

    Unity實(shí)現(xiàn)角色受擊身體邊緣發(fā)光特效

    這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)角色受擊身體邊緣發(fā)光特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • 關(guān)于C# TabPage如何隱藏的問題

    關(guān)于C# TabPage如何隱藏的問題

    TabPage沒有Visible屬性,所以只能通過設(shè)置將其與父控件(tabcontrol)的關(guān)聯(lián)性去除就好了,如下面代碼:
    2013-04-04
  • WPF自動隱藏的消息框的實(shí)例代碼

    WPF自動隱藏的消息框的實(shí)例代碼

    本文給大家介紹WPF自動隱藏的消息框?qū)嵗a,當(dāng)鼠標(biāo)放上去將一直顯示,移開動畫繼續(xù),提供normal和error兩種邊框。非常不錯,具有參考借鑒價值,感興趣的朋友一起看下吧
    2016-07-07
  • C#?守護(hù)進(jìn)程的介紹及實(shí)現(xiàn)詳解

    C#?守護(hù)進(jìn)程的介紹及實(shí)現(xiàn)詳解

    本文主要介紹了C#?守護(hù)進(jìn)程的介紹及實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • C#仿密??üδ艿暮唵螌?shí)現(xiàn)代碼

    C#仿密??üδ艿暮唵螌?shí)現(xiàn)代碼

    昨天拿C#寫了個簡單的密??ǔ绦颍–onsole的,偷懶了一下 哈哈),實(shí)現(xiàn)了隨機(jī)生成5x5矩陣卡、轉(zhuǎn)換為字符串、從字符串讀取矩陣卡以及簡單驗(yàn)證的功能
    2013-04-04
  • c# 常見文件路徑Api的使用示例

    c# 常見文件路徑Api的使用示例

    c#編程中經(jīng)常有遇到要處理文件路徑的需求,本文分別講述了如何從程序下面的文件和臨時目錄下的文件去使用路徑api,感興趣的朋友可以了解下
    2021-05-05
  • Avalonia封裝實(shí)現(xiàn)指定組件允許拖動的工具類

    Avalonia封裝實(shí)現(xiàn)指定組件允許拖動的工具類

    這篇文章主要為大家詳細(xì)介紹了Avalonia如何封裝實(shí)現(xiàn)指定組件允許拖動的工具類,文中的示例代碼講解詳細(xì),感興趣的小伙伴快跟隨小編一起來學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03

最新評論

红安县| 大荔县| 玉溪市| 安龙县| 泸西县| 黄龙县| 高陵县| 格尔木市| 阿克| 乌拉特中旗| 鄢陵县| 梓潼县| 大足县| 花垣县| 余江县| 枣庄市| 喜德县| 谢通门县| 张家界市| 万山特区| 阳新县| 永城市| 肥乡县| 文山县| 文山县| 林州市| 乌鲁木齐市| 临洮县| 肇源县| 黎川县| 墨脱县| 翁牛特旗| 长泰县| 海林市| 博兴县| 张家界市| 来凤县| 湄潭县| 海口市| 安仁县| 吉安市|