初始化版本

This commit is contained in:
LL
2025-11-14 16:12:32 +08:00
commit ea40f18aa6
326 changed files with 137063 additions and 0 deletions

View 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;
}
}
}