初始化版本
This commit is contained in:
162
tongxin/NetWorkHelper/UDP/Controls/FileTansfersContainer.cs
Normal file
162
tongxin/NetWorkHelper/UDP/Controls/FileTansfersContainer.cs
Normal file
@@ -0,0 +1,162 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
namespace NetWorkHelper
|
||||
{
|
||||
/// <summary>
|
||||
/// <20><><EFBFBD>ͽ<EFBFBD><CDBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/// </summary>
|
||||
public class FileTansfersContainer : Panel
|
||||
{
|
||||
private IFileTransfersItemText _fileTransfersItemText;
|
||||
[Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
|
||||
public IFileTransfersItemText FileTransfersItemText
|
||||
{
|
||||
get
|
||||
{
|
||||
if (this._fileTransfersItemText == null)
|
||||
{
|
||||
this._fileTransfersItemText = new FileTransfersItemText();
|
||||
}
|
||||
return this._fileTransfersItemText;
|
||||
}
|
||||
set
|
||||
{
|
||||
this._fileTransfersItemText = value;
|
||||
foreach (FileTransfersItem item in base.Controls)
|
||||
{
|
||||
item.FileTransfersText = this._fileTransfersItemText;
|
||||
}
|
||||
}
|
||||
}
|
||||
public FileTansfersContainer()
|
||||
{
|
||||
this.AutoScroll = true;
|
||||
}
|
||||
|
||||
private bool _isAutomaticShowHide = true;
|
||||
[Description("<22>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>ؿؼ<D8BF>\r\n(trueΪ<65><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD><D0BD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ʱ<EFBFBD>Զ<EFBFBD><D4B6><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>ؿؼ<D8BF>)")]
|
||||
public bool IsAutomaticShowHide
|
||||
{
|
||||
get { return _isAutomaticShowHide; }
|
||||
set { _isAutomaticShowHide = value; }
|
||||
}
|
||||
|
||||
public FileTransfersItem AddItem(string text, string fileName, Image image, long fileSize, FileTransfersItemStyle style)
|
||||
{
|
||||
FileTransfersItem item = new FileTransfersItem();
|
||||
item.Text = text;
|
||||
item.FileName = fileName;
|
||||
item.Image = image;
|
||||
item.FileSize = fileSize;
|
||||
item.Style = style;
|
||||
item.FileTransfersText = this.FileTransfersItemText;
|
||||
item.Dock = DockStyle.Top;
|
||||
base.SuspendLayout();
|
||||
base.Controls.Add(item);
|
||||
item.BringToFront();
|
||||
base.ResumeLayout(true);
|
||||
if (IsAutomaticShowHide)
|
||||
{
|
||||
base.Visible = base.Controls.Count > 0 ? true : false;
|
||||
}
|
||||
return item;
|
||||
}
|
||||
/// <summary>
|
||||
/// <20><><EFBFBD><EFBFBD>FileTransfersItem<65>ļ<EFBFBD><C4BC><EFBFBD>
|
||||
/// </summary>
|
||||
/// <param name="md5"><3E><><EFBFBD>ƣ<EFBFBD>MD5У<35><D0A3>ֵ<EFBFBD><D6B5></param>
|
||||
/// <param name="typetext"><3E>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD></param>
|
||||
/// <param name="fileName"><3E>ļ<EFBFBD>·<EFBFBD><C2B7></param>
|
||||
/// <param name="image"><3E>ļ<EFBFBD>ͼ<EFBFBD><CDBC></param>
|
||||
/// <param name="fileSize"><3E>ļ<EFBFBD><C4BC><EFBFBD>С</param>
|
||||
/// <param name="style"><3E>ļ<EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鿴<EFBFBD><E9BFB4>FileTransfersItemStyle<6C><65></param>
|
||||
/// <returns></returns>
|
||||
public FileTransfersItem AddItem(string md5, string typetext, string fileName, Image image, long fileSize, FileTransfersItemStyle style)
|
||||
{
|
||||
FileTransfersItem item = new FileTransfersItem();
|
||||
item.Name = md5;
|
||||
item.Text = typetext;
|
||||
item.FileName = fileName;
|
||||
item.Image = image;
|
||||
item.FileSize = fileSize;
|
||||
item.Style = style;
|
||||
item.FileTransfersText = this.FileTransfersItemText;
|
||||
item.Dock = DockStyle.Top;
|
||||
base.SuspendLayout();
|
||||
base.Controls.Add(item);
|
||||
item.BringToFront();
|
||||
base.ResumeLayout(true);
|
||||
if (IsAutomaticShowHide)
|
||||
{
|
||||
base.Visible = base.Controls.Count > 0 ? true : false;
|
||||
}
|
||||
return item;
|
||||
}
|
||||
/// <summary>
|
||||
/// <20>Ƴ<EFBFBD><C6B3><EFBFBD>ӦFileTransfersItem
|
||||
/// </summary>
|
||||
/// <param name="item">FileTransfersItem</param>
|
||||
public void RemoveItem(FileTransfersItem item)
|
||||
{
|
||||
base.Controls.Remove(item);
|
||||
if (IsAutomaticShowHide)
|
||||
{
|
||||
base.Visible = base.Controls.Count > 0 ? true : false;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// <20><><EFBFBD><EFBFBD>MD5<44><35>ֵ<EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD>Ӧ<EFBFBD>ؼ<EFBFBD>
|
||||
/// </summary>
|
||||
/// <param name="md5"></param>
|
||||
public void RemoveItem(string md5)
|
||||
{
|
||||
base.Controls.RemoveByKey(md5);
|
||||
if (IsAutomaticShowHide)
|
||||
{
|
||||
base.Visible = base.Controls.Count > 0 ? true : false;
|
||||
}
|
||||
}
|
||||
|
||||
public void RemoveItem(Predicate<FileTransfersItem> match)
|
||||
{
|
||||
FileTransfersItem itemRemove = null;
|
||||
foreach (FileTransfersItem item in base.Controls)
|
||||
{
|
||||
if (match(item))
|
||||
{
|
||||
itemRemove = item;
|
||||
}
|
||||
}
|
||||
base.Controls.Remove(itemRemove);
|
||||
if (IsAutomaticShowHide)
|
||||
{
|
||||
base.Visible = base.Controls.Count > 0 ? true : false;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// <20><><EFBFBD><EFBFBD>MD5У<35><D0A3>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>FileTransfersItem
|
||||
/// </summary>
|
||||
/// <param name="md5"></param>
|
||||
/// <returns></returns>
|
||||
public FileTransfersItem Search(string md5)
|
||||
{
|
||||
return base.Controls[md5] as FileTransfersItem;
|
||||
}
|
||||
public FileTransfersItem Search(Predicate<FileTransfersItem> match)
|
||||
{
|
||||
FileTransfersItem result;
|
||||
foreach (FileTransfersItem item in base.Controls)
|
||||
{
|
||||
if (match(item))
|
||||
{
|
||||
result = item;
|
||||
return result;
|
||||
}
|
||||
}
|
||||
result = null;
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user