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

WinForm的延時加載控件概述

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

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

一、在界面第一次顯示時加載。最簡單的延遲加載可以通過控件第一次顯示時加載數據,例如你有很多的頁簽,只有用戶切換到這個頁簽時,才會加載數據。
在.NET的Control中提供SetVisibleCore虛方法,當檢測value是true且第一次調用此方法時,調用延遲加載。但是并不推薦這個方法,因為你有更好的地方。
①.如果你的控件繼承自Form或者UserControl,建議重載OnLoad;
②.如果繼承自Control,可以重載OnCreateControl。
下面是延遲加載數據的例子:

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

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

    //TODO:在這里調用加載數據的方法

    this.Text = oldText;
    }
  }

二、樹控件在第一次展開時加載。TreeView因為所有的節(jié)點并不是繼承自Control,所以不能使用上面的方式,但是TreeView提供了OnBeforeExpand虛方法,最簡單的辦法是在你打算實現延遲加載的節(jié)點加入一個是否已經加載的標記,當第一次展開時,檢測這個標記。 必須記住你的延遲加載節(jié)點在根位置是不能收到這個事件的。

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

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

相關文章

  • C#使用AutoResetEvent實現同步

    C#使用AutoResetEvent實現同步

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

    C# 使用SDL2實現Mp4文件播放音視頻操作

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

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

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

    Unity實現角色受擊身體邊緣發(fā)光特效

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

    關于C# TabPage如何隱藏的問題

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

    WPF自動隱藏的消息框的實例代碼

    本文給大家介紹WPF自動隱藏的消息框實例代碼,當鼠標放上去將一直顯示,移開動畫繼續(xù),提供normal和error兩種邊框。非常不錯,具有參考借鑒價值,感興趣的朋友一起看下吧
    2016-07-07
  • C#?守護進程的介紹及實現詳解

    C#?守護進程的介紹及實現詳解

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

    C#仿密??üδ艿暮唵螌崿F代碼

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

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

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

    Avalonia封裝實現指定組件允許拖動的工具類

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

最新評論

肃北| 泰宁县| 巴东县| 阿拉善右旗| 西吉县| 舒城县| 彩票| 临高县| 泉州市| 嘉兴市| 普陀区| 三河市| 南丰县| 磴口县| 泌阳县| 营口市| 青阳县| 夏邑县| 电白县| 庄浪县| 长武县| 巴彦县| 丰镇市| 海宁市| 鹰潭市| 寻乌县| 内丘县| 民权县| 呼伦贝尔市| 麦盖提县| 家居| 宝应县| 武平县| 云阳县| 原平市| 石台县| 红原县| 安陆市| 札达县| 阿尔山市| 都兰县|