大面积更新,主要文件功能块更改,账号新增BUG修复,新增框架版本验证,v1.5.0

This commit is contained in:
dathlin
2017-10-01 15:59:37 +08:00
parent bf3b9d5712
commit 4288d3313f
146 changed files with 5319 additions and 1361 deletions

View File

@@ -85,10 +85,11 @@ namespace ClientsLibrary
// 包装数据
JObject json = new JObject
{
{ UserAccount.UserNameText, new JValue(userName) },
{ UserAccount.PasswordText, new JValue(password) },
{ UserAccount.LoginWayText, new JValue(clientType) },
{ UserAccount.DeviceUniqueID, new JValue(UserClient.JsonSettings.SystemInfo) }
{ UserAccount.UserNameText, new JValue(userName) }, // 用户名
{ UserAccount.PasswordText, new JValue(password) }, // 密码
{ UserAccount.LoginWayText, new JValue(clientType) }, // 登录方式
{ UserAccount.DeviceUniqueID, new JValue(UserClient.JsonSettings.SystemInfo) }, // 客户端唯一ID
{ UserAccount.FrameworkVersion, new JValue(SoftBasic.FrameworkVersion.ToString()) } // 客户端框架版本
};
result = UserClient.Net_simplify_client.ReadFromServer(CommonHeadCode.SimplifyHeadCode., json.ToString());
if (result.IsSuccess)
@@ -125,7 +126,7 @@ namespace ClientsLibrary
// 延时
Thread.Sleep(200);
result = UserClient.Net_simplify_client.ReadFromServer(CommonLibrary.CommonHeadCode.SimplifyHeadCode.);
result = UserClient.Net_simplify_client.ReadFromServer(CommonHeadCode.SimplifyHeadCode.);
if (result.IsSuccess)
{
// 服务器应该返回服务器的版本号

View File

@@ -55,10 +55,16 @@
this.textBox_UserName = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.userButton2 = new HslCommunication.Controls.UserButton();
this.userButton1 = new HslCommunication.Controls.UserButton();
this.userButton_delete = new HslCommunication.Controls.UserButton();
this.userButton_download = new HslCommunication.Controls.UserButton();
this.userButton_upload = new HslCommunication.Controls.UserButton();
this.treeView1 = new System.Windows.Forms.TreeView();
this.textBox_file_name = new System.Windows.Forms.TextBox();
this.label_fileName = new System.Windows.Forms.Label();
this.textBox_file_size = new System.Windows.Forms.TextBox();
this.label_fileSize = new System.Windows.Forms.Label();
this.textBox_file_uploadTime = new System.Windows.Forms.TextBox();
this.label_uploadTime = new System.Windows.Forms.Label();
this.groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox_UserPortrait)).BeginInit();
this.groupBox2.SuspendLayout();
@@ -322,8 +328,14 @@
//
this.groupBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.groupBox2.Controls.Add(this.userButton2);
this.groupBox2.Controls.Add(this.userButton1);
this.groupBox2.Controls.Add(this.textBox_file_uploadTime);
this.groupBox2.Controls.Add(this.label_uploadTime);
this.groupBox2.Controls.Add(this.textBox_file_size);
this.groupBox2.Controls.Add(this.label_fileSize);
this.groupBox2.Controls.Add(this.textBox_file_name);
this.groupBox2.Controls.Add(this.label_fileName);
this.groupBox2.Controls.Add(this.userButton_delete);
this.groupBox2.Controls.Add(this.userButton_download);
this.groupBox2.Controls.Add(this.userButton_upload);
this.groupBox2.Controls.Add(this.treeView1);
this.groupBox2.Location = new System.Drawing.Point(322, 12);
@@ -333,35 +345,35 @@
this.groupBox2.TabStop = false;
this.groupBox2.Text = "个人文件,支持拖拽上传,双击下载";
//
// userButton2
// userButton_delete
//
this.userButton2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.userButton2.BackColor = System.Drawing.Color.Transparent;
this.userButton2.CustomerInformation = "";
this.userButton2.EnableColor = System.Drawing.Color.FromArgb(((int)(((byte)(190)))), ((int)(((byte)(190)))), ((int)(((byte)(190)))));
this.userButton2.Font = new System.Drawing.Font("微软雅黑", 9F);
this.userButton2.Location = new System.Drawing.Point(297, 460);
this.userButton2.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.userButton2.Name = "userButton2";
this.userButton2.Size = new System.Drawing.Size(65, 23);
this.userButton2.TabIndex = 10;
this.userButton2.UIText = "删除";
this.userButton2.Click += new System.EventHandler(this.userButton2_Click);
this.userButton_delete.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.userButton_delete.BackColor = System.Drawing.Color.Transparent;
this.userButton_delete.CustomerInformation = "";
this.userButton_delete.EnableColor = System.Drawing.Color.FromArgb(((int)(((byte)(190)))), ((int)(((byte)(190)))), ((int)(((byte)(190)))));
this.userButton_delete.Font = new System.Drawing.Font("微软雅黑", 9F);
this.userButton_delete.Location = new System.Drawing.Point(297, 460);
this.userButton_delete.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.userButton_delete.Name = "userButton_delete";
this.userButton_delete.Size = new System.Drawing.Size(65, 23);
this.userButton_delete.TabIndex = 10;
this.userButton_delete.UIText = "删除";
this.userButton_delete.Click += new System.EventHandler(this.userButton2_Click);
//
// userButton1
// userButton_download
//
this.userButton1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.userButton1.BackColor = System.Drawing.Color.Transparent;
this.userButton1.CustomerInformation = "";
this.userButton1.EnableColor = System.Drawing.Color.FromArgb(((int)(((byte)(190)))), ((int)(((byte)(190)))), ((int)(((byte)(190)))));
this.userButton1.Font = new System.Drawing.Font("微软雅黑", 9F);
this.userButton1.Location = new System.Drawing.Point(81, 460);
this.userButton1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.userButton1.Name = "userButton1";
this.userButton1.Size = new System.Drawing.Size(65, 23);
this.userButton1.TabIndex = 9;
this.userButton1.UIText = "下载";
this.userButton1.Click += new System.EventHandler(this.userButton1_Click);
this.userButton_download.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.userButton_download.BackColor = System.Drawing.Color.Transparent;
this.userButton_download.CustomerInformation = "";
this.userButton_download.EnableColor = System.Drawing.Color.FromArgb(((int)(((byte)(190)))), ((int)(((byte)(190)))), ((int)(((byte)(190)))));
this.userButton_download.Font = new System.Drawing.Font("微软雅黑", 9F);
this.userButton_download.Location = new System.Drawing.Point(81, 460);
this.userButton_download.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.userButton_download.Name = "userButton_download";
this.userButton_download.Size = new System.Drawing.Size(65, 23);
this.userButton_download.TabIndex = 9;
this.userButton_download.UIText = "下载";
this.userButton_download.Click += new System.EventHandler(this.userButton1_Click);
//
// userButton_upload
//
@@ -390,12 +402,74 @@
this.treeView1.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
treeNode1});
this.treeView1.ShowLines = false;
this.treeView1.Size = new System.Drawing.Size(353, 429);
this.treeView1.Size = new System.Drawing.Size(353, 377);
this.treeView1.TabIndex = 0;
this.treeView1.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterSelect);
this.treeView1.DragDrop += new System.Windows.Forms.DragEventHandler(this.treeView1_DragDrop);
this.treeView1.DragEnter += new System.Windows.Forms.DragEventHandler(this.treeView1_DragEnter);
this.treeView1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.treeView1_MouseDoubleClick);
//
// textBox_file_name
//
this.textBox_file_name.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.textBox_file_name.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.textBox_file_name.Location = new System.Drawing.Point(66, 405);
this.textBox_file_name.Name = "textBox_file_name";
this.textBox_file_name.ReadOnly = true;
this.textBox_file_name.Size = new System.Drawing.Size(297, 23);
this.textBox_file_name.TabIndex = 12;
//
// label_fileName
//
this.label_fileName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.label_fileName.AutoSize = true;
this.label_fileName.Location = new System.Drawing.Point(7, 407);
this.label_fileName.Name = "label_fileName";
this.label_fileName.Size = new System.Drawing.Size(56, 17);
this.label_fileName.TabIndex = 11;
this.label_fileName.Text = "文件名:";
//
// textBox_file_size
//
this.textBox_file_size.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.textBox_file_size.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.textBox_file_size.Location = new System.Drawing.Point(66, 432);
this.textBox_file_size.Name = "textBox_file_size";
this.textBox_file_size.ReadOnly = true;
this.textBox_file_size.Size = new System.Drawing.Size(110, 23);
this.textBox_file_size.TabIndex = 14;
//
// label_fileSize
//
this.label_fileSize.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.label_fileSize.AutoSize = true;
this.label_fileSize.Location = new System.Drawing.Point(7, 434);
this.label_fileSize.Name = "label_fileSize";
this.label_fileSize.Size = new System.Drawing.Size(44, 17);
this.label_fileSize.TabIndex = 13;
this.label_fileSize.Text = "大小:";
//
// textBox_file_uploadTime
//
this.textBox_file_uploadTime.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.textBox_file_uploadTime.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.textBox_file_uploadTime.Location = new System.Drawing.Point(252, 432);
this.textBox_file_uploadTime.Name = "textBox_file_uploadTime";
this.textBox_file_uploadTime.ReadOnly = true;
this.textBox_file_uploadTime.Size = new System.Drawing.Size(111, 23);
this.textBox_file_uploadTime.TabIndex = 16;
//
// label_uploadTime
//
this.label_uploadTime.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.label_uploadTime.AutoSize = true;
this.label_uploadTime.Location = new System.Drawing.Point(182, 434);
this.label_uploadTime.Name = "label_uploadTime";
this.label_uploadTime.Size = new System.Drawing.Size(68, 17);
this.label_uploadTime.TabIndex = 15;
this.label_uploadTime.Text = "上传日期:";
//
// FormAccountDetails
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
@@ -417,6 +491,7 @@
this.groupBox1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox_UserPortrait)).EndInit();
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
this.ResumeLayout(false);
}
@@ -448,10 +523,16 @@
private System.Windows.Forms.Label label1;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.TreeView treeView1;
private HslCommunication.Controls.UserButton userButton2;
private HslCommunication.Controls.UserButton userButton1;
private HslCommunication.Controls.UserButton userButton_delete;
private HslCommunication.Controls.UserButton userButton_download;
private HslCommunication.Controls.UserButton userButton_upload;
private System.Windows.Forms.PictureBox pictureBox_UserPortrait;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.TextBox textBox_file_uploadTime;
private System.Windows.Forms.Label label_uploadTime;
private System.Windows.Forms.TextBox textBox_file_size;
private System.Windows.Forms.Label label_fileSize;
private System.Windows.Forms.TextBox textBox_file_name;
private System.Windows.Forms.Label label_fileName;
}
}

View File

@@ -12,6 +12,7 @@ using System.Windows.Forms;
using HslCommunication;
using HslCommunication.BasicFramework;
using System.IO;
using ClientsLibrary.FileSupport;
namespace ClientsLibrary
{
@@ -67,12 +68,11 @@ namespace ClientsLibrary
#endregion
#region
#region Load Portrait
public UserPortrait UserPortrait { get; }
private void pictureBox_UserPortrait_Click(object sender, EventArgs e)
{
UserPortrait.ChangePortrait(LoadLargeProtrait,UnloadLargeProtrait);
@@ -115,7 +115,7 @@ namespace ClientsLibrary
#endregion
#region
#region Download FileNames
public void DownloadUserFileNames()
{
@@ -125,16 +125,17 @@ namespace ClientsLibrary
// 向服务器请求自身的文件列表
OperateResult result = UserClient.Net_File_Client.DownloadPathFileNames(
out string[] files, "Files", "Personal", UserClient.UserAccount.UserName
out GroupFileItem[] files, "Files", "Personal", UserClient.UserAccount.UserName
);
if (result.IsSuccess)
{
if (files != null)
{
foreach(var m in files)
foreach(var file in files)
{
TreeNode node = new TreeNode(m, 1, 1);
TreeNode node = new TreeNode(file.FileName, 1, 1);
node.Tag = file;
treeView1.Nodes[0].Nodes.Add(node);
}
@@ -153,6 +154,11 @@ namespace ClientsLibrary
treeView1.ExpandAll();
}
#endregion
#region Upload Support
private void userButton_upload_Click(object sender, EventArgs e)
{
// 上传个人文件
@@ -178,6 +184,11 @@ namespace ClientsLibrary
DownloadUserFileNames();
}
#endregion
#region Download File Support
private void treeView1_MouseDoubleClick(object sender, MouseEventArgs e)
{
// 双击下载
@@ -212,16 +223,22 @@ namespace ClientsLibrary
}
}
#endregion
#region Delete File Support
private void userButton2_Click(object sender, EventArgs e)
{
// 删除选中文件
TreeNode treeNode = treeView1.SelectedNode;
if (treeNode.Name != "files_root")
{
// 删除文件前要先进行密码验证
using (FormPasswordCheck passwordCheck = new FormPasswordCheck(UserClient.UserAccount.Password))
{
if (passwordCheck.ShowDialog() == DialogResult.OK)
{
// 密码验证已经通过
OperateResult result = UserClient.Net_File_Client.DeleteFile(
treeNode.Text,
"Files",
@@ -241,13 +258,9 @@ namespace ClientsLibrary
}
}
#endregion
#region
#region Drag File Upload
private void treeView1_DragDrop(object sender, DragEventArgs e)
{
@@ -308,6 +321,20 @@ namespace ClientsLibrary
}
#endregion
#region Tree File Select
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
if(e.Node.Tag is GroupFileItem file)
{
textBox_file_name.Text = file.FileName;
textBox_file_size.Text = file.GetTextFromFileSize();
textBox_file_uploadTime.Text = file.UploadTime.ToLocalTime().ToShortDateString();
}
}
#endregion
}
}

View File

@@ -1,4 +1,5 @@
using CommonLibrary;
using ClientsLibrary.FileSupport;
using CommonLibrary;
using HslCommunication;
using HslCommunication.BasicFramework;
using HslCommunication.Enthernet;

View File

@@ -92,6 +92,31 @@
<Compile Include="Configuration\FormConfiguration.Designer.cs">
<DependentUpon>FormConfiguration.cs</DependentUpon>
</Compile>
<Compile Include="FileSupport\FileOperateControl.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="FileSupport\FileOperateControl.designer.cs">
<DependentUpon>FileOperateControl.cs</DependentUpon>
</Compile>
<Compile Include="FileSupport\FileSupport.cs" />
<Compile Include="FileSupport\FileItemShow.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="FileSupport\FileItemShow.Designer.cs">
<DependentUpon>FileItemShow.cs</DependentUpon>
</Compile>
<Compile Include="FileSupport\FormFileOperate.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="FileSupport\FormFileOperate.Designer.cs">
<DependentUpon>FormFileOperate.cs</DependentUpon>
</Compile>
<Compile Include="FileSupport\FormSimplyFileUpload.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="FileSupport\FormSimplyFileUpload.designer.cs">
<DependentUpon>FormSimplyFileUpload.cs</DependentUpon>
</Compile>
<Compile Include="LogsSupport\FormLogView.cs">
<SubType>Form</SubType>
</Compile>
@@ -141,6 +166,18 @@
<EmbeddedResource Include="Configuration\FormConfiguration.resx">
<DependentUpon>FormConfiguration.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="FileSupport\FileItemShow.resx">
<DependentUpon>FileItemShow.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="FileSupport\FileOperateControl.resx">
<DependentUpon>FileOperateControl.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="FileSupport\FormFileOperate.resx">
<DependentUpon>FormFileOperate.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="FileSupport\FormSimplyFileUpload.resx">
<DependentUpon>FormSimplyFileUpload.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="LogsSupport\FormLogView.resx">
<DependentUpon>FormLogView.cs</DependentUpon>
</EmbeddedResource>
@@ -161,5 +198,324 @@
<ItemGroup>
<None Include="img\Flagthread_7317.png" />
</ItemGroup>
<ItemGroup />
<ItemGroup>
<None Include="img\fileIcon\7z.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\ai.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\aiff.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\arj.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\asc.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\asp.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\audio.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\avi.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\bin.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\bmp.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\bz2.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\c.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\cdr.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\cfc.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\cfm.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\chm.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\class.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\conf.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\cpp.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\cs.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\css.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\csv.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\deb.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\divx.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\doc.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\docx.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\dot.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\eml.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\enc.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\eps.gif" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\exe.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\f4v.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\file.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\flv.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\gif.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\gz.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\hlp.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\htm.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\html.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\ics.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\image.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\iso.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\jar.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\java.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\jpg.gif" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\js.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\jsp.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\lua.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\m.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\mm.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\mov.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\mp3.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\mpg.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\msi.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\odc.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\odf.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\odg.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\odi.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\odp.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\ods.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\odt.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\ogg.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\pdf.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\perl.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\pgp.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\php.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\pl.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\png.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\ppt.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\ps.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\psd.gif" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\py.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\ram.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\rar.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\rb.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\rm.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\rpm.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\rtf.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\ruby.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\sig.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\sql.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\svg.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\swf.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\sxc.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\sxd.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\sxi.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\sxw.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\tar.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\tex.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\tgz.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\tif.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\ttf.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\txt.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\vb.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\vcf.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\vdo.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\video.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\vsd.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\wav.gif" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\wma.gif" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\xls.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\xml.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\xpi.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\xul.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\xvid.png" />
</ItemGroup>
<ItemGroup>
<None Include="img\fileIcon\zip.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@@ -31,6 +31,7 @@
this.checkBox1 = new System.Windows.Forms.CheckBox();
this.panel1 = new System.Windows.Forms.Panel();
this.userButton2 = new HslCommunication.Controls.UserButton();
this.checkBox2 = new System.Windows.Forms.CheckBox();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
@@ -50,6 +51,7 @@
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.panel1.AutoScroll = true;
this.panel1.Controls.Add(this.checkBox2);
this.panel1.Controls.Add(this.checkBox1);
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
@@ -71,6 +73,16 @@
this.userButton2.UIText = "保存";
this.userButton2.Click += new System.EventHandler(this.userButton2_Click);
//
// checkBox2
//
this.checkBox2.AutoSize = true;
this.checkBox2.Location = new System.Drawing.Point(3, 30);
this.checkBox2.Name = "checkBox2";
this.checkBox2.Size = new System.Drawing.Size(231, 21);
this.checkBox2.TabIndex = 1;
this.checkBox2.Text = "是否允许框架版本不匹配的客户端登录";
this.checkBox2.UseVisualStyleBackColor = true;
//
// GeneralConfiguration
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
@@ -93,5 +105,6 @@
private System.Windows.Forms.CheckBox checkBox1;
private System.Windows.Forms.Panel panel1;
private HslCommunication.Controls.UserButton userButton2;
private System.Windows.Forms.CheckBox checkBox2;
}
}

View File

@@ -40,6 +40,7 @@ namespace ClientsLibrary.Configuration
JObject json = new JObject
{
{ "AllowUserMulti", new JValue(checkBox1.Checked) },
{ "AllowFrameLogin", new JValue(checkBox2.Checked) },
};
OperateResultString result = UserClient.Net_simplify_client.ReadFromServer(

View File

@@ -0,0 +1,193 @@
namespace ClientsLibrary.FileSupport
{
partial class FileItemShow
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region
/// <summary>
/// 设计器支持所需的方法 - 不要修改
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.label_download_times = new System.Windows.Forms.Label();
this.label_upload_name = new System.Windows.Forms.Label();
this.progressBar1 = new System.Windows.Forms.ProgressBar();
this.linkLabel_download = new System.Windows.Forms.LinkLabel();
this.linkLabel_delete = new System.Windows.Forms.LinkLabel();
this.label_file_date = new System.Windows.Forms.Label();
this.label_file_size = new System.Windows.Forms.Label();
this.label_file_mark = new System.Windows.Forms.Label();
this.label_file_name = new System.Windows.Forms.Label();
this.pictureBox_file = new System.Windows.Forms.PictureBox();
((System.ComponentModel.ISupportInitialize)(this.pictureBox_file)).BeginInit();
this.SuspendLayout();
//
// label_download_times
//
this.label_download_times.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.label_download_times.AutoSize = true;
this.label_download_times.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label_download_times.Location = new System.Drawing.Point(390, 20);
this.label_download_times.Name = "label_download_times";
this.label_download_times.Size = new System.Drawing.Size(56, 17);
this.label_download_times.TabIndex = 19;
this.label_download_times.Text = "下载数:";
//
// label_upload_name
//
this.label_upload_name.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.label_upload_name.AutoSize = true;
this.label_upload_name.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label_upload_name.Location = new System.Drawing.Point(276, 20);
this.label_upload_name.Name = "label_upload_name";
this.label_upload_name.Size = new System.Drawing.Size(56, 17);
this.label_upload_name.TabIndex = 18;
this.label_upload_name.Text = "上传人:";
//
// progressBar1
//
this.progressBar1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.progressBar1.Location = new System.Drawing.Point(4, 37);
this.progressBar1.Name = "progressBar1";
this.progressBar1.Size = new System.Drawing.Size(492, 4);
this.progressBar1.TabIndex = 17;
//
// linkLabel_download
//
this.linkLabel_download.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.linkLabel_download.AutoSize = true;
this.linkLabel_download.Enabled = false;
this.linkLabel_download.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.linkLabel_download.Location = new System.Drawing.Point(508, 20);
this.linkLabel_download.Name = "linkLabel_download";
this.linkLabel_download.Size = new System.Drawing.Size(32, 17);
this.linkLabel_download.TabIndex = 16;
this.linkLabel_download.TabStop = true;
this.linkLabel_download.Text = "下载";
this.linkLabel_download.Click += new System.EventHandler(this.linkLabel_download_Click);
//
// linkLabel_delete
//
this.linkLabel_delete.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.linkLabel_delete.AutoSize = true;
this.linkLabel_delete.Enabled = false;
this.linkLabel_delete.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.linkLabel_delete.Location = new System.Drawing.Point(508, 4);
this.linkLabel_delete.Name = "linkLabel_delete";
this.linkLabel_delete.Size = new System.Drawing.Size(32, 17);
this.linkLabel_delete.TabIndex = 15;
this.linkLabel_delete.TabStop = true;
this.linkLabel_delete.Text = "删除";
this.linkLabel_delete.Click += new System.EventHandler(this.linkLabel_delete_Click);
//
// label_file_date
//
this.label_file_date.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.label_file_date.AutoSize = true;
this.label_file_date.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label_file_date.Location = new System.Drawing.Point(390, 4);
this.label_file_date.Name = "label_file_date";
this.label_file_date.Size = new System.Drawing.Size(110, 17);
this.label_file_date.TabIndex = 14;
this.label_file_date.Text = "日期2016-09-01";
//
// label_file_size
//
this.label_file_size.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.label_file_size.AutoSize = true;
this.label_file_size.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label_file_size.Location = new System.Drawing.Point(277, 4);
this.label_file_size.Name = "label_file_size";
this.label_file_size.Size = new System.Drawing.Size(44, 17);
this.label_file_size.TabIndex = 13;
this.label_file_size.Text = "大小:";
//
// label_file_mark
//
this.label_file_mark.AutoSize = true;
this.label_file_mark.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label_file_mark.Location = new System.Drawing.Point(27, 20);
this.label_file_mark.Name = "label_file_mark";
this.label_file_mark.Size = new System.Drawing.Size(68, 17);
this.label_file_mark.TabIndex = 12;
this.label_file_mark.Text = "文件备注:";
//
// label_file_name
//
this.label_file_name.AutoSize = true;
this.label_file_name.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label_file_name.Location = new System.Drawing.Point(27, 4);
this.label_file_name.Name = "label_file_name";
this.label_file_name.Size = new System.Drawing.Size(68, 17);
this.label_file_name.TabIndex = 11;
this.label_file_name.Text = "文件名称:";
//
// pictureBox_file
//
this.pictureBox_file.Image = global::ClientsLibrary.Properties.Resources.file;
this.pictureBox_file.Location = new System.Drawing.Point(4, 6);
this.pictureBox_file.Name = "pictureBox_file";
this.pictureBox_file.Size = new System.Drawing.Size(18, 18);
this.pictureBox_file.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.pictureBox_file.TabIndex = 10;
this.pictureBox_file.TabStop = false;
//
// FileItemShow
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.label_download_times);
this.Controls.Add(this.label_upload_name);
this.Controls.Add(this.progressBar1);
this.Controls.Add(this.linkLabel_download);
this.Controls.Add(this.linkLabel_delete);
this.Controls.Add(this.label_file_date);
this.Controls.Add(this.label_file_size);
this.Controls.Add(this.label_file_mark);
this.Controls.Add(this.label_file_name);
this.Controls.Add(this.pictureBox_file);
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.Name = "FileItemShow";
this.Size = new System.Drawing.Size(543, 45);
this.Load += new System.EventHandler(this.FileItemShow_Load);
((System.ComponentModel.ISupportInitialize)(this.pictureBox_file)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label_download_times;
private System.Windows.Forms.Label label_upload_name;
private System.Windows.Forms.ProgressBar progressBar1;
private System.Windows.Forms.LinkLabel linkLabel_download;
private System.Windows.Forms.LinkLabel linkLabel_delete;
private System.Windows.Forms.Label label_file_date;
private System.Windows.Forms.Label label_file_size;
private System.Windows.Forms.Label label_file_mark;
private System.Windows.Forms.Label label_file_name;
private System.Windows.Forms.PictureBox pictureBox_file;
}
}

View File

@@ -0,0 +1,201 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using System.IO;
using HslCommunication;
using HslCommunication.Enthernet;
namespace ClientsLibrary.FileSupport
{
/// <summary>
/// 文件显示的子控件类
/// </summary>
public partial class FileItemShow : UserControl
{
#region Constructor
/// <summary>
/// 生成一个文件对象的显示控件
/// </summary>
/// <param name="client">客户端类</param>
/// <param name="factory">第一大类</param>
/// <param name="group">第二大类</param>
/// <param name="id">第三大类</param>
/// <param name="deleteCheck">用户自定义的删除确认委托,可用于验证权限及密码</param>
public FileItemShow(IntegrationFileClient client, string factory, string group, string id, Func<GroupFileItem,bool> deleteCheck)
{
InitializeComponent();
DeleteCheck = deleteCheck;
m_Factory = factory;
m_Group = group;
m_Id = id;
fileClient = client;
}
#endregion
#region Control Load
private void FileItemShow_Load(object sender, EventArgs e)
{
}
#endregion
#region Render File Information
/// <summary>
/// 设置文件数据
/// </summary>
/// <param name="file">文件的信息对象</param>
/// <param name="deleteEnable">删除控件的使能委托</param>
/// <exception cref="ArgumentNullException">file参数不能为空</exception>
public void SetFile(GroupFileItem file, Func<bool> deleteEnable)
{
fileItem = file;
// 设置文件的图标
pictureBox_file.Image = FileSupport.GetFileIcon(file.FileName);
label_file_name.Text = "文件名称:" + file.FileName;
label_file_size.Text = "大小:" + file.GetTextFromFileSize();
label_file_date.Text = "日期:" + file.UploadTime.ToString("yyyy-MM-dd");
label_file_mark.Text = "文件备注:" + file.Description;
label_upload_name.Text = "上传人:" + file.Owner;
label_download_times.Text = "下载数:" + file.DownloadTimes;
linkLabel_delete.Enabled = deleteEnable.Invoke();
linkLabel_download.Enabled = true; // 一般都是允许下载,如果不允许下载,在此处设置
}
#endregion
#region Delete Support
private void linkLabel_delete_Click(object sender, EventArgs e)
{
// 删除文件
if (DeleteCheck != null)
{
// 删除的权限检查
if(!DeleteCheck.Invoke(fileItem))
{
// 没有通过
return;
}
}
linkLabel_delete.Enabled = false;
Thread thread_delete_file = new Thread(new ThreadStart(ThreadDeleteFile));
thread_delete_file.IsBackground = true;
thread_delete_file.Start();
}
private void ThreadDeleteFile()
{
OperateResult result = fileClient.DeleteFile(fileItem.FileName, m_Factory, m_Group, m_Id);
if(IsHandleCreated) Invoke(new Action(() =>
{
if(result.IsSuccess)
{
MessageBox.Show("删除成功!,请刷新界面。");
}
else
{
MessageBox.Show("删除失败!错误:" + result.Message);
}
linkLabel_delete.Enabled = true;
}));
}
#endregion
#region Download Support
private void linkLabel_download_Click(object sender, EventArgs e)
{
//下载文件
linkLabel_download.Enabled = false;
Thread thread_down_file = new Thread(new ThreadStart(ThreadDownloadFile));
thread_down_file.IsBackground = true;
thread_down_file.Start();
}
private void ThreadDownloadFile()
{
string save_file_name = Application.StartupPath + "\\download\\files";
if (!Directory.Exists(save_file_name))
{
Directory.CreateDirectory(save_file_name);
}
save_file_name += "\\" + fileItem.FileName;
OperateResult result = fileClient.DownloadFile(
fileItem.FileName,
m_Factory,
m_Group,
m_Id,
DownloadProgressReport,
save_file_name
);
Invoke(new Action(() =>
{
if(result.IsSuccess)
{
if (MessageBox.Show("下载完成,路径为:" + save_file_name + Environment.NewLine +
"是否打开文件路径?", "打开确认", MessageBoxButtons.YesNo,
MessageBoxIcon.Information) == DialogResult.Yes)
{
System.Diagnostics.Process.Start("explorer.exe", @"/select," + save_file_name);
}
}
else
{
MessageBox.Show("下载失败,错误原因:" + result.Message);
}
if (IsHandleCreated) linkLabel_download.Enabled = true;
}));
}
private void DownloadProgressReport(long download, long totle)
{
if(IsHandleCreated)
{
if(InvokeRequired)
{
BeginInvoke(new Action(() =>
{
DownloadProgressReport(download, totle);
}));
return;
}
progressBar1.Value = (int)(download * 100 / totle);
}
}
#endregion
#region Private Members
private IntegrationFileClient fileClient; // 进行文件操作的客户端
private Func<GroupFileItem, bool> DeleteCheck; // 删除操作时的检查方法
private GroupFileItem fileItem; // 本控件关联显示的文件
private string m_Factory; // 文件的第一大类
private string m_Group; // 文件的第二大类
private string m_Id; // 文件的第三大类
#endregion
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: 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">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<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">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<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" 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">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<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>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,288 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Threading;
using HslCommunication.Enthernet;
using HslCommunication.BasicFramework;
using HslCommunication;
namespace ClientsLibrary.FileSupport
{
/// <summary>
/// 上传或下载的控件
/// </summary>
public partial class FileOperateControl : UserControl
{
/// <summary>
/// 上传的实例化方法
/// </summary>
/// <param name="advancedFile">客户端文件传送引擎</param>
/// <param name="filepath">完整的包含路径的本地文件路径</param>
/// <param name="factory">文件所属的工厂</param>
/// <param name="group">文件所属的分类</param>
/// <param name="id">文件所属的设备ID</param>
public FileOperateControl(IntegrationFileClient advancedFile, string filepath, string factory, string group, string id)
{
InitializeComponent();
Is_down_file = false;
FilePath = filepath;
Factory = factory;
Group = group;
Id = id;
AdvancedFileClient = advancedFile;
}
/// <summary>
/// 下载的实例化方法
/// </summary>
/// <param name="advancedFile">客户端文件传送引擎</param>
/// <param name="fileName">服务器的文件名称,包含后缀</param>
/// <param name="factory">文件所属的第一大类</param>
/// <param name="group">文件所属的第二大类</param>
/// <param name="id">文件所属的第三大类</param>
/// <param name="savepath">本地保存的路径</param>
public FileOperateControl(IntegrationFileClient advancedFile, string fileName, string factory, string group, string id, string savepath)
{
InitializeComponent();
//下载文件
Is_down_file = true;
FilePath = fileName;
Factory = factory;
Group = group;
Id = id;
SavaPathDirectory = savepath;
AdvancedFileClient = advancedFile;
}
private void FileOperateControl_Load(object sender, EventArgs e)
{
label_filename.Text = FilePath;
label_now_info.Text = "正在确认...";
progressBar1.Maximum = 100;
button1.Location = new Point(389, 55);
if(Is_down_file)
{
button1.Text = "重新下载文件";
}
else
{
button1.Text = "重新上传文件";
}
}
/// <summary>
/// 指示本次上传或是下载是否结束
/// </summary>
public bool IsOperateFinished { get; set; } = false;
private bool Is_down_file { get; set; } = true;
/// <summary>
/// 文件的原始路径
/// </summary>
private string FilePath { get; set; } = "";
/// <summary>
/// 文件所属的工厂分类
/// </summary>
private string Factory { get; set; } = "";
/// <summary>
/// 文件所属的类别
/// </summary>
private string Group { get; set; } = "";
/// <summary>
/// 文件所属的特殊ID
/// </summary>
private string Id { get; set; } = "";
/// <summary>
/// 文件保存的路径,文件下载的时候所需的
/// </summary>
private string SavaPathDirectory { get; set; } = "";
/// <summary>
/// 开始上传文件
/// </summary>
public void StartUploadFile()
{
try
{
label_now_info.Text = "正在确认...";
if (File.Exists(FilePath))
{
Thread thread = new Thread(new ThreadStart(ThreadUploadFile));
thread.IsBackground = true;
thread.Start();
}
else
{
label_now_info.Text = "文件不存在";
IsOperateFinished = true;
}
}
catch
{
}
}
private void WrongTextShow(string text)
{
if (IsHandleCreated && InvokeRequired)
{
Invoke(new Action(() =>
{
WrongTextShow(text);
}));
return;
}
label_now_info.Text = text;
button1.Visible = true;
IsOperateFinished = true;
progressBar1.Value = 0;
}
IntegrationFileClient AdvancedFileClient = null;
private void ThreadUploadFile()
{
FileInfo finfo = new FileInfo(FilePath);
Invoke(new Action(() =>
{
label_now_info.Text = "正在上传文件...";
label_filesize.Text = SoftBasic.GetSizeDescription(finfo.Length);
progressBar1.Value = 0;
}));
OperateResult result = AdvancedFileClient.UploadFile(
FilePath,
finfo.Name,
Factory,
Group,
Id,
"",
UserClient.UserAccount.UserName,
ReportProgress);
if(result.IsSuccess)
{
Invoke(new Action(() =>
{
label_now_info.Text = "文件上传成功";
}));
}
else
{
WrongTextShow("异常:" + result.Message);
}
IsOperateFinished = true;
}
private void button1_Click(object sender, EventArgs e)
{
IsOperateFinished = false;
button1.Visible = false;
if (Is_down_file)
{
//下载文件
StartDownloadFile();
}
else
{
//上传文件
StartUploadFile();
}
}
private void ReportProgress(long current,long count)
{
Invoke(new Action(() =>
{
long percent = 0;
if (count > 0)
{
percent = current * 100 / count;
}
progressBar1.Value = (int)percent;
label_now_info.Text = "已完成:" + percent.ToString() + "%";
label_filesize.Text = SoftBasic.GetSizeDescription(count);
}));
}
/// <summary>
/// 启动下载文件
/// </summary>
public void StartDownloadFile()
{
Thread thread = new Thread(new ThreadStart(ThreadDownloadFile))
{
IsBackground = true
};
thread.Start();
}
private void ThreadDownloadFile()
{
Invoke(new Action(() =>
{
label_now_info.Text = "正在下载文件...";
progressBar1.Value = 0;
}));
if (!SavaPathDirectory.EndsWith(@"\"))
{
SavaPathDirectory = SavaPathDirectory + @"\";
}
OperateResult result = AdvancedFileClient.DownloadFile(
FilePath,
Factory,
Group,
Id,
ReportProgress,
SavaPathDirectory + FilePath
);
if(result.IsSuccess)
{
Invoke(new Action(() =>
{
label_now_info.Text = "文件下载成功";
}));
}
else
{
WrongTextShow("异常:" + result.Message);
}
IsOperateFinished = true;
}
private void FileOperateControl_Paint(object sender, PaintEventArgs e)
{
// 绘制外观
e.Graphics.DrawRectangle(Pens.DodgerBlue, new Rectangle(0, 0, Width - 1, Height - 1));
}
}
}

View File

@@ -0,0 +1,163 @@
namespace ClientsLibrary.FileSupport
{
partial class FileOperateControl
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region
/// <summary>
/// 设计器支持所需的方法 - 不要修改
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.label1 = new System.Windows.Forms.Label();
this.progressBar1 = new System.Windows.Forms.ProgressBar();
this.label_filename = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.label_now_info = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button();
this.label_filesize = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label1.Location = new System.Drawing.Point(5, 3);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(68, 17);
this.label1.TabIndex = 0;
this.label1.Text = "文件名称:";
//
// progressBar1
//
this.progressBar1.Location = new System.Drawing.Point(62, 42);
this.progressBar1.Name = "progressBar1";
this.progressBar1.Size = new System.Drawing.Size(433, 12);
this.progressBar1.TabIndex = 1;
//
// label_filename
//
this.label_filename.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label_filename.Location = new System.Drawing.Point(69, 3);
this.label_filename.Name = "label_filename";
this.label_filename.Size = new System.Drawing.Size(427, 38);
this.label_filename.TabIndex = 2;
this.label_filename.Text = "文件名称文件名称文件名称文件名称文件名称文件名称文件名称文件名称文件名称文件名称文件名称";
//
// label2
//
this.label2.AutoSize = true;
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(5, 40);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(44, 17);
this.label2.TabIndex = 3;
this.label2.Text = "进度:";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label3.Location = new System.Drawing.Point(5, 60);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(68, 17);
this.label3.TabIndex = 4;
this.label3.Text = "当前操作:";
//
// label_now_info
//
this.label_now_info.AutoSize = true;
this.label_now_info.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label_now_info.Location = new System.Drawing.Point(69, 60);
this.label_now_info.Name = "label_now_info";
this.label_now_info.Size = new System.Drawing.Size(56, 17);
this.label_now_info.TabIndex = 5;
this.label_now_info.Text = "当前操作";
//
// button1
//
this.button1.Location = new System.Drawing.Point(389, 55);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(107, 23);
this.button1.TabIndex = 8;
this.button1.Text = "重新上传";
this.button1.UseVisualStyleBackColor = true;
this.button1.Visible = false;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// label_filesize
//
this.label_filesize.AutoSize = true;
this.label_filesize.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label_filesize.Location = new System.Drawing.Point(248, 60);
this.label_filesize.Name = "label_filesize";
this.label_filesize.Size = new System.Drawing.Size(27, 17);
this.label_filesize.TabIndex = 10;
this.label_filesize.Text = "0 B";
//
// label5
//
this.label5.AutoSize = true;
this.label5.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label5.Location = new System.Drawing.Point(184, 60);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(68, 17);
this.label5.TabIndex = 9;
this.label5.Text = "文件大小:";
//
// FileOperateControl
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.label_filesize);
this.Controls.Add(this.label5);
this.Controls.Add(this.button1);
this.Controls.Add(this.label_now_info);
this.Controls.Add(this.label3);
this.Controls.Add(this.label2);
this.Controls.Add(this.label_filename);
this.Controls.Add(this.progressBar1);
this.Controls.Add(this.label1);
this.Name = "FileOperateControl";
this.Size = new System.Drawing.Size(505, 82);
this.Load += new System.EventHandler(this.FileOperateControl_Load);
this.Paint += new System.Windows.Forms.PaintEventHandler(this.FileOperateControl_Paint);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label1;
private System.Windows.Forms.ProgressBar progressBar1;
private System.Windows.Forms.Label label_filename;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label_now_info;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Label label_filesize;
private System.Windows.Forms.Label label5;
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: 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">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<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">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<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" 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">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<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>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,197 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ClientsLibrary.FileSupport
{
/******************************************************************************
*
* 时间: 2017年9月30日 22:11:21
* 作者: Richard.Hu
* 说明: 命名空间FileSupport中放置了一些文件操作的控件可以用来方便的学习和
* 操作文件上传下载。
*
******************************************************************************/
#region File Support
/// <summary>
/// 放了一些支持文件操作的静态方法
/// </summary>
public class FileSupport
{
#region Get Render Icon
/// <summary>
/// 获取文件对象显示图标
/// </summary>
/// <returns></returns>
public static System.Drawing.Bitmap GetFileIcon(string FileName)
{
string exc = "";
int index = FileName.LastIndexOf('.');
if (index > 0)
{
if (index < FileName.Length)
{
exc = FileName.Substring(index + 1);
}
}
return GetFileRenderIcon(exc);
}
/// <summary>
/// 根据文件后缀选择需要对应显示的文件图标,包含了二十多种常用文件的图标
/// </summary>
/// <param name="exc">文件的扩展名</param>
/// <returns>图形对象</returns>
public static System.Drawing.Bitmap GetFileRenderIcon(string exc)
{
exc = exc.ToLower();
if (exc.Contains("docx"))
{
return Properties.Resources.docx;
}
else if (exc.Contains("doc"))
{
return Properties.Resources.doc;
}
else if (exc.Contains("xls"))
{
return Properties.Resources.xls;
}
else if (exc.Contains("ppt"))
{
return Properties.Resources.ppt;
}
else if (
exc.Contains("jpg") ||
exc.Contains("png") ||
exc.Contains("bmp") ||
exc.Contains("jpeg"))
{
return Properties.Resources.image;
}
else if (exc.Contains("rar"))
{
return Properties.Resources.rar;
}
else if (exc.Contains("zip"))
{
return Properties.Resources.zip;
}
else if (exc.Contains("exe"))
{
return Properties.Resources.exe;
}
else if (exc.Contains("pdf"))
{
return Properties.Resources.pdf;
}
else if (exc.Contains("aiff"))
{
return Properties.Resources.aiff;
}
else if (exc.Contains("ai"))
{
return Properties.Resources.ai;
}
else if (exc.Contains("audio"))
{
return Properties.Resources.audio;
}
else if (exc.Contains("dll"))
{
return Properties.Resources.bin;
}
else if (exc.Contains("bin"))
{
return Properties.Resources.bin;
}
else if (exc.Contains("csv"))
{
return Properties.Resources.csv;
}
else if (exc.Contains("html"))
{
return Properties.Resources.html;
}
else if (exc.Contains("js"))
{
return Properties.Resources.js;
}
else if (exc.Contains("php"))
{
return Properties.Resources.php;
}
else if (exc.Contains("py"))
{
return Properties.Resources.py;
}
else if (exc.Contains("sql"))
{
return Properties.Resources.sql;
}
else if (exc.Contains("svg"))
{
return Properties.Resources.svg;
}
else if (exc.Contains("txt"))
{
return Properties.Resources.txt;
}
else if (exc.Contains("xml"))
{
return Properties.Resources.xml;
}
else if (exc.Contains("iso"))
{
return Properties.Resources.iso;
}
else if (exc.Contains("jar"))
{
return Properties.Resources.jar;
}
else if (exc.Contains("mp3"))
{
return Properties.Resources.mp3;
}
else if (exc.Contains("css"))
{
return Properties.Resources.css;
}
else if (exc.Contains("perl"))
{
return Properties.Resources.perl;
}
else if (exc.Contains("7z"))
{
return Properties.Resources._7z;
}
else if (exc.Contains("ttf"))
{
return Properties.Resources.ttf;
}
else if (exc.Contains("asp"))
{
return Properties.Resources.asp;
}
else
{
return Properties.Resources.file;
}
}
#endregion
}
#endregion
}

View File

@@ -0,0 +1,124 @@
namespace ClientsLibrary.FileSupport
{
partial class FormFileOperate
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormFileOperate));
this.panel1 = new System.Windows.Forms.Panel();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label_finish = new System.Windows.Forms.Label();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.SuspendLayout();
//
// panel1
//
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.panel1.AutoScroll = true;
this.panel1.Location = new System.Drawing.Point(3, 31);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(527, 398);
this.panel1.TabIndex = 0;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label1.Location = new System.Drawing.Point(5, 9);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(152, 17);
this.label1.TabIndex = 1;
this.label1.Text = "当前正在操作的文件数量:";
//
// label2
//
this.label2.AutoSize = true;
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(405, 9);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(56, 17);
this.label2.TabIndex = 2;
this.label2.Text = "已完成:";
//
// label_finish
//
this.label_finish.AutoSize = true;
this.label_finish.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label_finish.Location = new System.Drawing.Point(466, 9);
this.label_finish.Name = "label_finish";
this.label_finish.Size = new System.Drawing.Size(27, 17);
this.label_finish.TabIndex = 3;
this.label_finish.Text = "0/0";
//
// pictureBox1
//
this.pictureBox1.Location = new System.Drawing.Point(379, 5);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(25, 25);
this.pictureBox1.TabIndex = 4;
this.pictureBox1.TabStop = false;
//
// FormFileOperate
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(531, 432);
this.Controls.Add(this.pictureBox1);
this.Controls.Add(this.label_finish);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Controls.Add(this.panel1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MaximumSize = new System.Drawing.Size(547, 2434);
this.MinimizeBox = false;
this.MinimumSize = new System.Drawing.Size(547, 434);
this.Name = "FormFileOperate";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "文件上传";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FormFileOperate_FormClosing);
this.Load += new System.EventHandler(this.FormFileUpload_Load);
this.Shown += new System.EventHandler(this.FormFileOperate_Shown);
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label_finish;
private System.Windows.Forms.PictureBox pictureBox1;
}
}

View File

@@ -0,0 +1,204 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using System.Threading;
using HslCommunication.Enthernet;
namespace ClientsLibrary.FileSupport
{
/// <summary>
/// 用于文件上传或下载的窗口
/// </summary>
public partial class FormFileOperate : Form
{
#region Constructor
/// <summary>
/// 实例化一个文件上传的窗口
/// </summary>
/// <param name="advancedFile">客户端的文件引擎</param>
/// <param name="files">等待上传的文件数组</param>
/// <param name="factory">第一大类</param>
/// <param name="group">第二大类</param>
/// <param name="id">第三大类</param>
public FormFileOperate(IntegrationFileClient IntegratedFile, string[] files,string factory,string group,string id)
{
InitializeComponent();
is_down_file = false;
FormInitialization(IntegratedFile, files, factory, group, id);
}
/// <summary>
/// 实例化一个文件下载的窗口
/// </summary>
/// <param name="advancedFile">客户端的文件传送引擎</param>
/// <param name="files">等待下载的文件</param>
/// <param name="factory">第一大类</param>
/// <param name="group">第二大类</param>
/// <param name="id">第三大类</param>
/// <param name="savepath">保存路径</param>
public FormFileOperate(IntegrationFileClient advancedFile, string[] files, string factory, string group, string id, string savepath)
{
InitializeComponent();
SavePath = savepath;
is_down_file = true;
FormInitialization(advancedFile, files, factory, group, id);
}
/// <summary>
/// 初始化
/// </summary>
private void FormInitialization(IntegrationFileClient IntegratedFile, string[] files, string factory, string group, string id)
{
Icon = UserClient.GetFormWindowIcon(); // 设置窗口ICON
Files = files; // 设置文件名队列
Factory = factory; // 第一大类
Group = group; // 第二大类
Id = id; // 第三大类
IntegrationFile = IntegratedFile;
}
#endregion
#region Window Load Show
private void FormFileUpload_Load(object sender, EventArgs e)
{
// pictureBox1.Image = Properties.Resources.asset_progressBar_24x24_on;
}
private void FormFileOperate_Shown(object sender, EventArgs e)
{
int location_y = 1;
int every_height = 85;
if (is_down_file)
{
Text = "文件下载";
if (Files != null)
{
for (int i = 0; i < Files.Length; i++)
{
FileOperateControl item = new FileOperateControl(IntegrationFile, Files[i], Factory, Group, Id, SavePath);
panel1.Controls.Add(item);
item.Location = new Point(3, location_y);
all_file_controls.Add(item);
location_y += every_height;
}
}
}
else
{
Text = "文件上传";
if (Files != null)
{
for (int i = 0; i < Files.Length; i++)
{
FileOperateControl item = new FileOperateControl(IntegrationFile, Files[i], Factory, Group, Id);
panel1.Controls.Add(item);
item.Location = new Point(3, location_y);
all_file_controls.Add(item);
location_y += every_height;
}
}
}
Thread thread = new Thread(new ThreadStart(ThreadCheckFinish));
thread.IsBackground = true;
thread.Start();
}
private void FormFileOperate_FormClosing(object sender, FormClosingEventArgs e)
{
for (int i = 0; i < all_file_controls.Count; i++)
{
if(!all_file_controls[i].IsOperateFinished)
{
e.Cancel = true;
MessageBox.Show("当前任务没有完成不能退出!");
break;
}
}
}
#endregion
#region Finish Check
private void ThreadCheckFinish()
{
Thread.Sleep(400);
Invoke(new Action(() =>
{
label1.Text += all_file_controls.Count;
label_finish.Text = "0/" + all_file_controls.Count;
for (int i = 0; i < all_file_controls.Count; i++)
{
if (is_down_file)
{
all_file_controls[i].StartDownloadFile();
}
else
{
all_file_controls[i].StartUploadFile();
}
}
}));
Thread.Sleep(400);
while (true)
{
int complete = 0;
for (int i = 0; i < all_file_controls.Count; i++)
{
if (all_file_controls[i].IsOperateFinished)
{
complete++;
}
}
try
{
// 更新显示进度
Invoke(new Action(() =>
{
label_finish.Text = complete + "/" + all_file_controls.Count;
}));
}
catch
{
}
if (complete >= all_file_controls.Count)
{
break;
}
Thread.Sleep(490);
}
}
#endregion
#region Private Members
private string[] Files = null; // 需要上传或是需要下载的文件列表
private string Factory = ""; // 文件的第一大类
private string Group = ""; // 文件的第二大类
private string Id = ""; // 文件的第三大类
private string SavePath = ""; // 用于文件下载时候的保存位置
private IntegrationFileClient IntegrationFile = null; // 文件客户端
private bool is_down_file = true; // 指示上传文件还是下载文件
private List<FileOperateControl> all_file_controls = new List<FileOperateControl>();
#endregion
}
}

View File

@@ -0,0 +1,294 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: 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">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<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">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<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" 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">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<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>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAYAICAQAAEABADoAgAAZgAAABAQEAABAAQAKAEAAE4DAAAgIAAAAQAIAKgIAAB2BAAAEBAAAAEA
CABoBQAAHg0AACAgAAABACAAqBAAAIYSAAAQEAAAAQAgAGgEAAAuIwAAKAAAACAAAABAAAAAAQAEAAAA
AAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA
/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAA///////////////////wAP//
////////////////8AD/d3d3f/d3d3f/d3d3f/AA/3d3d3/3d3d3/3d3d3/wAP93d3d/93d3d/93d3d/
8AD/d3d3f/d3d3f/d3d3f/AA/3d3d3/3d3d3/3d3d3/wAP93d3d/93d3d/93d3d/8AD/d3d3f/d3d3f/
d3d3f/AA///////////////////wAP//////////////////8AD/d3d3f/d3d3f/AAAAAAAA/3d3d3/3
d3d3/wAAAAAAAP93d3d/93d3d/8AAAAAAAD/d3d3f/d3d3f/AA/wAAAA/3d3d3/3d3d3/wD//wAAAP93
d3d/93d3d/8P///wAAD/d3d3f/d3d3f///d//wAA//////////////93d//wAP/////////////3d3d/
/wD/d3d3f/AAAA//d3d3d//w/3d3d3/wAAD/93d3d3d///93d3d/8AAA//d3d3d3f///d3d3f/AAAA//
d3d3d//w/3d3d3/wAAAA//d3d3//AP93d3d/8AAAAA//d3f/8AD/d3d3f/AAAAAA//d//wAA/4iIiI/w
AAAAAA////AAAP//////8AAAAAAA//8AAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAP//
//8AAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAD/8AAA//AAAP/wAA
Dn8AAAw/AAAIHwAAAA8AAAAHAAAAAwAfgAEAHwAAAB8AAAAfgAEAH8ADAB/gBwAf8A8AH/gfAB/8P///
/n//////KAAAABAAAAAgAAAAAQAEAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACA
gACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAA
AAAAAAAAD////////wAPd393f3d/AA93f3d/d38AD3d/d393fwAP////////AA93f3d/AAAAD3d/d38A
8AAPd393fw9/AA//////93fwD3d/AA93d38Pd38AAPd38A93fwAAD38AD///AAAA8AAAAAAAAAAAAP//
AAD//wAAgAMAAIADAACAAwAAgAMAAIADAACAPwAAgDcAAIAjAACAAQAAg4AAAIPBAACD4wAAg/cAAP//
AAAoAAAAIAAAAEAAAAABAAgAAAAAAAAEAAAAAAAAAAAAAAABAAAAAQAAAAAAAEJCQgCGhoYAycnJAPb2
9gD5+fkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQE
BAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEAQEBAQEBAQQEAQEBAQEBAQQEAQEBAQEBAQQEAAAABAQBAQEB
AQEBBAQBAQEBAQEBBAQBAQEBAQEBBAQAAAAEBAEBAQEBAQEEBAEBAQEBAQEEBAEBAQEBAQEEBAAAAAQE
AQEBAQEBAQQEAQEBAQEBAQQEAQEBAQEBAQQEAAAABAQBAQEBAQEBBAQBAQEBAQEBBAQBAQEBAQEBBAQA
AAAEBAEBAQEBAQEEBAEBAQEBAQEEBAEBAQEBAQEEBAAAAAQEAQEBAQEBAQQEAQEBAQEBAQQEAQEBAQEB
AQQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQE
BAQEBAQEBAAAAAQEAQEBAQEBAQQEAQEBAQEBAQQEAAAAAAAAAAAAAAAABAQBAQEBAQEBBAQBAQEBAQEB
BAQAAAAAAAAAAAAAAAAEBAEBAQEBAQEEBAEBAQEBAQEEBAAAAAAAAAAAAAAAAAQEAQEBAQEBAQQEAQEB
AQEBAQQEAAAABQUAAAAAAAAABAQBAQEBAQEBBAQBAQEBAQEBBAQAAAUEBAUAAAAAAAAEBAEBAQEBAQEE
BAEBAQEBAQEEBAAFBAQEBAUAAAAAAAQEAQEBAQEBAQQEAQEBAQEBAQQEBQQEAgIEBAUAAAAABAQEBAQE
BAQEBAQEBAQEBAQEBAQEBAIBAQIEBAUAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQCAQEBAQIEBAUAAAQE
AQEBAQEBAQQEAAAAAAAABQQEAgEBAQEBAQIEBAUABAQBAQEBAQEBBAQAAAAAAAUEBAIBAQEBAQEBAQIE
BAUEBAEBAQEBAQEEBAAAAAAABQQEAgEBAQEBAQEBAgQEBQQEAQEBAQEBAQQEAAAAAAAABQQEAgEBAQEB
AQIEBAUABAQBAQEBAQEBBAQAAAAAAAAABQQEAgEBAQECBAQFAAAEBAEBAQEBAQEEBAAAAAAAAAAABQQE
AgEBAgQEBQAAAAQEAQEBAQEBAQQEAAAAAAAAAAAABQQEAgIEBAUAAAAABAQDAwMDAwMDBAQAAAAAAAAA
AAAABQQEBAQFAAAAAAAEBAQEBAQEBAQEBAAAAAAAAAAAAAAABQQEBQAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAABQUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAABwAA
AAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAA//AAAP/wAAD/8AAA5/AAAMPwAA
CB8AAAAPAAAABwAAAAMAH4ABAB8AAAAfAAAAH4ABAB/AAwAf4AcAH/APAB/4HwAf/D////5//////ygA
AAAQAAAAIAAAAAEACAAAAAAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAQkJCAGRkZACGhoYA6+vrAPb2
9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAABQUFBQUFBQUFBQUFBQAAAAUBAQEFAQEBBQEBAQUAAAAFAQEBBQEBAQUBAQEF
AAAABQEBAQUBAQEFAQEBBQAAAAUFBQUFBQUFBQUFBQUAAAAFAQEBBQEBAQUAAAAAAAAABQEBAQUBAQEF
AAAFAAAAAAUBAQEFAQEBBQAEAwQAAAAFBQUFBQUFBQUEAgECBAAABQEBAQUAAAAFAwEBAQMFAAUBAQEF
AAAAAAQCAQIEAAAFAQEBBQAAAAAABAMEAAAABQUFBQUAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAP//
AAD//wAAgAMAAIADAACAAwAAgAMAAIADAACAPwAAgDcAAIAjAACAAQAAg4AAAIPBAACD4wAAg/cAAP//
AAAoAAAAIAAAAEAAAAABACAAAAAAAIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2/wAAAAAAAAAAAAAAAPb2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/AAAAAAAA
AAAAAAAA9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b2
9v8AAAAAAAAAAAAAAAD29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/9vb2/wAAAAAAAAAAAAAAAPb29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b2
9v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC//b29v/29vb/AAAAAAAAAAAAAAAA9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v8AAAAAAAAAAAAAAAD29vb/9vb2/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv/29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/wAAAAAAAAAAAAAAAPb29v/29vb/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b2
9v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/AAAAAAAAAAAAAAAA9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v8AAAAAAAAAAAAA
AAD29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2/wAA
AAAAAAAAAAAAAPb29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/AAAAAAAAAAAAAAAA9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/wAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC//b29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b2
9v8AAAAAAAAAAAAAAAD29vaf9vb2nwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29vb/9vb2/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/9vb2/wAAAAAAAAAA9vb2n/b29v/29vb/9vb2nwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb2
9v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC//b29v/29vb/AAAAAPb29p/29vb/9vb2//b29v/29vb/9vb2nwAAAAAAAAAAAAAAAAAA
AAAAAAAA9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v/29vaf9vb2//b29v+Ghob/hoaG//b29v/29vb/9vb2nwAA
AAAAAAAAAAAAAAAAAAD29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/hoaG/0JCQv9CQkL/hoaG//b2
9v/29vb/9vb2nwAAAAAAAAAAAAAAAPb29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2/4aGhv9CQkL/QkJC/0JC
Qv9CQkL/hoaG//b29v/29vb/9vb2nwAAAAAAAAAA9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/9vb2//b29v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29vaf9vb2//b29v+Ghob/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/hoaG//b29v/29vb/9vb2nwAAAAD29vb/9vb2/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv/29vb/9vb2/wAAAAAAAAAAAAAAAAAAAAAAAAAA9vb2n/b29v/29vb/hoaG/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/hoaG//b29v/29vb/9vb2n/b29v/29vb/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/AAAAAAAAAAAAAAAAAAAAAAAAAAD29vaf9vb2//b2
9v+Ghob/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv+Ghob/9vb2//b29v/29vaf9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAD29vaf9vb2//b29v+Ghob/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/hoaG//b29v/29vb/9vb2nwAA
AAD29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/wAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAD29vaf9vb2//b29v+Ghob/QkJC/0JCQv9CQkL/QkJC/4aGhv/29vb/9vb2//b2
9p8AAAAAAAAAAPb29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29vaf9vb2//b29v+Ghob/QkJC/0JCQv+Ghob/9vb2//b2
9v/29vafAAAAAAAAAAAAAAAA9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b2
9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29vaf9vb2//b29v+Ghob/hoaG//b2
9v/29vb/9vb2nwAAAAAAAAAAAAAAAAAAAAD29vb/9vb2/8nJyf/Jycn/ycnJ/8nJyf/Jycn/ycnJ/8nJ
yf/29vb/9vb2/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29vaf9vb2//b2
9v/29vb/9vb2//b29p8AAAAAAAAAAAAAAAAAAAAAAAAAAPb29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAD29vaf9vb2//b29v/29vafAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9vb2QPb29kD29vZA9vb2QPb2
9kD29vZA9vb2QPb29kD29vZA9vb2QPb29kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAD29vaf9vb2nwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//
//8AAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAD/8AAA//AAAP/wAA
Dn8AAAw/AAAIHwAAAA8AAAAHAAAAAwAfgAEAHwAAAB8AAAAfgAEAH8ADAB/gBwAf8A8AH/gfAB/8PwAf
/n//////KAAAABAAAAAgAAAAAQAgAAAAAABABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v8AAAAAAAAAAAAA
AAD29vb/QkJC/0JCQv9CQkL/9vb2/0JCQv9CQkL/QkJC//b29v9CQkL/QkJC/0JCQv/29vb/AAAAAAAA
AAAAAAAA9vb2/0JCQv9CQkL/QkJC//b29v9CQkL/QkJC/0JCQv/29vb/QkJC/0JCQv9CQkL/9vb2/wAA
AAAAAAAAAAAAAPb29v9CQkL/QkJC/0JCQv/29vb/QkJC/0JCQv9CQkL/9vb2/0JCQv9CQkL/QkJC//b2
9v8AAAAAAAAAAAAAAAD29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/AAAAAAAAAAAAAAAA9vb2/0JCQv9CQkL/QkJC//b29v9CQkL/QkJC/0JCQv/29vb/AAAAAAAA
AAD29vYgAAAAAAAAAAAAAAAAAAAAAPb29v9CQkL/QkJC/0JCQv/29vb/QkJC/0JCQv9CQkL/9vb2/wAA
AAD29vZg9vb2//b29mAAAAAAAAAAAAAAAAD29vb/QkJC/0JCQv9CQkL/9vb2/0JCQv9CQkL/QkJC//b2
9v/29vZg6+vr/4aGhv/r6+v/9vb2YAAAAAAAAAAA9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/6+vr/2RkZP9CQkL/ZGRk/+vr6//29vZgAAAAAPb29v9CQkL/QkJC/0JCQv/29vb/AAAAAAAA
AAD29vYg9vb2/4aGhv9CQkL/QkJC/0JCQv+Ghob/9vb27wAAAAD29vb/QkJC/0JCQv9CQkL/9vb2/wAA
AAAAAAAAAAAAAPb29mDr6+v/ZGRk/0JCQv9kZGT/6urq7/b29jAAAAAA9vb2/0JCQv9CQkL/QkJC//b2
9v8AAAAAAAAAAAAAAAAAAAAA9vb2YOvr6/+Ghob/6urq7/b29jAAAAAAAAAAAPb29v/29vb/9vb2//b2
9v/29vb/AAAAAAAAAAAAAAAAAAAAAAAAAAD29vZg9vb27/b29jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAA//8AAIAD
AACAAwAAgAMAAIADAACAAwAAgDcAAIAjAACAAQAAgAAAAIMAAACDgAAAg8EAAIPjAAD//wAA
</value>
</data>
</root>

View File

@@ -0,0 +1,192 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Threading;
using HslCommunication.Enthernet;
using HslCommunication;
namespace ClientsLibrary.FileSupport
{
/// <summary>
/// 用于文件上传的类
/// </summary>
public partial class FormSimplyFileUpload : Form
{
#region Constructor
/// <summary>
/// 实例化一个文件上传的窗口
/// </summary>
/// <param name="factory">第一大类</param>
/// <param name="group">第二大类</param>
/// <param name="id">第三大类</param>
public FormSimplyFileUpload(string factory, string group, string id)
{
InitializeComponent();
Icon = UserClient.GetFormWindowIcon();
fileItem = new GroupFileItem();
fileClient = UserClient.Net_File_Client;
Factory = factory;
Group = group;
Id = id;
}
#endregion
#region Close Check
private void FormUploadFile_FormClosing(object sender, FormClosingEventArgs e)
{
if (!userButton1.Enabled)
{
MessageBox.Show("请等待上传完成才能关闭窗口。");
e.Cancel = true;
}
}
#endregion
#region Window Load Show
private void FormSimplyFileUpload_Load(object sender, EventArgs e)
{
}
#endregion
#region Upload Support
/// <summary>
/// 用于报告进度的方法
/// </summary>
/// <param name="current"></param>
/// <param name="count"></param>
private void ReportProgress(long current, long count)
{
if (InvokeRequired)
{
BeginInvoke(new Action(() =>
{
ReportProgress(current, count);
}));
return;
}
long percent = 0;
if (count > 0)
{
percent = current * 100 / count;
}
progressBar1.Value = (int)percent;
toolStripStatusLabel2.Text = "正在上传文件(" + percent.ToString() + "%)";
}
/// <summary>
/// 上传文件的后台线程
/// </summary>
private void ThreadUploadFile()
{
toolStripStatusLabel2.Text = "正在上传文件...";
Thread.Sleep(500);
OperateResult result = fileClient.UploadFile(
file_full_name, // 本地文件的完整路径
fileItem.FileName, // 在服务器端需要保存的文件名,此处和本地文件名一致
Factory, // 文件的第一大类
Group, // 文件的第二大类
Id, // 文件的第三大类
fileItem.Description, // 文件的额外描述
UserClient.UserAccount.UserName, // 文件的上传人
ReportProgress // 文件的进度报告
);
if (result.IsSuccess)
{
Invoke(new Action(() =>
{
userButton1.Enabled = true;
toolStripStatusLabel2.Text = "文件发送完成。";
}));
}
else
{
Invoke(new Action(() =>
{
MessageBox.Show("文件发送失败:" + result.Message);
userButton1.Enabled = true;
toolStripStatusLabel2.Text = "文件发送失败";
}));
}
}
#endregion
#region File Selected
/// <summary>
/// 选择需要上传的文件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void userButton2_Click(object sender, EventArgs e)
{
using (OpenFileDialog ofd = new OpenFileDialog())
{
ofd.Multiselect = false;
if (ofd.ShowDialog() == DialogResult.OK)
{
file_full_name = ofd.FileName;
textBox1.Text = file_full_name;
FileInfo info = new FileInfo(file_full_name);
fileItem.FileName = info.Name;
fileItem.FileSize = info.Length;
label4.Text = fileItem.GetTextFromFileSize();
}
}
}
#endregion
#region Start Upload
private void userButton1_Click(object sender, EventArgs e)
{
//上传
if (textBox1.Text != "")
{
fileItem.Description = textBox2.Text;
userButton1.Enabled = false;
progressBar1.Value = 0;
Thread thread_upload_file = new Thread(new ThreadStart(ThreadUploadFile));
thread_upload_file.IsBackground = true;
thread_upload_file.Start();
}
}
#endregion
#region Private Members
private IntegrationFileClient fileClient; // 数据传送对象
private string file_full_name = ""; // 文件的完整名称
private GroupFileItem fileItem; // 文件对象
private string Factory = ""; // 文件的第一大类
private string Group = ""; // 文件的第二大类
private string Id = ""; // 文件的第三大类
#endregion
}
}

View File

@@ -0,0 +1,233 @@
namespace ClientsLibrary.FileSupport
{
partial class FormSimplyFileUpload
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormSimplyFileUpload));
this.label6 = new System.Windows.Forms.Label();
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel();
this.toolStripStatusLabel2 = new System.Windows.Forms.ToolStripStatusLabel();
this.label5 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.progressBar1 = new System.Windows.Forms.ProgressBar();
this.textBox2 = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.textBox1 = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.userButton1 = new HslCommunication.Controls.UserButton();
this.userButton2 = new HslCommunication.Controls.UserButton();
this.statusStrip1.SuspendLayout();
this.SuspendLayout();
//
// label6
//
this.label6.AutoSize = true;
this.label6.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label6.ForeColor = System.Drawing.Color.Red;
this.label6.Location = new System.Drawing.Point(20, 7);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(535, 16);
this.label6.TabIndex = 23;
this.label6.Text = "注意:如果服务器存在同名文件,将会被覆盖,上传之前请谨慎确认!";
//
// statusStrip1
//
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripStatusLabel1,
this.toolStripStatusLabel2});
this.statusStrip1.Location = new System.Drawing.Point(0, 309);
this.statusStrip1.Name = "statusStrip1";
this.statusStrip1.Size = new System.Drawing.Size(563, 22);
this.statusStrip1.TabIndex = 22;
this.statusStrip1.Text = "statusStrip1";
//
// toolStripStatusLabel1
//
this.toolStripStatusLabel1.Name = "toolStripStatusLabel1";
this.toolStripStatusLabel1.Size = new System.Drawing.Size(68, 17);
this.toolStripStatusLabel1.Text = "状态说明:";
//
// toolStripStatusLabel2
//
this.toolStripStatusLabel2.Name = "toolStripStatusLabel2";
this.toolStripStatusLabel2.Size = new System.Drawing.Size(23, 17);
this.toolStripStatusLabel2.Text = "---";
//
// label5
//
this.label5.AutoSize = true;
this.label5.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label5.Location = new System.Drawing.Point(29, 218);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(88, 16);
this.label5.TabIndex = 20;
this.label5.Text = "4.上传进度";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label4.Location = new System.Drawing.Point(132, 76);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(24, 16);
this.label4.TabIndex = 19;
this.label4.Text = "0B";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label3.Location = new System.Drawing.Point(29, 76);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(88, 16);
this.label3.TabIndex = 18;
this.label3.Text = "2.文件大小";
//
// progressBar1
//
this.progressBar1.Location = new System.Drawing.Point(47, 244);
this.progressBar1.Name = "progressBar1";
this.progressBar1.Size = new System.Drawing.Size(449, 19);
this.progressBar1.TabIndex = 17;
//
// textBox2
//
this.textBox2.Location = new System.Drawing.Point(47, 127);
this.textBox2.Multiline = true;
this.textBox2.Name = "textBox2";
this.textBox2.Size = new System.Drawing.Size(449, 74);
this.textBox2.TabIndex = 16;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label2.Location = new System.Drawing.Point(29, 103);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(168, 16);
this.label2.TabIndex = 15;
this.label2.Text = "3.文件说明(最多50字)";
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(47, 52);
this.textBox1.Name = "textBox1";
this.textBox1.ReadOnly = true;
this.textBox1.Size = new System.Drawing.Size(449, 21);
this.textBox1.TabIndex = 13;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label1.Location = new System.Drawing.Point(29, 33);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(88, 16);
this.label1.TabIndex = 12;
this.label1.Text = "1.文件选择";
//
// userButton1
//
this.userButton1.BackColor = System.Drawing.Color.Transparent;
this.userButton1.CustomerInformation = "";
this.userButton1.EnableColor = System.Drawing.Color.FromArgb(((int)(((byte)(190)))), ((int)(((byte)(190)))), ((int)(((byte)(190)))));
this.userButton1.Font = new System.Drawing.Font("微软雅黑", 9F);
this.userButton1.Location = new System.Drawing.Point(214, 267);
this.userButton1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.userButton1.Name = "userButton1";
this.userButton1.Size = new System.Drawing.Size(129, 35);
this.userButton1.TabIndex = 24;
this.userButton1.UIText = "上传";
this.userButton1.Click += new System.EventHandler(this.userButton1_Click);
//
// userButton2
//
this.userButton2.BackColor = System.Drawing.Color.Transparent;
this.userButton2.CustomerInformation = "";
this.userButton2.EnableColor = System.Drawing.Color.FromArgb(((int)(((byte)(190)))), ((int)(((byte)(190)))), ((int)(((byte)(190)))));
this.userButton2.Font = new System.Drawing.Font("微软雅黑", 9F);
this.userButton2.Location = new System.Drawing.Point(506, 50);
this.userButton2.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.userButton2.Name = "userButton2";
this.userButton2.Size = new System.Drawing.Size(49, 25);
this.userButton2.TabIndex = 25;
this.userButton2.UIText = "选择";
this.userButton2.Click += new System.EventHandler(this.userButton2_Click);
//
// FormSimplyFileUpload
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(563, 331);
this.Controls.Add(this.userButton2);
this.Controls.Add(this.userButton1);
this.Controls.Add(this.label6);
this.Controls.Add(this.statusStrip1);
this.Controls.Add(this.label5);
this.Controls.Add(this.label4);
this.Controls.Add(this.label3);
this.Controls.Add(this.progressBar1);
this.Controls.Add(this.textBox2);
this.Controls.Add(this.label2);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.label1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximumSize = new System.Drawing.Size(579, 370);
this.MinimumSize = new System.Drawing.Size(579, 370);
this.Name = "FormSimplyFileUpload";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "上传文件至服务器 [ 取消请直接关闭窗口 ]";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FormUploadFile_FormClosing);
this.Load += new System.EventHandler(this.FormSimplyFileUpload_Load);
this.statusStrip1.ResumeLayout(false);
this.statusStrip1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label6;
private System.Windows.Forms.StatusStrip statusStrip1;
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1;
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel2;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.ProgressBar progressBar1;
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Label label1;
private HslCommunication.Controls.UserButton userButton1;
private HslCommunication.Controls.UserButton userButton2;
}
}

View File

@@ -0,0 +1,297 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: 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">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<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">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<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" 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">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<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>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAYAICAQAAEABADoAgAAZgAAABAQEAABAAQAKAEAAE4DAAAgIAAAAQAIAKgIAAB2BAAAEBAAAAEA
CABoBQAAHg0AACAgAAABACAAqBAAAIYSAAAQEAAAAQAgAGgEAAAuIwAAKAAAACAAAABAAAAAAQAEAAAA
AAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA
/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAA///////////////////wAP//
////////////////8AD/d3d3f/d3d3f/d3d3f/AA/3d3d3/3d3d3/3d3d3/wAP93d3d/93d3d/93d3d/
8AD/d3d3f/d3d3f/d3d3f/AA/3d3d3/3d3d3/3d3d3/wAP93d3d/93d3d/93d3d/8AD/d3d3f/d3d3f/
d3d3f/AA///////////////////wAP//////////////////8AD/d3d3f/d3d3f/AAAAAAAA/3d3d3/3
d3d3/wAAAAAAAP93d3d/93d3d/8AAAAAAAD/d3d3f/d3d3f/AA/wAAAA/3d3d3/3d3d3/wD//wAAAP93
d3d/93d3d/8P///wAAD/d3d3f/d3d3f///d//wAA//////////////93d//wAP/////////////3d3d/
/wD/d3d3f/AAAA//d3d3d//w/3d3d3/wAAD/93d3d3d///93d3d/8AAA//d3d3d3f///d3d3f/AAAA//
d3d3d//w/3d3d3/wAAAA//d3d3//AP93d3d/8AAAAA//d3f/8AD/d3d3f/AAAAAA//d//wAA/4iIiI/w
AAAAAA////AAAP//////8AAAAAAA//8AAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAP//
//8AAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAD/8AAA//AAAP/wAA
Dn8AAAw/AAAIHwAAAA8AAAAHAAAAAwAfgAEAHwAAAB8AAAAfgAEAH8ADAB/gBwAf8A8AH/gfAB/8P///
/n//////KAAAABAAAAAgAAAAAQAEAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACA
gACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAA
AAAAAAAAD////////wAPd393f3d/AA93f3d/d38AD3d/d393fwAP////////AA93f3d/AAAAD3d/d38A
8AAPd393fw9/AA//////93fwD3d/AA93d38Pd38AAPd38A93fwAAD38AD///AAAA8AAAAAAAAAAAAP//
AAD//wAAgAMAAIADAACAAwAAgAMAAIADAACAPwAAgDcAAIAjAACAAQAAg4AAAIPBAACD4wAAg/cAAP//
AAAoAAAAIAAAAEAAAAABAAgAAAAAAAAEAAAAAAAAAAAAAAABAAAAAQAAAAAAAEJCQgCGhoYAycnJAPb2
9gD5+fkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQE
BAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEAQEBAQEBAQQEAQEBAQEBAQQEAQEBAQEBAQQEAAAABAQBAQEB
AQEBBAQBAQEBAQEBBAQBAQEBAQEBBAQAAAAEBAEBAQEBAQEEBAEBAQEBAQEEBAEBAQEBAQEEBAAAAAQE
AQEBAQEBAQQEAQEBAQEBAQQEAQEBAQEBAQQEAAAABAQBAQEBAQEBBAQBAQEBAQEBBAQBAQEBAQEBBAQA
AAAEBAEBAQEBAQEEBAEBAQEBAQEEBAEBAQEBAQEEBAAAAAQEAQEBAQEBAQQEAQEBAQEBAQQEAQEBAQEB
AQQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQE
BAQEBAQEBAAAAAQEAQEBAQEBAQQEAQEBAQEBAQQEAAAAAAAAAAAAAAAABAQBAQEBAQEBBAQBAQEBAQEB
BAQAAAAAAAAAAAAAAAAEBAEBAQEBAQEEBAEBAQEBAQEEBAAAAAAAAAAAAAAAAAQEAQEBAQEBAQQEAQEB
AQEBAQQEAAAABQUAAAAAAAAABAQBAQEBAQEBBAQBAQEBAQEBBAQAAAUEBAUAAAAAAAAEBAEBAQEBAQEE
BAEBAQEBAQEEBAAFBAQEBAUAAAAAAAQEAQEBAQEBAQQEAQEBAQEBAQQEBQQEAgIEBAUAAAAABAQEBAQE
BAQEBAQEBAQEBAQEBAQEBAIBAQIEBAUAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQCAQEBAQIEBAUAAAQE
AQEBAQEBAQQEAAAAAAAABQQEAgEBAQEBAQIEBAUABAQBAQEBAQEBBAQAAAAAAAUEBAIBAQEBAQEBAQIE
BAUEBAEBAQEBAQEEBAAAAAAABQQEAgEBAQEBAQEBAgQEBQQEAQEBAQEBAQQEAAAAAAAABQQEAgEBAQEB
AQIEBAUABAQBAQEBAQEBBAQAAAAAAAAABQQEAgEBAQECBAQFAAAEBAEBAQEBAQEEBAAAAAAAAAAABQQE
AgEBAgQEBQAAAAQEAQEBAQEBAQQEAAAAAAAAAAAABQQEAgIEBAUAAAAABAQDAwMDAwMDBAQAAAAAAAAA
AAAABQQEBAQFAAAAAAAEBAQEBAQEBAQEBAAAAAAAAAAAAAAABQQEBQAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAABQUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAABwAA
AAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAA//AAAP/wAAD/8AAA5/AAAMPwAA
CB8AAAAPAAAABwAAAAMAH4ABAB8AAAAfAAAAH4ABAB/AAwAf4AcAH/APAB/4HwAf/D////5//////ygA
AAAQAAAAIAAAAAEACAAAAAAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAQkJCAGRkZACGhoYA6+vrAPb2
9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAABQUFBQUFBQUFBQUFBQAAAAUBAQEFAQEBBQEBAQUAAAAFAQEBBQEBAQUBAQEF
AAAABQEBAQUBAQEFAQEBBQAAAAUFBQUFBQUFBQUFBQUAAAAFAQEBBQEBAQUAAAAAAAAABQEBAQUBAQEF
AAAFAAAAAAUBAQEFAQEBBQAEAwQAAAAFBQUFBQUFBQUEAgECBAAABQEBAQUAAAAFAwEBAQMFAAUBAQEF
AAAAAAQCAQIEAAAFAQEBBQAAAAAABAMEAAAABQUFBQUAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAP//
AAD//wAAgAMAAIADAACAAwAAgAMAAIADAACAPwAAgDcAAIAjAACAAQAAg4AAAIPBAACD4wAAg/cAAP//
AAAoAAAAIAAAAEAAAAABACAAAAAAAIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2/wAAAAAAAAAAAAAAAPb2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/AAAAAAAA
AAAAAAAA9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b2
9v8AAAAAAAAAAAAAAAD29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/9vb2/wAAAAAAAAAAAAAAAPb29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b2
9v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC//b29v/29vb/AAAAAAAAAAAAAAAA9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v8AAAAAAAAAAAAAAAD29vb/9vb2/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv/29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/wAAAAAAAAAAAAAAAPb29v/29vb/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b2
9v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/AAAAAAAAAAAAAAAA9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v8AAAAAAAAAAAAA
AAD29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2/wAA
AAAAAAAAAAAAAPb29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/AAAAAAAAAAAAAAAA9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/wAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC//b29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b2
9v8AAAAAAAAAAAAAAAD29vaf9vb2nwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29vb/9vb2/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv/29vb/9vb2/wAAAAAAAAAA9vb2n/b29v/29vb/9vb2nwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb2
9v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC//b29v/29vb/AAAAAPb29p/29vb/9vb2//b29v/29vb/9vb2nwAAAAAAAAAAAAAAAAAA
AAAAAAAA9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v/29vaf9vb2//b29v+Ghob/hoaG//b29v/29vb/9vb2nwAA
AAAAAAAAAAAAAAAAAAD29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/hoaG/0JCQv9CQkL/hoaG//b2
9v/29vb/9vb2nwAAAAAAAAAAAAAAAPb29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2/4aGhv9CQkL/QkJC/0JC
Qv9CQkL/hoaG//b29v/29vb/9vb2nwAAAAAAAAAA9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/9vb2//b29v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29vaf9vb2//b29v+Ghob/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/hoaG//b29v/29vb/9vb2nwAAAAD29vb/9vb2/0JCQv9CQkL/QkJC/0JC
Qv9CQkL/QkJC/0JCQv/29vb/9vb2/wAAAAAAAAAAAAAAAAAAAAAAAAAA9vb2n/b29v/29vb/hoaG/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/hoaG//b29v/29vb/9vb2n/b29v/29vb/QkJC/0JC
Qv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/AAAAAAAAAAAAAAAAAAAAAAAAAAD29vaf9vb2//b2
9v+Ghob/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv+Ghob/9vb2//b29v/29vaf9vb2//b2
9v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAD29vaf9vb2//b29v+Ghob/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/hoaG//b29v/29vb/9vb2nwAA
AAD29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/wAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAD29vaf9vb2//b29v+Ghob/QkJC/0JCQv9CQkL/QkJC/4aGhv/29vb/9vb2//b2
9p8AAAAAAAAAAPb29v/29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29vaf9vb2//b29v+Ghob/QkJC/0JCQv+Ghob/9vb2//b2
9v/29vafAAAAAAAAAAAAAAAA9vb2//b29v9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b2
9v8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29vaf9vb2//b29v+Ghob/hoaG//b2
9v/29vb/9vb2nwAAAAAAAAAAAAAAAAAAAAD29vb/9vb2/8nJyf/Jycn/ycnJ/8nJyf/Jycn/ycnJ/8nJ
yf/29vb/9vb2/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29vaf9vb2//b2
9v/29vb/9vb2//b29p8AAAAAAAAAAAAAAAAAAAAAAAAAAPb29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/9vb2//b29v/29vb/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAD29vaf9vb2//b29v/29vafAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9vb2QPb29kD29vZA9vb2QPb2
9kD29vZA9vb2QPb29kD29vZA9vb2QPb29kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAD29vaf9vb2nwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//
//8AAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAAAcAAAAHAAAABwAAD/8AAA//AAAP/wAA
Dn8AAAw/AAAIHwAAAA8AAAAHAAAAAwAfgAEAHwAAAB8AAAAfgAEAH8ADAB/gBwAf8A8AH/gfAB/8PwAf
/n//////KAAAABAAAAAgAAAAAQAgAAAAAABABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPb2
9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v8AAAAAAAAAAAAA
AAD29vb/QkJC/0JCQv9CQkL/9vb2/0JCQv9CQkL/QkJC//b29v9CQkL/QkJC/0JCQv/29vb/AAAAAAAA
AAAAAAAA9vb2/0JCQv9CQkL/QkJC//b29v9CQkL/QkJC/0JCQv/29vb/QkJC/0JCQv9CQkL/9vb2/wAA
AAAAAAAAAAAAAPb29v9CQkL/QkJC/0JCQv/29vb/QkJC/0JCQv9CQkL/9vb2/0JCQv9CQkL/QkJC//b2
9v8AAAAAAAAAAAAAAAD29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/AAAAAAAAAAAAAAAA9vb2/0JCQv9CQkL/QkJC//b29v9CQkL/QkJC/0JCQv/29vb/AAAAAAAA
AAD29vYgAAAAAAAAAAAAAAAAAAAAAPb29v9CQkL/QkJC/0JCQv/29vb/QkJC/0JCQv9CQkL/9vb2/wAA
AAD29vZg9vb2//b29mAAAAAAAAAAAAAAAAD29vb/QkJC/0JCQv9CQkL/9vb2/0JCQv9CQkL/QkJC//b2
9v/29vZg6+vr/4aGhv/r6+v/9vb2YAAAAAAAAAAA9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2
9v/29vb/6+vr/2RkZP9CQkL/ZGRk/+vr6//29vZgAAAAAPb29v9CQkL/QkJC/0JCQv/29vb/AAAAAAAA
AAD29vYg9vb2/4aGhv9CQkL/QkJC/0JCQv+Ghob/9vb27wAAAAD29vb/QkJC/0JCQv9CQkL/9vb2/wAA
AAAAAAAAAAAAAPb29mDr6+v/ZGRk/0JCQv9kZGT/6urq7/b29jAAAAAA9vb2/0JCQv9CQkL/QkJC//b2
9v8AAAAAAAAAAAAAAAAAAAAA9vb2YOvr6/+Ghob/6urq7/b29jAAAAAAAAAAAPb29v/29vb/9vb2//b2
9v/29vb/AAAAAAAAAAAAAAAAAAAAAAAAAAD29vZg9vb27/b29jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAA//8AAIAD
AACAAwAAgAMAAIADAACAAwAAgDcAAIAjAACAAQAAgAAAAIMAAACDgAAAg8EAAIPjAAD//wAA
</value>
</data>
</root>

File diff suppressed because it is too large Load Diff

View File

@@ -117,11 +117,330 @@
<resheader name="writer">
<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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<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=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>
<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="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="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="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>
<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>
<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>
<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>
<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="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="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="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="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>
<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>
<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="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>
<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="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="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="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>
</root>

View File

@@ -9,6 +9,7 @@ using System.Windows.Forms;
using HslCommunication;
using HslCommunication.Enthernet;
using CommonLibrary;
using ClientsLibrary.FileSupport;
namespace ClientsLibrary
{
@@ -39,7 +40,7 @@ namespace ClientsLibrary
if (ofd.ShowDialog() == DialogResult.OK)
{
using (FormFileOperate fUpload = new FormFileOperate(
UserClient.Net_File_Client,
UserClient.Net_Update_Client,
ofd.FileNames,
"ClientFiles",
"",

View File

@@ -35,7 +35,7 @@ namespace ClientsLibrary
/// <summary>
/// 本软件的当前版本,用来验证更新的关键依据
/// </summary>
public static SystemVersion CurrentVersion { get; } = new SystemVersion("1.0.0.170914");
public static SystemVersion CurrentVersion { get; } = new SystemVersion("1.0.0.170930");
/// <summary>
@@ -62,11 +62,11 @@ namespace ClientsLibrary
new VersionInfo()
{
VersionNum = new SystemVersion("1.0.0"),
ReleaseDate=new DateTime(2017,1,1),//该版本发布的日期
ReleaseDate = new DateTime(2017, 10, 1),//该版本发布的日期
UpdateDetails = new StringBuilder(
"1.本系统第一版本正式发布使用。"+Environment.NewLine+
"2.提供了多客户端用时在线的功能。"+Environment.NewLine+
"3.需要用户自行添加"),
"3.支持个人的文件管理功能。"),
},
};
@@ -106,22 +106,39 @@ namespace ClientsLibrary
};
/// <summary>
/// 用于特殊用途的文件上传下载操作
/// 用于绝大部分用途的文件上传下载操作
/// </summary>
public static AdvancedFileClient Net_File_Client { get; set; } = new AdvancedFileClient()
public static IntegrationFileClient Net_File_Client { get; set; } = new IntegrationFileClient()
{
KeyToken = CommonProtocol.KeyToken,
LogNet = LogNet,
ServerIpEndPoint = new IPEndPoint(IPAddress.Parse(ServerIp), CommonLibrary.CommonProtocol.Port_Advanced_File_Server)
ServerIpEndPoint = new IPEndPoint(IPAddress.Parse(ServerIp), CommonProtocol.Port_Ultimate_File_Server)
};
/// <summary>
/// 目前仅仅用于上传客户端更新文件操作
/// </summary>
public static IntegrationFileClient Net_Update_Client { get; set; } = new IntegrationFileClient()
{
KeyToken = CommonProtocol.KeyToken,
LogNet = LogNet,
ServerIpEndPoint = new IPEndPoint(IPAddress.Parse(ServerIp), CommonProtocol.Port_Advanced_File_Server)
};
/// <summary>
/// 客户端的日志纪录对象
/// </summary>
public static HslCommunication.LogNet.ILogNet LogNet { get; set; }
/// <summary>
/// 用来处理客户端发生的未捕获的异常,将通过网络组件发送至服务器存储,用于更好的跟踪错误
/// </summary>
@@ -131,12 +148,14 @@ namespace ClientsLibrary
{
if (e.ExceptionObject is Exception ex)
{
// 使用TCP方法传送服务器
// 使用TCP方法传送服务器
string info = HslCommunication.LogNet.LogNetManagment.GetSaveStringFromException(null, ex);
Net_simplify_client.ReadFromServer(CommonHeadCode.SimplifyHeadCode., info);
}
}
public static Icon GetFormWindowIcon()
{
return Icon.ExtractAssociatedIcon(Application.ExecutablePath);

Binary file not shown.

After

Width:  |  Height:  |  Size: 259 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 927 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 876 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 798 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 759 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 926 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 727 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 395 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 616 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 277 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 720 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 827 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 927 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 440 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 483 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 281 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 759 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 717 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 881 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 808 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 896 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 480 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 716 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 897 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 659 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 773 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 658 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 376 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 757 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 635 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 378 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 602 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 720 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 601 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1001 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 716 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 483 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 748 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 748 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 658 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 906 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 700 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 672 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 727 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 465 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 915 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 464 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 887 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 885 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 894 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 391 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 749 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 807 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 788 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 788 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 744 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 798 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 777 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 865 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 805 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 719 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 750 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 418 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 871 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1001 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 762 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 648 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 654 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 806 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 631 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 878 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 866 B

Some files were not shown because too many files have changed in this diff Show More