现在的位置: 首页 > 综合 > 正文

实现类似qq的显示文件传输信息的控件(改进版)

2012年08月27日 ⁄ 综合 ⁄ 共 4050字 ⁄ 字号 评论关闭

 

    代码:
    /Files/sherlockhua/filetransferbox.rar
    /Files/sherlockhua/TransferBoxEx.rar(改进版)
     实现效果图:
       

       最近在做一个可在局域网中聊天的聊天工具,因为要支持多文件传输功能,所以显示多文件传输状态便成了一个问题。我们都用过qq,当进行多文件传输时,它可以以列表的形式把正在传输的文件信息显示出来。显示的内容有文件图标,文件名,发送或者接受文件,进度条,文件大小还有一些取消,保存之类的按钮。而且当正在传输的文件比较多,客户区显示不了时。就会出现一个滚动条,用来显示所有的发送或接收文件的信息。

好了,大概得轮廓都已经了解了。现在就可以开始着手写控件了。我们知道列表中的每一项都是一个文件信息,我们就可以把每一个文件信息作为一个类,然后在这个类之中绘制各种文件信息。自然而然,我们可以分辨出以下几个类:FileTransferItem类、FileLinkButton类、ProcessBar类。其中FileTransferItem类用来代表一个文件信息项。FileLinkButton提供类似LinkButton类的按钮功能,ProcessBar类提供进度条的功能。然而为了在正确位置进行绘制控件,就必须记下每一对象的位置。因此,我们可以用一个基类FileObject来替提供位置信息,其他的类都继承它。部分代码如下:

  1/*
  2 * 创建者:张华
  3 * 创建日期:2008/7/8
  4 * 更新日期:2008/7/8
  5 * 描述:为类FileLinkButton、类FileTranferItem和类ProcessBar提供基础功能
  6 * 联系方式:214140879
  7 */

  8using System;
  9using System.Collections.Generic;
 10using System.Text;
 11using System.Drawing;
 12using System.Drawing.Drawing2D;
 13using System.Drawing.Imaging;
 14using System.Xml.Serialization;
 15using System.ComponentModel;
 16
 17namespace ZH.FileTranferBox
 18{
 19    [Serializable]
 20    public class FileObject
 21    {
 22        字段
 26
 27        属性
148
149        构造函数

抱歉!评论已关闭.