• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > WinForm的延时加载控件概述

WinForm的延时加载控件概述

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了winform自定义控件,winform控件,winform皮肤控件,winform控件库,winform分页控件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文主要针对WinForm的延迟加载在常用控件的实现做简单的描述。在进行C#项目开发的时候具有一定的实用性。具体如下:

一、在界面第一次显示时加载。最简单的延迟加载可以通过控件第一次显示时加载数据,例如你有很多的页签,只有用户切换到这个页签时,才会加载数据。
在.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;
    }
  }

</div>

二、树控件在第一次展开时加载。TreeView因为所有的节点并不是继承自Control,所以不能使用上面的方式,但是TreeView提供了OnBeforeExpand虚方法,最简单的办法是在你打算实现延迟加载的节点加入一个是否已经加载的标记,当第一次展开时,检测这个标记。 必须记住你的延迟加载节点在根位置是不能收到这个事件的。

三、在表格中延迟加载。在Windows程序中,有的使用分页的方式实现延迟加载,但这种方式的用户体验非常的糟糕。如果你希望仍然使用滚动条的话,可以自己实现IBindList接口,内部持有一个数据的ID列表,在表格询问数据时,才到数据库加载数据,通常的表格控件都能够很好的工作。 但这里有个应该注意的地方,例如用户按下PageDown时,表格控件连续的调用获取数据方法,如果每次请求都去调用数据库,将会很低的性能,应该让你的程序“预知”到可能要读下50笔数据了,所以一次性多读50条就可以。
这种方法遇到表格排序的时候就没有办法了。

希望本文所述对大家的C#程序设计有所帮助

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C# WinForm控件对透明图片重叠时出现图片不透明的简单解决方法
  • WinForm实现自定义右下角提示效果的方法
  • C#的winform控件命名规范
  • WinForm的延时加载控件概述
  • WinForm自定义函数FindControl实现按名称查找控件
  • WinForm自定义控件应用实例
  • 简介Winform中创建用户控件
  • C#中让控件全屏显示的实现代码(WinForm)

相关文章

  • 2017-05-28C#执行SQL事务用法实例
  • 2017-05-28c#显示当前在线人数示例
  • 2017-05-28C#手工双缓冲技术用法实例分析
  • 2017-05-28基于C#的UDP协议的同步通信实现代码
  • 2017-05-28C#生成影像金字塔的原理实例
  • 2017-05-28c#扫描图片去黑边(扫描仪去黑边)
  • 2017-05-28深入理解C#实现快捷键(系统热键)响应的方法
  • 2017-05-28C#写入对象或集合类型数据到xml文件的方法
  • 2017-05-28C#对DataTable里数据排序的方法
  • 2017-05-28浅谈C# 非模式窗体show()和模式窗体showdialog()的区别

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#的泛型方法解析
    • C#版的 Escape() 和 Unescape() 函数分享
    • C#中使用委托的3种方式代码示例
    • C#利用反射技术实现去掉按钮选中时的边框效果
    • C#正则表达式匹配HTML中的图片路径,图片地址代码
    • 浅谈C#2.0泛型中的变化:default关键字
    • C#和Java有什么区别和联系
    • C#中通过API实现的打印类 实例代码
    • 深入理解StringBuilder的使用方法
    • C#实现读写ini文件类实例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有