zoukankan      html  css  js  c++  java
  • c#文件上传下载之委托与事件

          在文件上传下载这个例子中的委托与事件,主要是用于窗体与类之间的交互,在主窗体中定义了FileInfo类的对象fileInfo,当开始上传的时候,主窗体的进度条要根据finleInfo读写的进度进行相应的变化,此处就用到了委托与事件。先看下过程:

    • 先在FileInfo类中定义委托,并用委托定义事件
    public delegate void FileTranEventHandler(object sender, EventArgs e);//定义委托
    public event FileTranEventHandler FileBuffer;//写完一块触发的事件
    • 当点击上传按钮时,当事件的处理方法绑定到上事件上
    fileInfo.FileBuffer += new FileInfo.FileTranEventHandler(fileInfo_FileBuffer);                   //传输一块完成事件

          其中fileInfo_FileBuffer为窗体中进度条的变化方法。

    • 在异步写函数的回调函数中就可以触发此事件
    OnFileBuffer(new EventArgs());
    protected virtual void OnFileBuffer(EventArgs e)      
    {
    if(FileBuffer !=null)
    FileBuffer(this,e);
    }

          这样当写完一块的时候,就可以触发进度条事件。

  • 相关阅读:
    Thrift --- 支持双向通信
    Go -- 配置监控系统
    Go -- RPC 之 Thrift
    Go -- 一致性哈希算法
    Go -- runtime.Gosched()的作用分析
    Go -- import使用及. _的作用解析
    BNF 和 ABNF 扩充巴科斯范式 了解
    转 HTTP.SYS 详解
    转 HTTP/2: The Long-Awaited Sequel
    网站分析
  • 原文地址:https://www.cnblogs.com/ddan/p/2645148.html
Copyright © 2011-2022 走看看