头像功能完善,头像同步更新机制,BUG修复,接下来一段时间针对代码重构,v1.6.9

This commit is contained in:
dathlin
2017-10-10 21:58:53 +08:00
parent 1c4181363e
commit ac410692c1
49 changed files with 751 additions and 542 deletions

View File

@@ -31,21 +31,20 @@ namespace ClientsLibrary
public class UserPortrait
{
#region Constructor
/// <summary>
/// 实例化一个新的头像管理类对象
/// </summary>
/// <param name="filePath">头像存储的文件夹路径</param>
/// <param name="unloadPicSmall">卸载小头像的委托</param>
public UserPortrait(string filePath,Action<string> loadPicSmall, Action unloadPicSmall)
/// <param name="loadPicSmall">加载头像的委托</param>
public UserPortrait(string filePath, Action<Bitmap> loadPicSmall)
{
if (!System.IO.Directory.Exists(filePath))
{
System.IO.Directory.CreateDirectory(filePath);
}
FileSavePath = filePath;
m_UnloadPicSmall = unloadPicSmall;
m_LoadPicSmall = loadPicSmall;
}
@@ -69,7 +68,6 @@ namespace ClientsLibrary
// 先卸载图片
unloadPic?.Invoke();
m_UnloadPicSmall?.Invoke();
Bitmap bitmap300 = fps.GetSpecifiedSizeImage(300);
Bitmap bitmap32 = fps.GetSpecifiedSizeImage(32);
@@ -78,8 +76,8 @@ namespace ClientsLibrary
{
bitmap300.Save(path300);
bitmap32.Save(path32);
bitmap300.Dispose();
bitmap32.Dispose();
bitmap300.Dispose();
}
catch(Exception ex)
{
@@ -89,7 +87,6 @@ namespace ClientsLibrary
// 加载回旧的文件
loadPic?.Invoke(path300);
m_LoadPicSmall?.Invoke(path32);
return;
}
@@ -110,8 +107,8 @@ namespace ClientsLibrary
ThreadPool.QueueUserWorkItem(new WaitCallback(obj =>
{
// 上传文件MD5码
string SmallPortraitMD5 = ""; SoftBasic.CalculateFileMD5(path32);
string LargePortraitMD5 = ""; SoftBasic.CalculateFileMD5(path300);
string SmallPortraitMD5 = "";
string LargePortraitMD5 = "";
try
{
@@ -156,8 +153,7 @@ namespace ClientsLibrary
// 先显示信息
loadPic?.Invoke(path300);
m_LoadPicSmall?.Invoke(path32);
LoadUserSmallPortraint();
}), null);
}
@@ -170,54 +166,40 @@ namespace ClientsLibrary
#region Load Portraint
public static Bitmap DownloadSmallPortraint(string userName)
{
Bitmap bitmap = null;
System.IO.MemoryStream ms = new System.IO.MemoryStream();
OperateResult result = UserClient.Net_File_Client.DownloadFile(
PortraitSupport.SmallPortrait,
"Files",
"Portrait",
userName,
null,
ms
);
if (result.IsSuccess)
{
bitmap = new Bitmap(ms);
}
else
{
bitmap = Properties.Resources.person_1;
}
ms.Dispose();
return bitmap;
}
/// <summary>
/// 加载小尺寸的头像操作,需要放置到线程池中
/// </summary>
public void LoadUserSmallPortraint()
{
// 先获取服务器端的MD5码
string fileMd5 = UserClient.UserAccount.SmallPortraitMD5;
if(string.IsNullOrEmpty(fileMd5))
{
// 服务器端没有文件,加载结束
return;
}
// 获取本地MD5
string fileName = FileSavePath + @"\" + PortraitSupport.SmallPortrait;
if (System.IO.File.Exists(fileName))
{
// 先进行加载
m_LoadPicSmall?.Invoke(fileName);
// 本地存在文件
string currentMd5 = SoftBasic.CalculateFileMD5(fileName);
// 对比验证
if (fileName == currentMd5)
{
return;
}
}
m_UnloadPicSmall?.Invoke();
// 本地不存在文件或校验失败,需要重新下载
OperateResult result = UserClient.Net_File_Client.DownloadFile(PortraitSupport.SmallPortrait,
"Files",
"Portrait",
UserClient.UserAccount.UserName,
null,
fileName);
if(result.IsSuccess)
{
// 下载成功
m_LoadPicSmall?.Invoke(fileName);
}
else
{
MessageBox.Show("头像从服务器下载失败,错误原因:" + result.Message);
}
m_LoadPicSmall?.Invoke(DownloadSmallPortraint(UserClient.UserAccount.UserName));
}
@@ -364,16 +346,11 @@ namespace ClientsLibrary
/// 文件的路径
/// </summary>
private string FileSavePath { get; set; }
/// <summary>
/// 卸载小头像的委托
/// </summary>
private Action m_UnloadPicSmall { get; set; }
/// <summary>
/// 加载小头像的委托
/// </summary>
private Action<string> m_LoadPicSmall { get; set; }
private Action<Bitmap> m_LoadPicSmall { get; set; }
#endregion
}

View File

@@ -55,6 +55,7 @@
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
this.Controls.Add(this.label1);
this.Controls.Add(this.pictureBox1);
this.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));

View File

@@ -49,11 +49,33 @@ namespace ClientsLibrary.BasicSupport
ThreadPool.QueueUserWorkItem(ThreadPoolLoadPortrait, null);
}
/// <summary>
/// 当前网络会话的唯一ID
/// </summary>
public string UniqueId
{
get
{
return m_NetAccount == null ? string.Empty : m_NetAccount.UniqueId;
}
}
/// <summary>
/// 更新头像
/// </summary>
/// <param name="userName"></param>
public void UpdatePortrait(string userName)
{
if (m_NetAccount?.UserName == userName)
{
ThreadPool.QueueUserWorkItem(ThreadPoolLoadPortrait, null);
}
}
private void ThreadPoolLoadPortrait(object obj)
{
// 向服务器请求小头像
if(m_NetAccount!=null)
if (m_NetAccount != null)
{
try
{
@@ -74,7 +96,9 @@ namespace ClientsLibrary.BasicSupport
}
else
{
MessageBox.Show(result.Message);
// 可能网络错误,也可能因为服务器没有头像
// MessageBox.Show(result.Message);
pictureBox1.Image = Properties.Resources.person_1;
}
}
catch (Exception ex)
@@ -89,12 +113,10 @@ namespace ClientsLibrary.BasicSupport
private void NetClientItem_MouseEnter(object sender, EventArgs e)
{
BackColor = Color.AliceBlue;
}
private void NetClientItem_MouseLeave(object sender, EventArgs e)
{
BackColor = SystemColors.Control;
}

View File

@@ -30,6 +30,7 @@
{
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.panel1 = new System.Windows.Forms.Panel();
this.SuspendLayout();
//
// label1
@@ -50,16 +51,27 @@
this.label2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label2.Location = new System.Drawing.Point(101, 4);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(113, 18);
this.label2.Size = new System.Drawing.Size(116, 18);
this.label2.TabIndex = 1;
this.label2.Text = "0";
this.label2.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// panel1
//
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.panel1.AutoScroll = true;
this.panel1.Location = new System.Drawing.Point(0, 27);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(217, 438);
this.panel1.TabIndex = 2;
//
// NetClientOnline
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.AutoScroll = true;
this.Controls.Add(this.panel1);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
@@ -77,5 +89,6 @@
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Panel panel1;
}
}

View File

@@ -23,12 +23,77 @@ namespace ClientsLibrary.BasicSupport
}
private void ClearControls()
{
while (MyControls.Count > 0)
for (int i = MyControls.Count - 1; i >= 0; i--)
{
MyControls.Pop().Dispose();
MyControls[i].Dispose();
MyControls.RemoveAt(i);
}
}
public void ClientOnline(NetAccount account)
{
if (account != null)
{
AddControl(account);
label2.Text = MyControls.Count.ToString();
}
}
public void ClientUpdatePortrait(string userName)
{
for (int i = 0; i < MyControls.Count; i++)
{
MyControls[i].UpdatePortrait(userName);
}
}
public void ClinetOffline(string userName)
{
int index = -1;
for (int i = 0; i < MyControls.Count; i++)
{
if (MyControls[i].UniqueId == userName)
{
index = i;
break;
}
}
if (index >= 0)
{
MyControls[index].Dispose();
MyControls.RemoveAt(index);
// 重新计算偏移
Location_Y = 0 - VerticalScroll.Value;
for (int i = 0; i < MyControls.Count; i++)
{
MyControls[i].Location = new Point(2, Location_Y);
Location_Y += MyControls[i].Height + 4;
}
}
label2.Text = MyControls.Count.ToString();
}
private void AddControl(NetAccount account)
{
NetClientItem item = new NetClientItem();
panel1.Controls.Add(item);
// 添加显示
item.SetNetAccount(account);
item.Location = new Point(2, Location_Y); // 控件的位置
int width = VerticalScroll.Visible ? Width - 4 - SystemInformation.VerticalScrollBarWidth : Width - 4; // 控件的宽度
item.Size = new Size(width, item.Size.Height); // 控件的大小
item.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; // 控件随窗口变化的样式
Location_Y += item.Height + 4; // 位置偏移
MyControls.Add(item);
}
public void SetOnlineRender(NetAccount[] accounts)
{
SuspendLayout();
@@ -41,21 +106,11 @@ namespace ClientsLibrary.BasicSupport
if (accounts.Length > 0 && Width > 20)
{
int location_y = 25 - VerticalScroll.Value;
int Location_Y = 0 - VerticalScroll.Value;
//添加子控件
foreach (var m in accounts)
{
NetClientItem item = new NetClientItem();
Controls.Add(item);
// 添加显示
item.SetNetAccount(m);
item.Location = new Point(2, location_y); // 控件的位置
int width = VerticalScroll.Visible ? Width - 4 - SystemInformation.VerticalScrollBarWidth : Width - 4; // 控件的宽度
item.Size = new Size(width, item.Size.Height); // 控件的大小
item.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; // 控件随窗口变化的样式
location_y += item.Height + 4; // 位置偏移
MyControls.Push(item); // 控件压入堆栈
AddControl(m);
}
}
}
@@ -63,7 +118,9 @@ namespace ClientsLibrary.BasicSupport
ResumeLayout();
}
private Stack<IDisposable> MyControls = new Stack<IDisposable>();
private int Location_Y = 0;
private List<NetClientItem> MyControls = new List<NetClientItem>();
private void NetClientOnline_Paint(object sender, PaintEventArgs e)
{

View File

@@ -252,7 +252,9 @@
<ItemGroup>
<None Include="img\Flagthread_7317.png" />
</ItemGroup>
<ItemGroup />
<ItemGroup>
<None Include="img\person_1.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\7z.png" />
</ItemGroup>

View File

@@ -720,6 +720,16 @@ namespace ClientsLibrary.Properties {
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap person_1 {
get {
object obj = ResourceManager.GetObject("person_1", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>

View File

@@ -118,329 +118,332 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="Flagthread_7317" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\Flagthread_7317.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ExtensionManager_vsix_OSReg_16x" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\ExtensionManager_vsix_OSReg_16x.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="7z" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\7z.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ai" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\ai.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="aiff" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\aiff.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="arj" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\arj.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="asc" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\asc.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="asp" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\asp.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="audio" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\audio.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="avi" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\avi.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="bin" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\bin.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="bmp" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\bmp.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="bz2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\bz2.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="c" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\c.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="cdr" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\cdr.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="cfc" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\cfc.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="cfm" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\cfm.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="chm" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\chm.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="class" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\class.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="conf" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\conf.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="cpp" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\cpp.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="cs" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\cs.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="css" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\css.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="csv" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\csv.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="deb" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\deb.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="divx" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\divx.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="doc" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\doc.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="docx" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\docx.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="dot" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\dot.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="eml" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\eml.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="enc" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\enc.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="eps" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\eps.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="exe" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\exe.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="f4v" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\f4v.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="file" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\file.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="flv" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\flv.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="gif" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\gif.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="gz" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\gz.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="hlp" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\hlp.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="htm" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\htm.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="html" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\html.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ics" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\ics.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="image" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\image.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="iso" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\iso.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="jar" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\jar.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="java" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\java.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="jpg" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\jpg.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="js" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\js.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="jsp" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\jsp.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="lua" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\lua.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="m" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\m.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="mm" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\mm.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="mov" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\mov.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="mp3" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\mp3.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="mpg" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\mpg.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="msi" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\msi.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="odc" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\odc.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="odf" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\odf.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="odg" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\odg.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="odi" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\odi.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="odp" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\odp.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ods" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\ods.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="odt" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\odt.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ogg" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\ogg.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="pdf" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\pdf.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="perl" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\perl.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="pgp" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\pgp.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="php" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\php.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="pl" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\pl.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="png" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\png.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ppt" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\ppt.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ps" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\ps.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="psd" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\psd.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="py" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\py.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="xul" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\xul.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ram" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\ram.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="iso" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\iso.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="rar" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\rar.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="java" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\java.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="rb" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\rb.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="ExtensionManager_vsix_OSReg_16x" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\ExtensionManager_vsix_OSReg_16x.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="rm" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\rm.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="rpm" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\rpm.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="rtf" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\rtf.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="ps" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\ps.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ruby" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\ruby.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="sig" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\sig.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="wav" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\wav.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="sql" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\sql.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="svg" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\svg.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="swf" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\swf.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="sxc" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\sxc.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="sxd" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\sxd.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="sxi" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\sxi.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="sxw" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\sxw.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="gif" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\gif.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="tar" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\tar.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="tex" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\tex.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="hlp" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\hlp.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="tgz" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\tgz.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="mp3" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\mp3.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="tif" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\tif.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="mov" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\mov.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ttf" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\ttf.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="asp" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\asp.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="txt" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\txt.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="eml" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\eml.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="vb" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\vb.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="vcf" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\vcf.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="vdo" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\vdo.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="video" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\video.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="7z" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\7z.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="vsd" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\vsd.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="wav" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\wav.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="avi" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\avi.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="wma" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\wma.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="png" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\png.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="txt" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\txt.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="rm" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\rm.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="conf" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\conf.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="mm" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\mm.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="js" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\js.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="bmp" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\bmp.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="aiff" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\aiff.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="tgz" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\tgz.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="htm" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\htm.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="swf" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\swf.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="rpm" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\rpm.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="csv" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\csv.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="audio" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\audio.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="sxc" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\sxc.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="arj" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\arj.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="xls" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\xls.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="xml" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\xml.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="video" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\video.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="xpi" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\xpi.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="wma" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\wma.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="xul" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\xul.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="cfc" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\cfc.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="xvid" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\xvid.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="gz" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\gz.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="sig" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\sig.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="vdo" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\vdo.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ppt" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\ppt.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="image" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\image.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Flagthread_7317" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\Flagthread_7317.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="vcf" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\vcf.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="m" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\m.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="chm" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\chm.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="rb" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\rb.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="php" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\php.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="tif" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\tif.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="sxi" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\sxi.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="divx" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\divx.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="cfm" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\cfm.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="zip" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\zip.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ttf" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\ttf.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="odi" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\odi.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="msi" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\msi.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="cpp" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\cpp.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ram" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\ram.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="jsp" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\jsp.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ai" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\ai.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="file" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\file.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="docx" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\docx.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="vb" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\vb.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="deb" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\deb.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="mpg" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\mpg.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="py" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\py.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="pgp" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\pgp.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="svg" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\svg.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="sxd" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\sxd.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ogg" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\ogg.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="jpg" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\jpg.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="jar" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\jar.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="sxw" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\sxw.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="doc" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\doc.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ods" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\ods.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="bin" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\bin.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="exe" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\exe.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="xvid" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\xvid.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="enc" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\enc.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="bz2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\bz2.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="flv" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\flv.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="asc" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\asc.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="css" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\css.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="pl" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\pl.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="cdr" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\cdr.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="class" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\class.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="perl" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\perl.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="f4v" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\f4v.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="xml" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\xml.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="odc" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\odc.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="rtf" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\rtf.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="pdf" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\pdf.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="odp" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\odp.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="odt" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\odt.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="c" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\c.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ics" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\ics.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="tex" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\tex.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="sql" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\sql.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="eps" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\eps.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="dot" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\dot.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="odg" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\odg.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="rar" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\rar.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="odf" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\odf.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="xpi" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\xpi.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="lua" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\lua.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="html" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\fileIcon\html.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="person_1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\img\person_1.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

View File

@@ -36,7 +36,7 @@ namespace ClientsLibrary
/// <summary>
/// 本软件的当前版本,用来验证更新的关键依据
/// </summary>
public static SystemVersion CurrentVersion { get; } = new SystemVersion("1.0.0.171009");
public static SystemVersion CurrentVersion { get; } = new SystemVersion("1.0.0.171010");
/// <summary>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -34,5 +34,9 @@ namespace CommonLibrary
/// 包含的角色名称
/// </summary>
public string[] Roles { get; set; }
/// <summary>
/// 本地连接唯一的身份标识
/// </summary>
public string UniqueId { get; set; }
}
}

View File

@@ -45,7 +45,7 @@ namespace CommonLibrary
*
**************************************************************************/
SoftBasic.FrameworkVersion = new SystemVersion("1.6.8");
SoftBasic.FrameworkVersion = new SystemVersion("1.6.9");
}

View File

@@ -139,6 +139,9 @@ namespace CommonLibrary
public static NetHandle { get; } = new NetHandle(2, 1, 00005);
public static NetHandle { get; } = new NetHandle(2, 1, 00006);
public static NetHandle { get; } = new NetHandle(2, 1, 00007);
public static NetHandle 线 { get; } = new NetHandle(2, 1, 00008);
public static NetHandle 线 { get; } = new NetHandle(2, 1, 00009);
public static NetHandle { get; } = new NetHandle(2, 1, 00010);
/**************************************************************************************

Binary file not shown.

View File

@@ -2872,7 +2872,17 @@
异步多客户端网络的对象
</summary>
</member>
<member name="P:HslCommunication.Enthernet.AsyncStateOne._IpEnd_Point">
<member name="M:HslCommunication.Enthernet.AsyncStateOne.#ctor">
<summary>
实例化一个对象
</summary>
</member>
<member name="P:HslCommunication.Enthernet.AsyncStateOne.IpAddress">
<summary>
IP地址
</summary>
</member>
<member name="P:HslCommunication.Enthernet.AsyncStateOne.IpEndPoint">
<summary>
此连接对象连接的远程客户端
</summary>
@@ -2882,7 +2892,7 @@
远程对象的别名
</summary>
</member>
<member name="P:HslCommunication.Enthernet.AsyncStateOne._Heart_Time">
<member name="P:HslCommunication.Enthernet.AsyncStateOne.HeartTime">
<summary>
心跳验证的时间点
</summary>
@@ -2892,6 +2902,11 @@
客户端的类型
</summary>
</member>
<member name="P:HslCommunication.Enthernet.AsyncStateOne.ClientUniqueID">
<summary>
客户端唯一的标识
</summary>
</member>
<member name="F:HslCommunication.Enthernet.AsyncStateOne.UdpEndPoint">
<summary>
UDP通信中的远程端

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -160,7 +160,7 @@
<TextBlock x:Name="TextBlock_Information" Foreground="DodgerBlue"></TextBlock>
</StackPanel>
<StackPanel Grid.Column="1" Orientation="Horizontal">
<StackPanel Grid.Column="1" Orientation="Horizontal" >
<TextBlock>时间:</TextBlock>
<TextBlock x:Name="TextBlock_ServerTime">0000-00-00 00:00:00</TextBlock>
<TextBlock Margin="20,0,0,0">延迟:</TextBlock>
@@ -278,8 +278,12 @@
</Border>
<TextBlock Grid.Row="1" Grid.Column="0">在线信息:</TextBlock>
<!--<ListBox Grid.Row="2" Grid.ColumnSpan="2" x:Name="ListBox_Onlines" FontSize="10.5"></ListBox>-->
<StackPanel Grid.Row="2" Grid.ColumnSpan="2" Name="ClientsOnline" Orientation="Vertical"
Margin="0,4,0,0"></StackPanel>
<ScrollViewer Grid.Row="2" Grid.ColumnSpan="2" >
<StackPanel Name="ClientsOnline" Orientation="Vertical"
Margin="0,4,0,0" ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.HorizontalScrollBarVisibility="Hidden"></StackPanel>
</ScrollViewer>
</Grid>
</GroupBox>
</Grid>

View File

@@ -116,7 +116,7 @@ namespace 软件系统客户端Wpf
//SendServerUdpData(0, "显示了窗体");
//是否显示更新日志,显示前进行判断该版本是否已经显示过了
if (UserClient.JsonSettings.IsNewVersionRunning)
if (!UserClient.JsonSettings.IsNewVersionRunning)
{
UserClient.JsonSettings.IsNewVersionRunning = false;
UserClient.JsonSettings.SaveToFile();
@@ -432,29 +432,29 @@ namespace 软件系统客户端Wpf
{
if (customer == CommonHeadCode.MultiNetHeadCode.)
{
if(IsWindowShow) Dispatcher.Invoke(new Action(() =>
{
FormPopup fpp = new FormPopup(data, System.Drawing.Color.DodgerBlue, 10000);
fpp.Show();
}));
if (IsWindowShow) Dispatcher.Invoke(new Action(() =>
{
FormPopup fpp = new FormPopup(data, System.Drawing.Color.DodgerBlue, 10000);
fpp.Show();
}));
}
else if (customer == CommonHeadCode.MultiNetHeadCode.线)
{
if (IsWindowShow) Dispatcher.Invoke(new Action(() =>
{
// ListBox_Onlines.ItemsSource = data.Split('#');
//if (IsWindowShow) Dispatcher.Invoke(new Action(() =>
//{
// // ListBox_Onlines.ItemsSource = data.Split('#');
ClientsOnline.Children.Clear();
NetAccount[] accounts = JArray.Parse(data).ToObject<NetAccount[]>();
// ClientsOnline.Children.Clear();
// NetAccount[] accounts = JArray.Parse(data).ToObject<NetAccount[]>();
foreach(var m in accounts)
{
Views.Controls.UserClientRenderItem userClient = new Views.Controls.UserClientRenderItem();
userClient.SetClientRender(m);
ClientsOnline.Children.Add(userClient);
}
// foreach(var m in accounts)
// {
// Views.Controls.UserClientRenderItem userClient = new Views.Controls.UserClientRenderItem();
// userClient.SetClientRender(m);
// ClientsOnline.Children.Add(userClient);
// }
}));
//}));
}
else if (customer == CommonHeadCode.MultiNetHeadCode.)
{
@@ -482,11 +482,24 @@ namespace 软件系统客户端Wpf
List<string> chats = JArray.Parse(json["chats"].ToString()).ToObject<List<string>>();
StringBuilder sb = new StringBuilder();
chats.ForEach(m => { sb.Append(m + Environment.NewLine); });
if (IsWindowShow) Dispatcher.Invoke(new Action(() =>
{
TextBlock_ServerTime.Text = UserClient.DateTimeServer.ToString("yyyy-MM-dd HH:mm:ss");
TextBlock_FileCount.Text = json["FileCount"].ToObject<int>().ToString();
UIControls_Chat.AddChatsHistory(sb.ToString());
ClientsOnline.Children.Clear();
NetAccount[] accounts = JArray.Parse(json["ClientsOnline"].ToString()).ToObject<NetAccount[]>();
foreach (var m in accounts)
{
Views.Controls.UserClientRenderItem userClient = new Views.Controls.UserClientRenderItem();
userClient.SetClientRender(m);
ClientsOnline.Children.Add(userClient);
}
}));
}
else if (customer == CommonHeadCode.MultiNetHeadCode.)
@@ -503,6 +516,40 @@ namespace 软件系统客户端Wpf
UIControls_Chat?.DealwithReceive(data);
}));
}
else if (customer == CommonHeadCode.MultiNetHeadCode.线)
{
if (IsWindowShow) Dispatcher.Invoke(new Action(() =>
{
Views.Controls.UserClientRenderItem userClient = new Views.Controls.UserClientRenderItem();
userClient.SetClientRender(JObject.Parse(data).ToObject<NetAccount>());
ClientsOnline.Children.Add(userClient);
}));
}
else if (customer == CommonHeadCode.MultiNetHeadCode.线)
{
if (IsWindowShow) Dispatcher.Invoke(new Action(() =>
{
Views.Controls.UserClientRenderItem item = null;
foreach (Views.Controls.UserClientRenderItem m in ClientsOnline.Children)
{
if(m?.UniqueId == data)
{
item = m;
}
}
if (item != null) ClientsOnline.Children.Remove(item);
}));
}
else if(customer == CommonHeadCode.MultiNetHeadCode.)
{
if (IsWindowShow) Dispatcher.Invoke(new Action(() =>
{
foreach (Views.Controls.UserClientRenderItem m in ClientsOnline.Children)
{
m.UpdatePortrait(data);
}
}));
}
}
private void Net_socket_client_AcceptByte(AsyncStateOne object1, NetHandle customer, byte[] object2)
@@ -642,26 +689,25 @@ namespace 软件系统客户端Wpf
private void SoftUserPortraitInitialization()
{
SoftUserPortrait = new UserPortrait(AppDomain.CurrentDomain.BaseDirectory + @"Portrait\" + UserClient.UserAccount.UserName,
m => {
SoftUserPortrait = new UserPortrait(AppDomain.CurrentDomain.BaseDirectory +
@"Portrait\" + UserClient.UserAccount.UserName, ShowSmallPortrait);
}
if (IsWindowShow) Dispatcher.Invoke(new Action(() =>
{
byte[] content = File.ReadAllBytes(m);
BitmapImage bi = new BitmapImage();
bi.BeginInit();
bi.StreamSource = new MemoryStream(content);
bi.EndInit();
private void ShowSmallPortrait(System.Drawing.Bitmap bitmap)
{
if (IsWindowShow) Dispatcher.Invoke(new Action(() =>
{
MemoryStream ms = new MemoryStream();
bitmap.Save(ms, bitmap.RawFormat);
bitmap.Dispose();
AccountPortrait.Source = bi;
}));
},
()=>
{
if (IsWindowShow) Dispatcher.Invoke(new Action(() => {
AccountPortrait.Source = null;
}));
});
BitmapImage bi = new BitmapImage();
bi.BeginInit();
bi.StreamSource = ms;
bi.EndInit();
AccountPortrait.Source = bi;
}));
}

View File

@@ -1,71 +1,73 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本: 4.0.30319.42000
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// 对此文件的更改可能导致不正确的行为,并且如果
// 重新生成代码,这些更改将丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace Wpf.Properties
{
namespace Wpf.Properties {
using System;
/// <summary>
/// 强类型资源类,用于查找本地化字符串等。
/// 一个强类型资源类,用于查找本地化字符串等。
/// </summary>
// 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// 若要添加或除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources
{
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources()
{
internal Resources() {
}
/// <summary>
/// 返回此类使用的缓存 ResourceManager 实例。
/// 返回此类使用的缓存 ResourceManager 实例。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager
{
get
{
if ((resourceMan == null))
{
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("软件系统客户端Wpf.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// 覆盖当前线程的 CurrentUICulture 属性
/// 使用此强类型的资源类的资源查找
/// 使用此强类型资源类,为所有资源查找
/// 重写当前线程的 CurrentUICulture 属性
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture
{
get
{
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set
{
set {
resourceCulture = value;
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap person_1 {
get {
object obj = ResourceManager.GetObject("person_1", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}

View File

@@ -46,7 +46,7 @@
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
@@ -60,6 +60,7 @@
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
@@ -68,9 +69,10 @@
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
@@ -85,9 +87,10 @@
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
@@ -109,9 +112,13 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="person_1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Image\person_1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

View File

@@ -9,7 +9,7 @@
<Grid HorizontalAlignment="Stretch">
<materialDesign:Chip HorizontalAlignment="Stretch">
<materialDesign:Chip.Icon>
<Image Name="Image1" />
<Image Name="Image1"/>
</materialDesign:Chip.Icon>
<materialDesign:Chip.Content>
<Grid>

View File

@@ -2,6 +2,7 @@
using CommonLibrary;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@@ -28,12 +29,20 @@ namespace 软件系统客户端Wpf.Views.Controls
}
public string UniqueId
{
get
{
return netAccount == null ? string.Empty : netAccount.UniqueId;
}
}
public void SetClientRender(NetAccount account)
{
if (account != null)
{
netAccount = account;
UserName.Text = string.IsNullOrEmpty(account.Alias) ? account.UserName : account.Alias;
Factory.Text = $"({account.Factory})";
@@ -63,7 +72,13 @@ namespace 软件系统客户端Wpf.Views.Controls
}
public void UpdatePortrait(string userName)
{
if(netAccount?.UserName == userName)
{
System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback(ThreadPoolLoadPortrait), netAccount);
}
}
private void ThreadPoolLoadPortrait(object obj)
{
// 向服务器请求小头像
@@ -71,31 +86,19 @@ namespace 软件系统客户端Wpf.Views.Controls
{
try
{
System.IO.MemoryStream ms = new System.IO.MemoryStream();
System.Drawing.Bitmap bitmap = UserPortrait.DownloadSmallPortraint(m_NetAccount.UserName);
MemoryStream ms = new MemoryStream();
bitmap.Save(ms, bitmap.RawFormat);
bitmap.Dispose();
HslCommunication.OperateResult result = UserClient.Net_File_Client.DownloadFile(
PortraitSupport.SmallPortrait,
"Files",
"Portrait",
m_NetAccount.UserName,
null,
ms
);
if (result.IsSuccess)
Dispatcher.Invoke(new Action(() =>
{
Dispatcher.Invoke(new Action(() =>
{
BitmapImage bi = new BitmapImage();
bi.BeginInit();
bi.StreamSource = ms;
bi.EndInit();
Image1.Source = bi;
}));
}
else
{
MessageBox.Show(result.Message);
}
BitmapImage bi = new BitmapImage();
bi.BeginInit();
bi.StreamSource = ms;
bi.EndInit();
Image1.Source = bi;
}));
}
catch (Exception ex)
{
@@ -103,5 +106,8 @@ namespace 软件系统客户端Wpf.Views.Controls
}
}
}
private NetAccount netAccount = null;
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 107 KiB

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

After

Width:  |  Height:  |  Size: 105 KiB

View File

@@ -172,6 +172,8 @@
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup />
<ItemGroup>
<None Include="Image\person_1.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@@ -78,6 +78,7 @@
this.label10 = new System.Windows.Forms.Label();
this.panel_main = new System.Windows.Forms.Panel();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.netClientOnline1 = new ClientsLibrary.BasicSupport.NetClientOnline();
this.statusStrip1.SuspendLayout();
this.menuStrip1.SuspendLayout();
@@ -165,11 +166,12 @@
//
this.ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.ToolStripMenuItem,
this.ToolStripMenuItem,
this.ToolStripMenuItem,
this.ToolStripMenuItem,
this.ToolStripMenuItem,
this.ToolStripMenuItem,
this.toolStripSeparator1,
this.ToolStripMenuItem,
this.ToolStripMenuItem,
this.ToolStripMenuItem,
this.ToolStripMenuItem});
this.ToolStripMenuItem.Image = global::.Properties.Resources.Team_32xLG;
@@ -541,12 +543,16 @@
this.pictureBox1.TabStop = false;
this.pictureBox1.Click += new System.EventHandler(this.pictureBox1_Click);
//
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(161, 6);
//
// netClientOnline1
//
this.netClientOnline1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.netClientOnline1.AutoScroll = true;
this.netClientOnline1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.netClientOnline1.Location = new System.Drawing.Point(5, 164);
this.netClientOnline1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
@@ -640,6 +646,7 @@
private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem;
private ClientsLibrary.BasicSupport.NetClientOnline netClientOnline1;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
}
}

View File

@@ -39,7 +39,7 @@ using HslCommunication.LogNet;
/*****************************************************************************************
*
* 权限说明 在进行特定权限操作的业务逻辑时,应该提炼成一个角色,这样可以动态绑定带有这些功能的账户
* 示例 if (UserClient.CheckUserAccountRole("审计员")) { dosomething(); }// 获取了审计员的角色,名字此处示例
* 示例 if (UserClient.CheckUserAccountRole([审计员的GUID码])) { dosomething(); }// 获取了审计员的角色,名字此处示例
*
******************************************************************************************/
@@ -93,10 +93,7 @@ namespace 软件系统客户端模版
net_socket_client.LoginSuccess += Net_socket_client_LoginSuccess;
net_socket_client.AcceptByte += Net_socket_client_AcceptByte;
net_socket_client.AcceptString += Net_socket_client_AcceptString;
// 启动网络服务
Net_Socket_Client_Initialization();
// 启动头像
SoftUserPortraitInitialization();
// 显示公告
label_Announcement.Text = UserClient.Announcement;
// 显示版本
@@ -109,7 +106,6 @@ namespace 软件系统客户端模版
{
// 窗口显示
IsWindowShow = true;
// udp测试
// SendServerUdpData(0, "显示了窗体");
@@ -137,6 +133,11 @@ namespace 软件系统客户端模版
ToolStripMenuItem.Enabled = false;
ToolStripMenuItem.Enabled = false;
}
// 启动网络服务
Net_Socket_Client_Initialization();
// 启动头像
SoftUserPortraitInitialization();
// 启动定时器
TimeTickInitilization();
// 显示头像
@@ -387,14 +388,14 @@ namespace 软件系统客户端模版
}
else if (customer == CommonHeadCode.MultiNetHeadCode.线)
{
if (IsHandleCreated) Invoke(new Action(() =>
{
// listBox1.DataSource = data.Split('#');
//if (IsHandleCreated) Invoke(new Action(() =>
//{
// // listBox1.DataSource = data.Split('#');
NetAccount[] accounts = JArray.Parse(data).ToObject<NetAccount[]>();
// NetAccount[] accounts = JArray.Parse(data).ToObject<NetAccount[]>();
netClientOnline1.SetOnlineRender(accounts);
}));
// netClientOnline1.SetOnlineRender(accounts);
//}));
}
else if (customer == CommonHeadCode.MultiNetHeadCode.)
{
@@ -422,11 +423,16 @@ namespace 软件系统客户端模版
List<string> chats = JArray.Parse(json["chats"].ToString()).ToObject<List<string>>();
StringBuilder sb = new StringBuilder();
chats.ForEach(m => { sb.Append(m + Environment.NewLine); });
if (IsHandleCreated) Invoke(new Action(() =>
{
toolStripStatusLabel_time.Text = UserClient.DateTimeServer.ToString("yyyy-MM-dd HH:mm:ss");
label_file_count.Text = json["FileCount"].ToObject<int>().ToString();
UIControls_Chat.AddChatsHistory(sb.ToString());
NetAccount[] accounts = JArray.Parse(json["ClientsOnline"].ToString()).ToObject<NetAccount[]>();
netClientOnline1.SetOnlineRender(accounts);
}));
}
else if (customer == CommonHeadCode.MultiNetHeadCode.)
@@ -443,6 +449,27 @@ namespace 软件系统客户端模版
UIControls_Chat?.DealwithReceive(data);
}));
}
else if(customer == CommonHeadCode.MultiNetHeadCode.线)
{
if (IsHandleCreated) Invoke(new Action(() =>
{
netClientOnline1.ClientOnline(JObject.Parse(data).ToObject<NetAccount>());
}));
}
else if(customer == CommonHeadCode.MultiNetHeadCode.线)
{
if (IsHandleCreated) Invoke(new Action(() =>
{
netClientOnline1.ClinetOffline(data);
}));
}
else if(customer == CommonHeadCode.MultiNetHeadCode.)
{
if (IsHandleCreated) Invoke(new Action(() =>
{
netClientOnline1.ClientUpdatePortrait(data);
}));
}
}
private void Net_socket_client_AcceptByte(AsyncStateOne object1, NetHandle customer, byte[] object2)
@@ -692,24 +719,23 @@ namespace 软件系统客户端模版
private void SoftUserPortraitInitialization()
{
SoftUserPortrait = new UserPortrait(
Application.StartupPath + @"\Portrait\" + UserClient.UserAccount.UserName,
LoadSmallProtraitAsync, UnloadSmallProtrait);
SoftUserPortrait = new UserPortrait(Application.StartupPath +
@"\Portrait\" + UserClient.UserAccount.UserName, LoadSmallProtraitAsync);
}
private void LoadSmallProtraitAsync(string fileName)
private void LoadSmallProtraitAsync(Bitmap bitmap)
{
if (IsHandleCreated && InvokeRequired)
{
Invoke(new Action(() =>
{
LoadSmallProtraitAsync(fileName);
LoadSmallProtraitAsync(bitmap);
}));
return;
}
pictureBox1.LoadAsync(fileName);
pictureBox1.Image = bitmap;
}
private void UnloadSmallProtrait()

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 285 KiB

After

Width:  |  Height:  |  Size: 317 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 KiB

After

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 66 KiB

View File

@@ -506,16 +506,16 @@ namespace 软件系统服务端模版
// 先判定框架版本是否正确
if (!UserServer.ServerSettings.AllowLoginWhenFramewordVersionNotCheck)
{
SystemVersion sv = new SystemVersion(frameworkVersion);
if (sv < SoftBasic.FrameworkVersion)
{
account.LoginEnable = false;
account.ForbidMessage = "框架版本检测失败,请更新";
RuntimeLogHelper?.WriteWarn("框架版本验证失败version:" + frameworkVersion);
}
}
//if (!UserServer.ServerSettings.AllowLoginWhenFramewordVersionNotCheck)
//{
// SystemVersion sv = new SystemVersion(frameworkVersion);
// if (sv < SoftBasic.FrameworkVersion)
// {
// account.LoginEnable = false;
// account.ForbidMessage = "框架版本检测失败,请更新";
// RuntimeLogHelper?.WriteWarn("框架版本验证失败version:" + frameworkVersion);
// }
//}
// 检测是否重复登录
if (account.LoginEnable)
@@ -627,11 +627,17 @@ namespace 软件系统服务端模版
UserServer.ServerAccounts.UpdatePortraitMD5(UserName, SmallPortraitMD5, LargePortraitMD5);
net_simplify_server.SendMessage(state, handle, "成功");
// 推送头像更新消息
net_socket_server.SendAllClients(CommonHeadCode.MultiNetHeadCode., UserName);
}
catch(Exception ex)
{
net_simplify_server.SendMessage(state, handle, "失败,原因是:" + ex.Message);
}
}
else if(handle==CommonHeadCode.SimplifyHeadCode.)
{
@@ -971,56 +977,63 @@ namespace 软件系统服务端模版
private void Net_socket_server_ClientOffline(AsyncStateOne object1, string object2)
{
RemoveOnlineClient(object1.LoginAlias);
RemoveOnlineClient(object1.ClientUniqueID);
net_socket_server.SendAllClients(CommonHeadCode.MultiNetHeadCode.线, object1.ClientUniqueID);
UserInterfaceMessageRender(DateTime.Now.ToString("MM-dd HH:mm:ss ") + object1._IpEnd_Point.Address.ToString() + "" + object1.LoginAlias + " " + object2);
UserInterfaceMessageRender(DateTime.Now.ToString("MM-dd HH:mm:ss ") + object1.IpAddress + "" + object1.LoginAlias + " " + object2);
}
private void Net_socket_server_ClientOnline(AsyncStateOne object1)
{
AddOnlineClient(object1.LoginAlias, object1._IpEnd_Point.Address.ToString());
// 上线后回发一条数据初始化信息
JObject json = new JObject
{
{ "Time", new JValue(DateTime.Now) },
{ "FileCount", new JValue(ShareFileContainer.FileCount) },
{ "chats", new JValue(Chats_Managment.ToSaveString())}
{ "chats", new JValue(Chats_Managment.ToSaveString())},
{ "ClientsOnline", new JValue(ClientsOnlineCache) }
};
// 发送客户端的初始化数据
net_socket_server.Send(object1, CommonHeadCode.MultiNetHeadCode., json.ToString());
// 触发上下线功能
UserInterfaceMessageRender(DateTime.Now.ToString("MM-dd HH:mm:ss ") + object1._IpEnd_Point.Address.ToString() + "" + object1.LoginAlias + " 上线");
UserInterfaceMessageRender(DateTime.Now.ToString("MM-dd HH:mm:ss ") + object1.IpAddress + "" + object1.LoginAlias + " 上线");
NetAccount account = new NetAccount();
account.UserName = object1.LoginAlias;
account.Roles = UserServer.ServerRoles.GetRolesByUserName(object1.LoginAlias);
account.IpAddress = object1.IpAddress;
account.Alias = UserServer.ServerAccounts.GetAccountAlias(object1.LoginAlias);
account.Factory = UserServer.ServerAccounts.GetAccountFactory(object1.LoginAlias);
account.LoginTime = DateTime.Now;
account.UniqueId = object1.ClientUniqueID;
AddOnlineClient(account);
Thread.Sleep(100);
net_socket_server.SendAllClients(CommonHeadCode.MultiNetHeadCode.线, JObject.FromObject(account).ToString());
}
private List<NetAccount> OnlineClients = new List<NetAccount>();
private SimpleHybirdLock hybirdLock = new SimpleHybirdLock();
private void AddOnlineClient(string userName,string ip)
private void AddOnlineClient(NetAccount account)
{
NetAccount account = new NetAccount();
account.UserName = userName;
account.Roles = UserServer.ServerRoles.GetRolesByUserName(userName);
account.IpAddress = ip;
account.Alias = UserServer.ServerAccounts.GetAccountAlias(userName);
account.Factory = UserServer.ServerAccounts.GetAccountFactory(userName);
account.LoginTime = DateTime.Now;
hybirdLock.Enter();
OnlineClients.Add(account);
ClientsOnlineCache = JArray.FromObject(OnlineClients).ToString();
hybirdLock.Leave();
}
private void RemoveOnlineClient(string userName)
private void RemoveOnlineClient(string uniqueId)
{
hybirdLock.Enter();
int index = -1;
for (int i = 0; i < OnlineClients.Count; i++)
{
if (OnlineClients[i].UserName == userName)
if (OnlineClients[i].UniqueId == uniqueId)
{
index = i;
break;
@@ -1032,21 +1045,12 @@ namespace 软件系统服务端模版
OnlineClients.RemoveAt(index);
}
ClientsOnlineCache = JArray.FromObject(OnlineClients).ToString();
hybirdLock.Leave();
}
private string GetOnlineClientsJson()
{
string result = string.Empty;
hybirdLock.Enter();
result = JArray.FromObject(OnlineClients).ToString();
hybirdLock.Leave();
return result;
}
private string ClientsOnlineCache = "[]";
@@ -1063,8 +1067,6 @@ namespace 软件系统服务端模版
label4.Text = net_socket_server.ClientCount.ToString();
}));
}
net_socket_server.SendAllClients(CommonHeadCode.MultiNetHeadCode.线, GetOnlineClientsJson());
}
/// <summary>
@@ -1359,7 +1361,7 @@ namespace 软件系统服务端模版
//此处为测试
Invoke(new Action(() =>
{
textBox1.AppendText($"{DateTime.Now.ToString("MM-dd HH:mm:ss ")}来自IP:{state._IpEnd_Point.Address.ToString()} 内容:{data}{Environment.NewLine}");
textBox1.AppendText($"{DateTime.Now.ToString("MM-dd HH:mm:ss ")}来自IP:{state.IpEndPoint.Address.ToString()} 内容:{data}{Environment.NewLine}");
}));
}