知识大全 C#使用委托调用实现用户端等待闪屏

Posted

篇首语:书籍是朋友,虽然没有热情,但是非常忠实。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 C#使用委托调用实现用户端等待闪屏相关的知识,希望对你有一定的参考价值。

C#使用委托调用实现用户端等待闪屏  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

    以前总在博客园看别人写的博客 这是我第一次写技术博客 竟然不知道如何开始 在此向博客园里各位辛勤耕耘的各位博主致敬     我以前开发 程序较多 少有接触WinForm 最近调换了工作 也有机会接触WinForm 首先做WinForm的感觉像是客场作战 好多东西都不大熟悉 所以要加强努力     废话少说 进入正题 首先说说场景     程序开发难免会有大数据量操作 在操作大量数据时 有时候需用户等待 在这一段时间内既不想让用户点其它操作 又不像让用户感觉程序假死了 怎么办?对 就是要需使用一个等待的闪屏 告诉用户 数据读取中 旁边还有一个gif动画在转动 等到完成操作时 闪屏自动关闭     接下来看看效果

  

  可能会有很多同学笑我了 这么简单的东西 还拿出来写?简单是简单了点儿 可是对于一个WinForm不熟悉的人来说却也费了不少周章

  再接下来是实现方式

   简单的实体类 (PS:因为是个小Demo 这个实体就没怎么加注释 ^_^)

  

    usingSystem;  usingSystem Collections Generic;  usingSystem Linq;  usingSystem Text;  usingSystem ComponentModel;  usingSystem Collections;  namespaceDemo    publicclassProduct     publicintProductID  set;get;  publicstringProductName  set;get;  publicintCount  set;get;  publicdoublePice  set;get;  publicstringUint  set;get;     

   等待闪屏 相对简单 没有代码 在窗体上拖了一个Lable控件 和一个PictureBox 把Lable的Text属性设置为 数据读取中 并且改了一下字体样式 给PictureBox装载一个gif图像

   主窗体 在主窗体上拉个网格控件(本Demo使用Developer Express的网格控件) 一个按钮 把按钮的Text属性改为 读取 一个BindingSource

  下面看主窗体的实现代码

  

    usingSystem;  usingSystem Collections Generic;  usingSystem ComponentModel;  usingSystem Data;  usingSystem Drawing;  usingSystem Text;  usingSystem Windows Forms;  usingDevExpress XtraEditors;  usingSystem Data Linq;  usingSystem Threading;  namespacedevDemo    publicpartialclassFormMain : Form    publicFormMain()    InitializeComponent();    frmLoading loading = newfrmLoading();//闪屏窗体  #region委托  ///<summary>  ///关闭闪屏///</summary>   publicdelegatevoidCloseloading();  ///<summary>  ///绑定数据///</summary>  ///<param name= ls >数据列表</param>   publicdelegatevoidBindedData(List<Product> ls);  #endregion  privatevoidFormMain_Load(objectsender  EventArgs e)      ///<summary>  ///读取按钮点击事件///</summary>   privatevoidbutton _Click(objectsender  EventArgs e)    newAction(ReadData) BeginInvoke(newAsyncCallback(CloseLoading)  null);  loading ShowDialog();//显示loading    ///<summary>  ///读取数据///</summary>  publicvoidReadData()    List<Product> productList = newList<Product>();  //装载模拟数据  for(inti =  ;i < ;i++)    productList Add(newProduct    ProductID = i +   Count = newRandom() Next(i *    / (i +  ))  Pice = System Math Round(newRandom() NextDouble() * (i +  ) *    )  Uint =  只  ProductName = string Format( 产品  i)  );   Thread Sleep( );//每添加一条记录休息 毫秒    this Invoke(newBindedData((pls) =>   //绑定数据   this protuctBindingSource DataSource = pls;  ) productList);    ///<summary>  ///关闭loading///</summary>  ///<param name= ar ></param>  publicvoidCloseLoading(IAsyncResult ar)    this Invoke(newCloseloading(() =>  loading Close(); ));       

  至此这个Demo完成 若有不足之处 或是有更好的方式 欢迎提出

cha138/Article/program/net/201311/13480

相关参考

知识大全 c#调用外部程序

  //本来看似非常简单的程序是一个界面左边一个提示有个checkbox提示用户我知道了请不要再显示右边是运行QQ的一个按钮但是弄的时候弄了四个小时左右经常是调试的时候是对的但是有的时候点了按钮过后没

知识大全 VB Shell调用后 等待程序运行结束

VBShell调用后等待程序运行结束  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!    Priv

知识大全 C#传值调用与引用调用

C#传值调用与引用调用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  usingSystem; 

知识大全 C#调用WebService示例

C#调用WebService示例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  C#调用WebS

知识大全 C#定时调用方法(线程)

C#定时调用方法(线程)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  //这些是C#线程的思路

知识大全 C#调用ICTCLAS30

C#调用ICTCLAS30  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  SharpICTCLA

知识大全 C#程序调用外部程序

C#程序调用外部程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  /*  * 编程语言Visu

知识大全 Delphi调用WebServices(C#)代码

Delphi调用WebServices(C#)代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 c#动态调用Web Service

c#动态调用WebService  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs

知识大全 C#调用存储过程简单完整例子

C#调用存储过程简单完整例子  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  CREATEPROC