### 2024-12-20 星期五更新

------
#### SuperDesign    V3.0.2412.2001
- *.[新增]新增程序更新日志设置和自动发布功能。
- *.[修复]修复Post数据格式不正确时双击文本框会导致软件闪退的BUG。
This commit is contained in:
zilinsoft committed 2024-12-20 08:15:19 +08:00
1 parent 03bcb8c5fd
commit 993f1ca1a9
349 files changed
+81977 -13873

No files matched your search

@@ -0,0 +1,154 @@
namespace 开发辅助工具.Tools.SmartEditor
{
partial class FrmFavFile
{
/// <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(FrmFavFile));
this.TxtFavName = new ryControls.TextBoxEx2();
this.label1 = new System.Windows.Forms.Label();
this.BtnCancel = new ryControls.ButtonEx();
this.BtnOK = new ryControls.ButtonEx();
this.label2 = new System.Windows.Forms.Label();
this.TxtFind = new ryControls.TextBoxEx2();
this.SuspendLayout();
//
// TxtFavName
//
this.TxtFavName.BackColor = System.Drawing.Color.White;
this.TxtFavName.EmptyText = "";
this.TxtFavName.Location = new System.Drawing.Point(12, 33);
this.TxtFavName.MaxLength = 999999999;
this.TxtFavName.Multiline = false;
this.TxtFavName.Name = "TxtFavName";
this.TxtFavName.OnlyNumeric = false;
this.TxtFavName.PasswordChar = '\0';
this.TxtFavName.ReadOnly = false;
this.TxtFavName.SelectedText = "";
this.TxtFavName.SelectionLength = 0;
this.TxtFavName.SelectionStart = 0;
this.TxtFavName.Size = new System.Drawing.Size(274, 27);
this.TxtFavName.TabIndex = 0;
this.TxtFavName.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
this.TxtFavName.ToolTip = "";
this.TxtFavName.WordWrap = true;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(12, 17);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(101, 12);
this.label1.TabIndex = 1;
this.label1.Text = "请输入收藏的名称";
//
// BtnCancel
//
this.BtnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.BtnCancel.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
this.BtnCancel.Location = new System.Drawing.Point(211, 125);
this.BtnCancel.Name = "BtnCancel";
this.BtnCancel.Size = new System.Drawing.Size(75, 30);
this.BtnCancel.TabIndex = 4;
this.BtnCancel.Text = "取消";
this.BtnCancel.UseVisualStyleBackColor = true;
this.BtnCancel.Click += new System.EventHandler(this.BtnCancel_Click);
//
// BtnOK
//
this.BtnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.BtnOK.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
this.BtnOK.Location = new System.Drawing.Point(130, 125);
this.BtnOK.Name = "BtnOK";
this.BtnOK.Size = new System.Drawing.Size(75, 30);
this.BtnOK.TabIndex = 3;
this.BtnOK.Text = "确定";
this.BtnOK.UseVisualStyleBackColor = true;
this.BtnOK.Click += new System.EventHandler(this.BtnOK_Click);
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(12, 62);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(77, 12);
this.label2.TabIndex = 6;
this.label2.Text = "并且查找内容";
//
// TxtFind
//
this.TxtFind.BackColor = System.Drawing.Color.White;
this.TxtFind.EmptyText = "";
this.TxtFind.Location = new System.Drawing.Point(12, 78);
this.TxtFind.MaxLength = 999999999;
this.TxtFind.Multiline = false;
this.TxtFind.Name = "TxtFind";
this.TxtFind.OnlyNumeric = false;
this.TxtFind.PasswordChar = '\0';
this.TxtFind.ReadOnly = false;
this.TxtFind.SelectedText = "";
this.TxtFind.SelectionLength = 0;
this.TxtFind.SelectionStart = 0;
this.TxtFind.Size = new System.Drawing.Size(274, 27);
this.TxtFind.TabIndex = 5;
this.TxtFind.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
this.TxtFind.ToolTip = "";
this.TxtFind.WordWrap = true;
//
// FrmFavFile
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(298, 163);
this.Controls.Add(this.label2);
this.Controls.Add(this.TxtFind);
this.Controls.Add(this.BtnCancel);
this.Controls.Add(this.BtnOK);
this.Controls.Add(this.label1);
this.Controls.Add(this.TxtFavName);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "FrmFavFile";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "收藏文件";
this.TopMost = true;
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label1;
private ryControls.ButtonEx BtnCancel;
private ryControls.ButtonEx BtnOK;
public ryControls.TextBoxEx2 TxtFavName;
private System.Windows.Forms.Label label2;
public ryControls.TextBoxEx2 TxtFind;
}
}
@@ -0,0 +1,55 @@
using ryCommonDb;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml.Linq;
using 开发辅助工具.Manager;
namespace 开发辅助工具.Tools.SmartEditor
{
public partial class FrmFavFile : Form
{
public FrmFavFile()
{
InitializeComponent();
}
private void BtnCancel_Click(object sender, EventArgs e)
{
DialogResult= DialogResult.Cancel;
}
public int SelectedId = 0;
public int GroupId = 0;
public string FilePath { get; set; } = "";
private void BtnOK_Click(object sender, EventArgs e)
{
RyQuickSQL mySQL = new RyQuickSQL("FavFiles");
mySQL.AddField("name", TxtFavName.Text);
mySQL.AddField("FilePath", FilePath);
mySQL.AddField("FindText", TxtFind.Text);
mySQL.AddField("GroupId", GroupId);
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1)
{
mySQL.AddField("editTime", DateTime.Now);
if(SelectedId==0)
{
mySQL.AddField("addTime", DateTime.Now);
db.ExecuteNonQuery(mySQL.GetInsertSQL(), db.GetParameter(mySQL));
}
else
{
db.ExecuteNonQuery(mySQL.GetUpdateSQL() + " where id=" + SelectedId, mySQL);
}
}
db.Free();
DialogResult = DialogResult.OK;
}
}
}
@@ -0,0 +1,141 @@
<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.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>
AAABAAEAICAAAAAAIACPAwAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAgAAAAIAgGAAAAc3p69AAAAARn
QU1BAACxjwv8YQUAAANGSURBVFhH1VfLS1RRHD5SjQxq49iL3ovKMizxASFCf0CrlkGrFrWIVi5aFbRo
U4seho4TiWZYamW+IoPUqUYFddKSwgw1e5sUBhVKwa/vnPubMzN6mu6oI/TBB/ee8/2+73fvPefeGfHf
gkpFFkiKXpHDw4sHhJ7TDXhECQ8vDhC+CcFTYXdgmi6LdJ6OP3DFJzl4QtFq5AJPxxdULJIR9k2FNq7w
ge3cwHc042JZ/ICrP6YCvWKSxnLfg+9wPsljZ1gWP6CBzyqsLvUhTRSQYn1qmxorFV9ZFh8g/LAK8oif
NJz9WjcwnD2K8R/cRCHLFx4wf6tCbrtCVx9knSu4FsZZPndQmVgHo3xc6QHwOI6LwWYO+E2Du4dmNTCU
NajmLI3UFqta6SG94Mn2kcDC2QPBeQjrcNyL4+C2MrM25dGs8CDlnKkmRLlte1WWlVkgb6tJaNGb8IYq
E310x9VCbRtaqW9HrzE4nE+2B6h1fQceSRdddQzAY9zozZQN1OiB5pXt1LO1g8byRozm8+FI9ifq3tKj
MkIN1FiPoVRc04P17najwUKwwe3TOchU4UHg2ZTpSbmiTQbz4a3lofWBLI6NBCY9WlSb4jMazYU3Ux5r
X2RwnBlYmRe1+EbS31e8XVYn+7UfvDkmOiA+q4uqnH6jsR1ed3ZoH3iyvT3gOZ3WxY1p3caAaLy7qknX
w4ttYwOK+5VBlbPTGBKN8s5ZDfSxXexA8bQyubc69rXQsuYBNzDFdrGBrog0NiAKbOs3hkRjIL1L15cI
N9vaBwr3aoPR3I/GkGgcy7O+nBbz2dY+UHRUFXsTPhgDBjKeU/myPsWBnQGjxpsQbOIQ29oH9uwlVVzh
iDR/lvGSyh3P2DjEikQ/vciM/FhVOoLbMLYtKIGi+6q4wW0tQBlc5QywoUWPkAHhbzm5+lvRiNV0Y1pw
ITaxrX2gSP7MIurc7MfbLLSgJD3iFfb2fpZK7T6cP43QVCe1kR+1ln6YpfZAp8TSCLMQJxF0hGWzgKCD
0FiNz2StWMKyfwMhuwwmJ3g6KmQQtIXgl7BaeRcyWWIPYcVFVCQSedg2+Hel/Kb8kj48bB+4C2vxL2gj
n84Z8MmRXnw6A0L8AczNmfchKD2pAAAAAElFTkSuQmCC
</value>
</data>
</root>
@@ -0,0 +1,119 @@
namespace 开发辅助工具.Tools.SmartEditor
{
partial class FrmFavGroup
{
/// <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(FrmFavGroup));
this.TxtFavName = new ryControls.TextBoxEx2();
this.label1 = new System.Windows.Forms.Label();
this.BtnCancel = new ryControls.ButtonEx();
this.BtnOK = new ryControls.ButtonEx();
this.SuspendLayout();
//
// TxtFavName
//
this.TxtFavName.BackColor = System.Drawing.Color.White;
this.TxtFavName.EmptyText = "";
this.TxtFavName.Location = new System.Drawing.Point(12, 33);
this.TxtFavName.MaxLength = 999999999;
this.TxtFavName.Multiline = false;
this.TxtFavName.Name = "TxtFavName";
this.TxtFavName.OnlyNumeric = false;
this.TxtFavName.PasswordChar = '\0';
this.TxtFavName.ReadOnly = false;
this.TxtFavName.SelectedText = "";
this.TxtFavName.SelectionLength = 0;
this.TxtFavName.SelectionStart = 0;
this.TxtFavName.Size = new System.Drawing.Size(274, 27);
this.TxtFavName.TabIndex = 0;
this.TxtFavName.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
this.TxtFavName.ToolTip = "";
this.TxtFavName.WordWrap = true;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(12, 17);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(77, 12);
this.label1.TabIndex = 1;
this.label1.Text = "请输入组名称";
//
// BtnCancel
//
this.BtnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.BtnCancel.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
this.BtnCancel.Location = new System.Drawing.Point(211, 72);
this.BtnCancel.Name = "BtnCancel";
this.BtnCancel.Size = new System.Drawing.Size(75, 30);
this.BtnCancel.TabIndex = 4;
this.BtnCancel.Text = "取消";
this.BtnCancel.UseVisualStyleBackColor = true;
this.BtnCancel.Click += new System.EventHandler(this.BtnCancel_Click);
//
// BtnOK
//
this.BtnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.BtnOK.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
this.BtnOK.Location = new System.Drawing.Point(130, 72);
this.BtnOK.Name = "BtnOK";
this.BtnOK.Size = new System.Drawing.Size(75, 30);
this.BtnOK.TabIndex = 3;
this.BtnOK.Text = "确定";
this.BtnOK.UseVisualStyleBackColor = true;
this.BtnOK.Click += new System.EventHandler(this.BtnOK_Click);
//
// FrmFavGroup
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(298, 110);
this.Controls.Add(this.BtnCancel);
this.Controls.Add(this.BtnOK);
this.Controls.Add(this.label1);
this.Controls.Add(this.TxtFavName);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "FrmFavGroup";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "收藏组";
this.TopMost = true;
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label1;
private ryControls.ButtonEx BtnCancel;
private ryControls.ButtonEx BtnOK;
public ryControls.TextBoxEx2 TxtFavName;
}
}
@@ -0,0 +1,50 @@
using ryCommonDb;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml.Linq;
using 开发辅助工具.Manager;
namespace 开发辅助工具.Tools.SmartEditor
{
public partial class FrmFavGroup : Form
{
public FrmFavGroup()
{
InitializeComponent();
}
private void BtnCancel_Click(object sender, EventArgs e)
{
DialogResult= DialogResult.Cancel;
}
public int SelectedId = 0;
private void BtnOK_Click(object sender, EventArgs e)
{
RyQuickSQL mySQL = new RyQuickSQL("FavGroup");
mySQL.AddField("name", TxtFavName.Text);
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1)
{
mySQL.AddField("editTime", DateTime.Now);
if (SelectedId==0)
{
mySQL.AddField("addTime", DateTime.Now);
db.ExecuteNonQuery(mySQL.GetInsertSQL(), mySQL);
}
else
{
db.ExecuteNonQuery(mySQL.GetUpdateSQL() + " where id="+ SelectedId, mySQL);
}
}
db.Free();
DialogResult = DialogResult.OK;
}
}
}
@@ -0,0 +1,141 @@
<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.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>
AAABAAEAICAAAAAAIACPAwAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAgAAAAIAgGAAAAc3p69AAAAARn
QU1BAACxjwv8YQUAAANGSURBVFhH1VfLS1RRHD5SjQxq49iL3ovKMizxASFCf0CrlkGrFrWIVi5aFbRo
U4seho4TiWZYamW+IoPUqUYFddKSwgw1e5sUBhVKwa/vnPubMzN6mu6oI/TBB/ee8/2+73fvPefeGfHf
gkpFFkiKXpHDw4sHhJ7TDXhECQ8vDhC+CcFTYXdgmi6LdJ6OP3DFJzl4QtFq5AJPxxdULJIR9k2FNq7w
ge3cwHc042JZ/ICrP6YCvWKSxnLfg+9wPsljZ1gWP6CBzyqsLvUhTRSQYn1qmxorFV9ZFh8g/LAK8oif
NJz9WjcwnD2K8R/cRCHLFx4wf6tCbrtCVx9knSu4FsZZPndQmVgHo3xc6QHwOI6LwWYO+E2Du4dmNTCU
NajmLI3UFqta6SG94Mn2kcDC2QPBeQjrcNyL4+C2MrM25dGs8CDlnKkmRLlte1WWlVkgb6tJaNGb8IYq
E310x9VCbRtaqW9HrzE4nE+2B6h1fQceSRdddQzAY9zozZQN1OiB5pXt1LO1g8byRozm8+FI9ifq3tKj
MkIN1FiPoVRc04P17najwUKwwe3TOchU4UHg2ZTpSbmiTQbz4a3lofWBLI6NBCY9WlSb4jMazYU3Ux5r
X2RwnBlYmRe1+EbS31e8XVYn+7UfvDkmOiA+q4uqnH6jsR1ed3ZoH3iyvT3gOZ3WxY1p3caAaLy7qknX
w4ttYwOK+5VBlbPTGBKN8s5ZDfSxXexA8bQyubc69rXQsuYBNzDFdrGBrog0NiAKbOs3hkRjIL1L15cI
N9vaBwr3aoPR3I/GkGgcy7O+nBbz2dY+UHRUFXsTPhgDBjKeU/myPsWBnQGjxpsQbOIQ29oH9uwlVVzh
iDR/lvGSyh3P2DjEikQ/vciM/FhVOoLbMLYtKIGi+6q4wW0tQBlc5QywoUWPkAHhbzm5+lvRiNV0Y1pw
ITaxrX2gSP7MIurc7MfbLLSgJD3iFfb2fpZK7T6cP43QVCe1kR+1ln6YpfZAp8TSCLMQJxF0hGWzgKCD
0FiNz2StWMKyfwMhuwwmJ3g6KmQQtIXgl7BaeRcyWWIPYcVFVCQSedg2+Hel/Kb8kj48bB+4C2vxL2gj
n84Z8MmRXnw6A0L8AczNmfchKD2pAAAAAElFTkSuQmCC
</value>
</data>
</root>
@@ -0,0 +1,306 @@
namespace GameBackup3H3.DbOp
{
partial class FrmFavView
{
/// <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()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmFavView));
this.rySearch1 = new ryControls.rySearch();
this.MenuFav = new System.Windows.Forms.ContextMenuStrip(this.components);
this.修改数据ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.删除数据ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ctlMyPage1 = new MyPage.ctlMyPage();
this.btnDel = new ryControls.ButtonEx();
this.btnEdit = new ryControls.ButtonEx();
this.LvCbResult = new BrightIdeasSoftware.FastObjectListView();
this.OlvName = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.OlvFilePath = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.OlvAddTime = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.LvGroup = new BrightIdeasSoftware.FastObjectListView();
this.OlvGroupName = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.MenuFavGroup = new System.Windows.Forms.ContextMenuStrip(this.components);
this.添加组ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.修改组ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.删除组ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator();
this.打开本分组到编辑器ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.MenuFav.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.LvCbResult)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.LvGroup)).BeginInit();
this.MenuFavGroup.SuspendLayout();
this.SuspendLayout();
//
// rySearch1
//
this.rySearch1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(239)))), ((int)(((byte)(244)))));
this.rySearch1.ButtonRoundBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(239)))), ((int)(((byte)(244)))));
this.rySearch1.EmptyText = "请输入搜索内容";
this.rySearch1.Location = new System.Drawing.Point(12, 5);
this.rySearch1.Name = "rySearch1";
this.rySearch1.Size = new System.Drawing.Size(329, 24);
this.rySearch1.TabIndex = 28;
this.rySearch1.OnSearch += new System.EventHandler(this.RySearch1_OnSearch);
//
// MenuFav
//
this.MenuFav.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.修改数据ToolStripMenuItem,
this.删除数据ToolStripMenuItem});
this.MenuFav.Name = "contextMenuStrip1";
this.MenuFav.Size = new System.Drawing.Size(125, 48);
//
// 修改数据ToolStripMenuItem
//
this.修改数据ToolStripMenuItem.Name = "修改数据ToolStripMenuItem";
this.修改数据ToolStripMenuItem.Size = new System.Drawing.Size(124, 22);
this.修改数据ToolStripMenuItem.Text = "修改数据";
this.修改数据ToolStripMenuItem.Click += new System.EventHandler(this.修改数据ToolStripMenuItem_Click);
//
// 删除数据ToolStripMenuItem
//
this.删除数据ToolStripMenuItem.Name = "删除数据ToolStripMenuItem";
this.删除数据ToolStripMenuItem.Size = new System.Drawing.Size(124, 22);
this.删除数据ToolStripMenuItem.Text = "删除数据";
this.删除数据ToolStripMenuItem.Click += new System.EventHandler(this.删除数据ToolStripMenuItem_Click);
//
// ctlMyPage1
//
this.ctlMyPage1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.ctlMyPage1.CountSQL = "";
this.ctlMyPage1.db = null;
this.ctlMyPage1.Location = new System.Drawing.Point(12, 644);
this.ctlMyPage1.Multithreading = false;
this.ctlMyPage1.Name = "ctlMyPage1";
this.ctlMyPage1.PageSize = 50;
this.ctlMyPage1.RecordCount = 0;
this.ctlMyPage1.Size = new System.Drawing.Size(506, 26);
this.ctlMyPage1.SQLText = "";
this.ctlMyPage1.SQLText2 = "";
this.ctlMyPage1.T_FirstCaption = "首页";
this.ctlMyPage1.T_LastCaption = "末页";
this.ctlMyPage1.T_NextCaption = "下一页";
this.ctlMyPage1.T_Parameters = null;
this.ctlMyPage1.T_PreCaption = "上一页";
this.ctlMyPage1.T_SkipCaption = "跳到";
this.ctlMyPage1.T_TipCaption = "{pageindex}/{pagecount} 页,共 {recordcount} 条记录,每页 {pagesize} 条";
this.ctlMyPage1.TabIndex = 30;
this.ctlMyPage1.OnPageChange += new System.EventHandler(this.CtlMyPage1_OnPageChange);
//
// btnDel
//
this.btnDel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnDel.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
this.btnDel.Location = new System.Drawing.Point(977, 5);
this.btnDel.Name = "btnDel";
this.btnDel.Size = new System.Drawing.Size(62, 24);
this.btnDel.TabIndex = 40;
this.btnDel.Text = "删除";
this.btnDel.UseVisualStyleBackColor = true;
this.btnDel.Click += new System.EventHandler(this.BtnDel_Click);
//
// btnEdit
//
this.btnEdit.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnEdit.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
this.btnEdit.Location = new System.Drawing.Point(909, 5);
this.btnEdit.Name = "btnEdit";
this.btnEdit.Size = new System.Drawing.Size(62, 24);
this.btnEdit.TabIndex = 39;
this.btnEdit.Text = "修改";
this.btnEdit.UseVisualStyleBackColor = true;
this.btnEdit.Click += new System.EventHandler(this.BtnEdit_Click);
//
// LvCbResult
//
this.LvCbResult.AllColumns.Add(this.OlvName);
this.LvCbResult.AllColumns.Add(this.OlvFilePath);
this.LvCbResult.AllColumns.Add(this.OlvAddTime);
this.LvCbResult.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.LvCbResult.CellEditUseWholeCell = false;
this.LvCbResult.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.OlvName,
this.OlvFilePath,
this.OlvAddTime});
this.LvCbResult.ContextMenuStrip = this.MenuFav;
this.LvCbResult.Cursor = System.Windows.Forms.Cursors.Default;
this.LvCbResult.EmptyListMsg = "当前列表没有任何项";
this.LvCbResult.FullRowSelect = true;
this.LvCbResult.HideSelection = false;
this.LvCbResult.Location = new System.Drawing.Point(191, 35);
this.LvCbResult.Name = "LvCbResult";
this.LvCbResult.ShowGroups = false;
this.LvCbResult.ShowItemToolTips = true;
this.LvCbResult.Size = new System.Drawing.Size(848, 607);
this.LvCbResult.TabIndex = 85;
this.LvCbResult.UseCompatibleStateImageBehavior = false;
this.LvCbResult.UseFiltering = true;
this.LvCbResult.View = System.Windows.Forms.View.Details;
this.LvCbResult.VirtualMode = true;
this.LvCbResult.DoubleClick += new System.EventHandler(this.LvCbResult_DoubleClick);
//
// OlvName
//
this.OlvName.Text = "名称";
this.OlvName.Width = 200;
//
// OlvFilePath
//
this.OlvFilePath.Text = "路径";
this.OlvFilePath.Width = 450;
//
// OlvAddTime
//
this.OlvAddTime.Text = "时间";
this.OlvAddTime.Width = 180;
//
// LvGroup
//
this.LvGroup.AllColumns.Add(this.OlvGroupName);
this.LvGroup.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.LvGroup.CellEditUseWholeCell = false;
this.LvGroup.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.OlvGroupName});
this.LvGroup.ContextMenuStrip = this.MenuFavGroup;
this.LvGroup.Cursor = System.Windows.Forms.Cursors.Default;
this.LvGroup.EmptyListMsg = "当前列表没有任何项";
this.LvGroup.FullRowSelect = true;
this.LvGroup.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
this.LvGroup.HideSelection = false;
this.LvGroup.Location = new System.Drawing.Point(12, 35);
this.LvGroup.MultiSelect = false;
this.LvGroup.Name = "LvGroup";
this.LvGroup.ShowGroups = false;
this.LvGroup.ShowItemToolTips = true;
this.LvGroup.Size = new System.Drawing.Size(173, 607);
this.LvGroup.TabIndex = 86;
this.LvGroup.UnfocusedSelectedBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(128)))), ((int)(((byte)(255)))));
this.LvGroup.UseCompatibleStateImageBehavior = false;
this.LvGroup.UseFiltering = true;
this.LvGroup.View = System.Windows.Forms.View.Details;
this.LvGroup.VirtualMode = true;
this.LvGroup.SelectionChanged += new System.EventHandler(this.LvGroup_SelectionChanged);
//
// OlvGroupName
//
this.OlvGroupName.Text = "组名称";
this.OlvGroupName.Width = 160;
//
// MenuFavGroup
//
this.MenuFavGroup.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.添加组ToolStripMenuItem,
this.修改组ToolStripMenuItem,
this.删除组ToolStripMenuItem,
this.toolStripMenuItem1,
this.打开本分组到编辑器ToolStripMenuItem});
this.MenuFavGroup.Name = "MenuFavGroup";
this.MenuFavGroup.Size = new System.Drawing.Size(185, 98);
//
// 添加组ToolStripMenuItem
//
this.添加组ToolStripMenuItem.Name = "添加组ToolStripMenuItem";
this.添加组ToolStripMenuItem.Size = new System.Drawing.Size(184, 22);
this.添加组ToolStripMenuItem.Text = "添加组";
this.添加组ToolStripMenuItem.Click += new System.EventHandler(this.添加组ToolStripMenuItem_Click);
//
// 修改组ToolStripMenuItem
//
this.修改组ToolStripMenuItem.Name = "修改组ToolStripMenuItem";
this.修改组ToolStripMenuItem.Size = new System.Drawing.Size(184, 22);
this.修改组ToolStripMenuItem.Text = "修改组";
this.修改组ToolStripMenuItem.Click += new System.EventHandler(this.修改组ToolStripMenuItem_Click);
//
// 删除组ToolStripMenuItem
//
this.删除组ToolStripMenuItem.Name = "删除组ToolStripMenuItem";
this.删除组ToolStripMenuItem.Size = new System.Drawing.Size(184, 22);
this.删除组ToolStripMenuItem.Text = "删除组";
this.删除组ToolStripMenuItem.Click += new System.EventHandler(this.删除组ToolStripMenuItem_Click);
//
// toolStripMenuItem1
//
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
this.toolStripMenuItem1.Size = new System.Drawing.Size(181, 6);
//
// 打开本分组到编辑器ToolStripMenuItem
//
this.打开本分组到编辑器ToolStripMenuItem.Name = "打开本分组到编辑器ToolStripMenuItem";
this.打开本分组到编辑器ToolStripMenuItem.Size = new System.Drawing.Size(184, 22);
this.打开本分组到编辑器ToolStripMenuItem.Text = "打开本分组到编辑器";
this.打开本分组到编辑器ToolStripMenuItem.Click += new System.EventHandler(this.打开本分组到编辑器ToolStripMenuItem_Click);
//
// FrmFavView
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1051, 674);
this.Controls.Add(this.LvGroup);
this.Controls.Add(this.LvCbResult);
this.Controls.Add(this.btnDel);
this.Controls.Add(this.btnEdit);
this.Controls.Add(this.ctlMyPage1);
this.Controls.Add(this.rySearch1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "FrmFavView";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "浏览";
this.Load += new System.EventHandler(this.FrmView_Load);
this.MenuFav.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.LvCbResult)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.LvGroup)).EndInit();
this.MenuFavGroup.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private ryControls.rySearch rySearch1;
private MyPage.ctlMyPage ctlMyPage1;
private ryControls.ButtonEx btnDel;
private ryControls.ButtonEx btnEdit;
private System.Windows.Forms.ContextMenuStrip MenuFav;
private System.Windows.Forms.ToolStripMenuItem 修改数据ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 删除数据ToolStripMenuItem;
private BrightIdeasSoftware.FastObjectListView LvCbResult;
private BrightIdeasSoftware.OLVColumn OlvName;
private BrightIdeasSoftware.OLVColumn OlvAddTime;
private BrightIdeasSoftware.OLVColumn OlvFilePath;
private BrightIdeasSoftware.FastObjectListView LvGroup;
private BrightIdeasSoftware.OLVColumn OlvGroupName;
private System.Windows.Forms.ContextMenuStrip MenuFavGroup;
private System.Windows.Forms.ToolStripMenuItem 添加组ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 修改组ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 删除组ToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem 打开本分组到编辑器ToolStripMenuItem;
}
}
@@ -0,0 +1,409 @@
using ryCommon;
using ryCommonDb;
using 开发辅助工具.Tools.SmartEditor;
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 开发辅助工具.Manager;
using ryControls;
using System.Runtime.InteropServices;
using BrightIdeasSoftware;
using SuperDesign.Tools.SmartEditor;
namespace GameBackup3H3.DbOp
{
public partial class FrmFavView : Form
{
readonly string orderSQL = "order by addTime desc";
readonly string tableName = "FavFiles";
readonly string titleName = "收藏管理";
public FrmFavView()
{
InitializeComponent();
OlvGroupName.AspectGetter = delegate (object x) { return ((FavInfo)x).Name; };
OlvName.AspectGetter = delegate (object x) { return ((FavInfo)x).Name; };
OlvFilePath.AspectGetter = delegate (object x) { return ((FavInfo)x).FilePath; };
OlvAddTime.AspectGetter = delegate (object x) { return ((FavInfo)x).AddTimeStr; };
LoadGroup();
SetupDragAndDrop();
}
private void SetupDragAndDrop()
{
// Make each listview capable of dragging rows out
this.LvGroup.DragSource = new SimpleDragSource();
this.LvCbResult.DragSource = new SimpleDragSource();
SimpleDropSink dropSink = new SimpleDropSink();
dropSink.CanDropOnItem = true;
//dropSink.CanDropOnSubItem = true;
dropSink.FeedbackColor = Color.IndianRed; // just to be different
this.LvGroup.DropSink = dropSink;
// For our purpose here, we will make it that if you drop one or more person
// onto someone, they all become married.
dropSink.ModelCanDrop += delegate (object sender, ModelDropEventArgs e) {
FavInfo item = e.TargetModel as FavInfo;
if (item == null)
e.Effect = DragDropEffects.None;
else
{
if (item.Id<0)
{
e.Effect = DragDropEffects.None;
e.InfoMessage = "不能拖放到此处";
}
else
e.Effect = DragDropEffects.Link;
}
};
dropSink.ModelDropped += delegate (object sender, ModelDropEventArgs e) {
if (e.TargetModel == null)
return;
var item = (FavInfo)e.TargetModel;
var from_list = e.SourceModels;
var del_list = new List<FavInfo>();
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1)
{
for (int i = 0; i < from_list.Count; i++)
{
var from_item = (FavInfo)from_list[i];
if (from_item.GroupId != item.Id)
{
del_list.Add(from_item);
db.ExecuteNonQuery("update FavFiles set GroupId=" + item.Id + " where id=" + from_item.Id);
}
}
}
var selected_group = (FavInfo)LvGroup.SelectedObject;
if (selected_group != null && selected_group.GroupId >= 0)
{
LvCbResult.RemoveObjects(del_list);
}
};
}
#region 需要修改的内容
private void RySearch1_OnSearch(object sender, EventArgs e)
{
//需要修改此处
LoadDb("(name like @SearchText or FilePath like @SearchText)");
}
private void LoadGroup()
{
LvGroup.ClearObjects();
List<FavInfo> list = new List<FavInfo>
{
new FavInfo()
{
Id =-1,
Name = "全部收藏",
AddTime = DateTime.Now
},
new FavInfo()
{
Id = 0,
Name = "未分组",
AddTime = DateTime.Now
},
};
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1)
{
DataSet ds = db.ReadData("select * from FavGroup");
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
DataRow row = ds.Tables[0].Rows[i];
list.Add(new FavInfo()
{
Id = row["id"].ToInt(),
Name = row["name"].ToString(),
AddTime = row["AddTime"].ToDateTime()
});
}
}
db.Free();
LvGroup.AddObjects(list);
}
private void CtlMyPage1_OnPageChange(object sender, EventArgs e)
{
#region 重新载入数据
LvCbResult.ClearObjects();
List<FavInfo> list = new List<FavInfo>();
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1)
{
DataSet ds = db.ReadData(ctlMyPage1.GetSQLText, ctlMyPage1.T_Parameters);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
DataRow row = ds.Tables[0].Rows[i];
list.Add(new FavInfo()
{
Id=row["id"].ToInt(),
Name = row["name"].ToString(),
FilePath = row["FilePath"].ToString(),
FindText = row["FindText"].ToString(),
GroupId = row["GroupId"].ToInt(),
AddTime = row["AddTime"].ToDateTime()
}) ;
}
}
db.Free();
LvCbResult.AddObjects(list);
#endregion
}
private void GetRow(int id, int index)
{
#region 重新载入数据
DataProvider mydb = new DataProvider();
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1)
{
DataSet ds = db.ReadData("select * from " + tableName + " where id=" + id);
if (mydb.HaveData(ds))
{
DataRow row = ds.Tables[0].Rows[0];
var item=(FavInfo) LvCbResult.GetModelObject(index);
item.Name = row["name"].ToString();
item.FindText = row["FindText"].ToString();
item.FilePath = row["FilePath"].ToString();
item.GroupId = row["GroupId"].ToInt();
//添加剩余的项目
//添加完毕
LvCbResult.UpdateObject(item);
}
}
db.Free();
#endregion
}
#endregion
public void LoadDb(string whereSQL)
{
string _whereSQL = whereSQL;
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1)
{
#region 重新载入数据
var group =(FavInfo) LvGroup.SelectedObject;
if(group!=null && group.Id>=0)
{
_whereSQL += " and GroupId="+group.Id;
}
db.AddParameter("SearchText", "%" + rySearch1.Text + "%");
ctlMyPage1.RecordCount = db.GetCount(tableName, _whereSQL);
ctlMyPage1.T_Parameters = db.GetParameter();
ctlMyPage1.SQLText= db.GetPageSQL(tableName, _whereSQL, orderSQL);
ctlMyPage1.SQLText2 = db.GetPageSQL2(tableName, _whereSQL, orderSQL);
ctlMyPage1.GotoPageIndex(1);
#endregion
}
db.Free();
}
private void BtnEdit_Click(object sender, EventArgs e)
{
if (LvCbResult.SelectedObject == null) { return; }
var item = (FavInfo)LvCbResult.SelectedObject;
var selectId = item.Id;
FrmFavFile frm = new FrmFavFile
{
Text = "修改" + titleName,
Icon = Icon,
GroupId = item.GroupId,
SelectedId = item.Id,
FilePath = item.FilePath
};
frm.TxtFavName.Text = item.Name;
frm.TxtFind.Text = item.FindText;
if(frm.ShowDialog()==DialogResult.OK)
{
GetRow(selectId, LvCbResult.SelectedIndex);
}
frm.Dispose();
}
private void BtnDel_Click(object sender, EventArgs e)
{
if (LvCbResult.SelectedObjects.Count == 0) { MessageBox.Show("请先选择要删除的项。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; }
switch (MessageBox.Show("确定要删除选定的项吗?一旦删除将不可恢复。", "询问", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2))
{
case DialogResult.No:
return;
}
//DataProvider mydb = new DataProvider();
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1)
{
for (int i = 0; i < LvCbResult.SelectedObjects.Count; i++)
{
var item = (FavInfo)LvCbResult.SelectedObjects[i];
var selectId = item.Id;
db.DelById(tableName, selectId.ToString());
}
LvCbResult.RemoveObjects(LvCbResult.SelectedObjects);
}
}
private void FrmView_Load(object sender, EventArgs e)
{
Text = "浏览"+ titleName;
修改数据ToolStripMenuItem.Text = "修改" + titleName;
删除数据ToolStripMenuItem.Text = "删除" + titleName;
rySearch1.PerformClick();
}
private void 修改数据ToolStripMenuItem_Click(object sender, EventArgs e)
{
btnEdit.PerformClick();
}
private void 删除数据ToolStripMenuItem_Click(object sender, EventArgs e)
{
btnDel.PerformClick();
}
public bool SelectModeOn { get; set; } = false;
public FavInfo SelectedItem { get; set; }
private void LvCbResult_DoubleClick(object sender, EventArgs e)
{
if(SelectModeOn)
{
if (LvCbResult.SelectedObject == null) { return; }
SelectedItem = (FavInfo)LvCbResult.SelectedObject;
DialogResult=DialogResult.OK;
}
}
private void LvGroup_SelectionChanged(object sender, EventArgs e)
{
rySearch1.PerformClick();
}
private void 添加组ToolStripMenuItem_Click(object sender, EventArgs e)
{
FrmFavGroup frm = new FrmFavGroup
{
Text = "添加组",
Icon = Icon,
SelectedId = 0
};
if (frm.ShowDialog() == DialogResult.OK)
{
LoadGroup();
}
frm.Dispose();
}
private void 修改组ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (LvGroup.SelectedObject == null) { return; }
var item = (FavInfo)LvGroup.SelectedObject;
FrmFavGroup frm = new FrmFavGroup
{
Text = "修改组",
Icon = Icon,
SelectedId = item.Id
};
frm.TxtFavName.Text = item.Name;
if (frm.ShowDialog() == DialogResult.OK)
{
item.Name = frm.TxtFavName.Text;
LvGroup.RefreshObject(item);
}
frm.Dispose();
}
private void 删除组ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (LvGroup.SelectedObject == null) { MessageBox.Show("请先选择要删除的项。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; }
var item = (FavInfo)LvGroup.SelectedObject;
switch (MessageBox.Show("确定要删除该项吗?一旦删除将不可恢复。", "询问", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2))
{
case DialogResult.No:
return;
}
//DataProvider mydb = new DataProvider();
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1)
{
var ds = db.ReadData("select * from FavFiles where GroupId="+ item.Id+" limit 1");
if(ds.HaveData())
{
MessageBox.Show("当前组内还有收藏,请删除收藏后再删除组", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
ds.Dispose();
return;
}
ds.Dispose();
db.DelById("FavGroup", item.Id.ToString());
LvGroup.RemoveObject(item);
}
}
private void 打开本分组到编辑器ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (LvGroup.SelectedObject == null) { MessageBox.Show("请先选择要打开的组。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; }
var item = (FavInfo)LvGroup.SelectedObject;
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1)
{
var ds = db.ReadData("select * from FavFiles where GroupId=" + item.Id);
List<string> list=new List<string>();
if (ds.HaveData())
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
var row = ds.GetRow(i);
list.Add(row["FilePath"].ToString());
}
}
ds.Dispose();
if(list.Count>0)
{
FrmMainEditor.MainEditor.OpenFileList(list);
DialogResult= DialogResult.Yes;
}
else
{
MessageBox.Show("该组没有任何数据", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
}
}
public class FavInfo
{
/// <summary>
/// id
/// </summary>
public int Id{ get; set; }
/// <summary>
/// 名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// FilePath
/// </summary>
public string FilePath { get; set; }
/// <summary>
/// FindText
/// </summary>
public string FindText { get; set; }
/// <summary>
/// 组id
/// </summary>
public int GroupId { get; set; }
/// <summary>
/// 添加时间
/// </summary>
public DateTime AddTime { get; set; }
/// <summary>
/// 添加时间字符串
/// </summary>
public string AddTimeStr
{
get { return AddTime.ToString("yyyy-MM-dd dddd HH:mm:ss"); }
}
}
}
@@ -0,0 +1,147 @@
<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="MenuFav.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>35, 21</value>
</metadata>
<metadata name="MenuFavGroup.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>141, 21</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.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>
AAABAAEAICAAAAAAIACPAwAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAgAAAAIAgGAAAAc3p69AAAAARn
QU1BAACxjwv8YQUAAANGSURBVFhH1VfLS1RRHD5SjQxq49iL3ovKMizxASFCf0CrlkGrFrWIVi5aFbRo
U4seho4TiWZYamW+IoPUqUYFddKSwgw1e5sUBhVKwa/vnPubMzN6mu6oI/TBB/ee8/2+73fvPefeGfHf
gkpFFkiKXpHDw4sHhJ7TDXhECQ8vDhC+CcFTYXdgmi6LdJ6OP3DFJzl4QtFq5AJPxxdULJIR9k2FNq7w
ge3cwHc042JZ/ICrP6YCvWKSxnLfg+9wPsljZ1gWP6CBzyqsLvUhTRSQYn1qmxorFV9ZFh8g/LAK8oif
NJz9WjcwnD2K8R/cRCHLFx4wf6tCbrtCVx9knSu4FsZZPndQmVgHo3xc6QHwOI6LwWYO+E2Du4dmNTCU
NajmLI3UFqta6SG94Mn2kcDC2QPBeQjrcNyL4+C2MrM25dGs8CDlnKkmRLlte1WWlVkgb6tJaNGb8IYq
E310x9VCbRtaqW9HrzE4nE+2B6h1fQceSRdddQzAY9zozZQN1OiB5pXt1LO1g8byRozm8+FI9ifq3tKj
MkIN1FiPoVRc04P17najwUKwwe3TOchU4UHg2ZTpSbmiTQbz4a3lofWBLI6NBCY9WlSb4jMazYU3Ux5r
X2RwnBlYmRe1+EbS31e8XVYn+7UfvDkmOiA+q4uqnH6jsR1ed3ZoH3iyvT3gOZ3WxY1p3caAaLy7qknX
w4ttYwOK+5VBlbPTGBKN8s5ZDfSxXexA8bQyubc69rXQsuYBNzDFdrGBrog0NiAKbOs3hkRjIL1L15cI
N9vaBwr3aoPR3I/GkGgcy7O+nBbz2dY+UHRUFXsTPhgDBjKeU/myPsWBnQGjxpsQbOIQ29oH9uwlVVzh
iDR/lvGSyh3P2DjEikQ/vciM/FhVOoLbMLYtKIGi+6q4wW0tQBlc5QywoUWPkAHhbzm5+lvRiNV0Y1pw
ITaxrX2gSP7MIurc7MfbLLSgJD3iFfb2fpZK7T6cP43QVCe1kR+1ln6YpfZAp8TSCLMQJxF0hGWzgKCD
0FiNz2StWMKyfwMhuwwmJ3g6KmQQtIXgl7BaeRcyWWIPYcVFVCQSedg2+Hel/Kb8kj48bB+4C2vxL2gj
n84Z8MmRXnw6A0L8AczNmfchKD2pAAAAAElFTkSuQmCC
</value>
</data>
</root>
+147
View File
@@ -0,0 +1,147 @@
namespace GameBackup3H3.DbOp
{
partial class FrmCompare
{
/// <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()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmCompare));
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
this.修改数据ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.删除数据ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.BtnPrev = new ryControls.ButtonEx();
this.BtnNext = new ryControls.ButtonEx();
this.scintillaDiffControl1 = new ScintillaDiff.ScintillaDiffControl();
this.contextMenuStrip1.SuspendLayout();
this.SuspendLayout();
//
// contextMenuStrip1
//
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.修改数据ToolStripMenuItem,
this.删除数据ToolStripMenuItem});
this.contextMenuStrip1.Name = "contextMenuStrip1";
this.contextMenuStrip1.Size = new System.Drawing.Size(69, 48);
//
// 修改数据ToolStripMenuItem
//
this.修改数据ToolStripMenuItem.Name = "修改数据ToolStripMenuItem";
this.修改数据ToolStripMenuItem.Size = new System.Drawing.Size(68, 22);
//
// 删除数据ToolStripMenuItem
//
this.删除数据ToolStripMenuItem.Name = "删除数据ToolStripMenuItem";
this.删除数据ToolStripMenuItem.Size = new System.Drawing.Size(68, 22);
//
// BtnPrev
//
this.BtnPrev.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
this.BtnPrev.Enabled = false;
this.BtnPrev.Location = new System.Drawing.Point(12, 5);
this.BtnPrev.Name = "BtnPrev";
this.BtnPrev.Size = new System.Drawing.Size(62, 24);
this.BtnPrev.TabIndex = 87;
this.BtnPrev.Text = "上一处";
this.BtnPrev.UseVisualStyleBackColor = true;
this.BtnPrev.Click += new System.EventHandler(this.BtnPrev_Click);
//
// BtnNext
//
this.BtnNext.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
this.BtnNext.Enabled = false;
this.BtnNext.Location = new System.Drawing.Point(80, 5);
this.BtnNext.Name = "BtnNext";
this.BtnNext.Size = new System.Drawing.Size(62, 24);
this.BtnNext.TabIndex = 88;
this.BtnNext.Text = "下一处";
this.BtnNext.UseVisualStyleBackColor = true;
this.BtnNext.Click += new System.EventHandler(this.BtnNext_Click);
//
// scintillaDiffControl1
//
this.scintillaDiffControl1.AddedCharacterSymbol = '+';
this.scintillaDiffControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.scintillaDiffControl1.CharacterComparison = false;
this.scintillaDiffControl1.CharacterComparisonMarkAddRemove = false;
this.scintillaDiffControl1.DiffColorAdded = System.Drawing.Color.FromArgb(((int)(((byte)(212)))), ((int)(((byte)(242)))), ((int)(((byte)(196)))));
this.scintillaDiffControl1.DiffColorChangeBackground = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(255)))), ((int)(((byte)(140)))));
this.scintillaDiffControl1.DiffColorCharAdded = System.Drawing.Color.FromArgb(((int)(((byte)(154)))), ((int)(((byte)(234)))), ((int)(((byte)(111)))));
this.scintillaDiffControl1.DiffColorCharDeleted = System.Drawing.Color.FromArgb(((int)(((byte)(225)))), ((int)(((byte)(125)))), ((int)(((byte)(125)))));
this.scintillaDiffControl1.DiffColorDeleted = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(178)))), ((int)(((byte)(178)))));
this.scintillaDiffControl1.DiffStyle = ScintillaDiff.ScintillaDiffStyles.DiffStyle.DiffSideBySide;
this.scintillaDiffControl1.ImageRowAdded = ((System.Drawing.Bitmap)(resources.GetObject("scintillaDiffControl1.ImageRowAdded")));
this.scintillaDiffControl1.ImageRowAddedScintillaIndex = 28;
this.scintillaDiffControl1.ImageRowDeleted = ((System.Drawing.Bitmap)(resources.GetObject("scintillaDiffControl1.ImageRowDeleted")));
this.scintillaDiffControl1.ImageRowDeletedScintillaIndex = 29;
this.scintillaDiffControl1.ImageRowDiff = ((System.Drawing.Bitmap)(resources.GetObject("scintillaDiffControl1.ImageRowDiff")));
this.scintillaDiffControl1.ImageRowDiffScintillaIndex = 31;
this.scintillaDiffControl1.ImageRowOk = ((System.Drawing.Bitmap)(resources.GetObject("scintillaDiffControl1.ImageRowOk")));
this.scintillaDiffControl1.ImageRowOkScintillaIndex = 30;
this.scintillaDiffControl1.IsEntireLineHighlighted = false;
this.scintillaDiffControl1.Location = new System.Drawing.Point(12, 35);
this.scintillaDiffControl1.MarkColorIndexModifiedBackground = 31;
this.scintillaDiffControl1.MarkColorIndexRemovedOrAdded = 30;
this.scintillaDiffControl1.Name = "scintillaDiffControl1";
this.scintillaDiffControl1.RemovedCharacterSymbol = '-';
this.scintillaDiffControl1.Size = new System.Drawing.Size(912, 585);
this.scintillaDiffControl1.TabIndex = 86;
this.scintillaDiffControl1.TextLeft = "";
this.scintillaDiffControl1.TextRight = "";
this.scintillaDiffControl1.TitleLeft = "文本1";
this.scintillaDiffControl1.TitleRight = "文本2";
this.scintillaDiffControl1.TitleVisible = true;
this.scintillaDiffControl1.UseRowOkSign = false;
//
// FrmCompare
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(936, 632);
this.Controls.Add(this.BtnNext);
this.Controls.Add(this.BtnPrev);
this.Controls.Add(this.scintillaDiffControl1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "FrmCompare";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "比对";
this.Load += new System.EventHandler(this.FrmView_Load);
this.contextMenuStrip1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;
private System.Windows.Forms.ToolStripMenuItem 修改数据ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 删除数据ToolStripMenuItem;
private ScintillaDiff.ScintillaDiffControl scintillaDiffControl1;
private ryControls.ButtonEx BtnPrev;
private ryControls.ButtonEx BtnNext;
}
}
@@ -0,0 +1,67 @@
using ryCommon;
using ryCommonDb;
using 开发辅助工具.Tools.SmartEditor;
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 开发辅助工具.Manager;
using static ScintillaNET.Style;
using System.IO;
using ryControls;
using static VPKSoft.ScintillaLexers.LexerEnumerations;
using DiffPlex.Model;
using VPKSoft.ScintillaLexers;
using ScintillaDiff;
namespace GameBackup3H3.DbOp
{
public partial class FrmCompare : Form
{
public FrmCompare()
{
InitializeComponent();
}
/// <summary>
/// 当前高亮语言
/// </summary>
public LexerType CurHighliteLang
{
get; set;
} = LexerType.Text;
public string TextLeft { get; set; } = "";
public string TextRight { get; set; } = "";
public string TitleLeft { get; set; } = "";
public string TitleRight { get; set; } = "";
private void FrmView_Load(object sender, EventArgs e)
{
ScintillaLexers.CreateLexer(scintillaDiffControl1.LeftScintilla, CurHighliteLang,false);
ScintillaLexers.CreateLexer(scintillaDiffControl1.RightScintilla, CurHighliteLang, false);
scintillaDiffControl1.TitleLeft = TitleLeft;
scintillaDiffControl1.TitleRight = TitleRight;
scintillaDiffControl1.TextLeft= TextLeft;
scintillaDiffControl1.TextRight= TextRight;
BtnPrev.Enabled = scintillaDiffControl1.CanGoPrevious;
BtnNext.Enabled = scintillaDiffControl1.CanGoNext;
//scintillaDiffControl1.ReInit();
Text = "查看比对";
}
private void BtnPrev_Click(object sender, EventArgs e)
{
scintillaDiffControl1.Previous();
BtnPrev.Enabled = scintillaDiffControl1.CanGoPrevious;
BtnNext.Enabled = scintillaDiffControl1.CanGoNext;
}
private void BtnNext_Click(object sender, EventArgs e)
{
scintillaDiffControl1.Next();
BtnPrev.Enabled = scintillaDiffControl1.CanGoPrevious;
BtnNext.Enabled = scintillaDiffControl1.CanGoNext;
}
}
}
@@ -0,0 +1,189 @@
<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>35, 21</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="scintillaDiffControl1.ImageRowAdded" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAB
ugAAAboB6KsBBgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAATdEVYdFNvdXJj
ZQBPeHlnZW4gSWNvbnPsGK7oAAAB8klEQVQ4T6WS3UtTYQCHj+NYkiaWhQyzSYs5RpZ9iERBU0mzoEHW
tMDSmTS2giAjoiUjY0mFH5M+HJGOBtqH4FqmZDNpBSV54U0xgvoHFl0KDnw6L7EV8V4UXTxweN7n/OA9
HAX4L6RS4Hl/NmQNmxeqn5V8C8Z7b8kagVQKGib3LQ3Fuwl89OGOHUrKGoFUCjYG87n/xUfw63WqIiZN
yTupFBgG8+j75MEf72D3mFFT8i71kKGhpqSg8F4unfPnuDrfTsWTYk39OtMQrXjn54DjuaOrcqQyuaxH
Jcefxerb2RQMrOTiBzeX5k5T9rCQitH1WJ8aqZs045lrSQY+e7vSA6pPTThftOKMNnNq5jjO1yc487aF
1lg9bW8Oc/7dSS7MOumYbcf9qo2m8XoaZ7Ym0gPKFSVRM1zF/tEabON1NL08gmPaTsNULceitbhiR2mO
2tj5aBOWoJFdw2XYpiy/DXgVl9KpLCrXFJQbCpk9OrL9mVSHN3NwYgfFg6swh9ayZUSvXaUIa2TD4oEJ
kys9IGN5r8reSCn2aDnrtA/653kKqRSo3TqsY2Yap8spCORoSt5JpSDjpoIlpGdP2ET+nRWakndSCV6d
4W7eUm5/FvqBNRj69f/+K9sfFw1pAwvbH2z7XtpXclnWCKTy70H5AYUgqeK+blp3AAAAAElFTkSuQmCC
</value>
</data>
<data name="scintillaDiffControl1.ImageRowDeleted" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAu
IgAALiIBquLdkgAAAAd0SU1FB+MEDgkGK7xsdzYAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJ
TVBXgQ4XAAAAN0lEQVQ4T2MYBVQAv/hV/1OAxSg1oIpSAxopNSAfZEAqEMfiwCA5XBgsDwtIbmwYLDkK
aA0YGADE96kTDgVxuQAAAABJRU5ErkJggg==
</value>
</data>
<data name="scintillaDiffControl1.ImageRowDiff" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAbdEVYdFNvdXJjZQBGQU1GQU1GQU0gU2lsayBJY29u
c4J6ZPsAAAGFSURBVDhPY/j//z9FGKsgKRirICkYqyAI398fF3pvb8yJu7ujxbDJwzBWQaAmvru7Iq+9
vb36/+1tYT3Y1MAwVkGgprrX15f8//3lzv/r6wPfX1vrb4pNHQhjCNzcGKwF1PT2x+st/3886/v/7u7W
/5eXeW66tNidFV0tCKNwgDYxXV3lu/jNzTX/fzxu+n+ow/j/r7dr/p+f5/zv3GzHYGS1MIzCAdrkcX9v
9f+frxb9/3Yn8f+hdsP/3x+W//9wb9v/U1Osrp2caMGLrB6E4YwLC1zZgDadeQ8MuO8PSv5/vRUBwbdj
gV6Z8P/hwUn/j3YZ1SFrBmE44+xM++yHh/r+/3wxHWz719vRQC8Ygelv97L+f3u+8f+hZt2XBxu1tbAa
AHTek29v7v7/+W7v/x+vgGHwajUSXvv/9+cr/5+cWPJ/X7XaaqwGAJ335ki7wbfDrfrfgDZ9A9r07UC9
5rf9tRrfgJq+7a1U/ba3XPnbnjKlw1gNIBdjFSQFYxUkHv9nAAC/hu6vewywPwAAAABJRU5ErkJggg==
</value>
</data>
<data name="scintillaDiffControl1.ImageRowOk" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAB
ugAAAboB6KsBBgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAATdEVYdFNvdXJj
ZQBPeHlnZW4gSWNvbnPsGK7oAAAB0UlEQVQ4T2P4//8/RRirICkYqyAuzKlsKsspa1XEIGTOBxPDUIQL
c8jbKYoZR73JbF/xn0/d9waDiDUvSByrYnQMslnKNOZV7ayt/1efuvc/qXnpfx5V7z0gOYQieescWcv4
r3yKzhNhYmBxGUtpWdOoFwU9K/5P2XQCjPO7V/yXM4+8ApIHK+KStczW9y37VzJx5X+XhOb/fEpOE0Di
3AqmErKmYc+T6mb9r5+96X8dEKc3z/8vahD+mU3GXA9ugKRh6K3Yqmn/01vm/k9tnP3fOiQfaIj9NCkj
3+ehhe3/M1vngeWSamf8lzIJ+8oqZ24M0gc3gFvevk/HI/N/YHb7/+jyKf8Tamf9N/WJ+u+bVfU/rXH+
/5SGOf+Tqyf/lzEN/s4qbW4B0ww3AIS55GwX6LrF/vfP6vwfUjD5f1TZ9P/RZbP/hxVM+e8SX/lfytDt
J6eUjQ2yZhBG4XArWK/Qcgn+H5Q/7X98zYr/SQ1r/gfkdv4XN3D4zSFt7YisFoYxBHjkrDYY+4T/L5my
939Gx7L/EoZ2f9ilrNzQ1cEwpgADAyO3vPk2s6C4/9Im9n/Y5a280dUgY+yCQEO4ZK2ysPkZHWMVJAVj
FSQe/2cAAKAehUz/zF2tAAAAAElFTkSuQmCC
</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAICAAAAAAIAAUAgAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAgAAAAIAgGAAAAc3p69AAAAARn
QU1BAACxjwv8YQUAAAHLSURBVFhH7Ze/SsNQGMUzF1zFJ3Bw9QW6iWma0sFR6OQgOAmu7g6+gIO4iohv
0F2kU3cnwbeo5wvnJjfJPddYIxX0Bwfy/Tn3u7k1aU3+aZJl2eV4PF5CK6E5WxO7DsQhj2nJtQdsb9Mw
KPkDixzDzzbgtEjTdIeWCu7ONZ0xHQV9tROIgfWH7F/h+pHpChReWBwy1TvchN3gG1MVLJTH2QX0dz4B
h5wjCxF69fS6WATpWXOxZxPDTsg5shBhOp3umhh2otcNoP/WxLATco4q2ADommEN5THsvZLn+RXDEulR
BeReWbthqkR5bDhrreddeWIbOHa15h2FPN5w04zpkpCnQBYABp+7OlQuiusTE0PrO3J9uL5guoarM6yQ
BeDflQ1hurUBXB96fa3P33B1hhWqoIYbIU/jFO6YLgl5CkIFDHdfHq3hRshj+JuwNZguUB5ZQO50NBod
MKwhFwPIZ9AMm9liqkB6ZCEC+n/+RRTjN7yKN/tl1Kun18UiSM+ai92bGHZCzkFysz9KvTfeHM/9PtNR
rNfEMMpkMtnzZjwxXYHkAFqwIabv/mOiP2Y809toeIDefUND/gZqJ8A45DHZml/6e/kLJMkH/tMBL9aV
yvkAAAAASUVORK5CYII=
</value>
</data>
</root>
@@ -0,0 +1,282 @@
namespace SuperDesign.Tools.SmartEditor
{
partial class FrmFileBrowser
{
/// <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()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmFileBrowser));
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
this.添加工作区ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.移除工作区ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.重命名ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator();
this.复制文件名ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.上传文件到FTPToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.imageListSmall = new System.Windows.Forms.ImageList(this.components);
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog();
this.treeListView = new BrightIdeasSoftware.TreeListView();
this.olvColumnName = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.olvColumnCreated = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.olvColumnModified = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.olvColumnSize = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.olvColumnFileType = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.treeRenderer1 = new BrightIdeasSoftware.TreeListView.TreeRenderer();
this.MenuForm = new System.Windows.Forms.ContextMenuStrip(this.components);
this.重命名ToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.contextMenuStrip1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.treeListView)).BeginInit();
this.MenuForm.SuspendLayout();
this.SuspendLayout();
//
// contextMenuStrip1
//
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.添加工作区ToolStripMenuItem,
this.移除工作区ToolStripMenuItem,
this.重命名ToolStripMenuItem,
this.toolStripMenuItem1,
this.复制文件名ToolStripMenuItem,
this.上传文件到FTPToolStripMenuItem});
this.contextMenuStrip1.Name = "contextMenuStrip1";
this.contextMenuStrip1.Size = new System.Drawing.Size(157, 120);
this.contextMenuStrip1.Opening += new System.ComponentModel.CancelEventHandler(this.ContextMenuStrip1_Opening);
//
// 添加工作区ToolStripMenuItem
//
this.添加工作区ToolStripMenuItem.Name = "添加工作区ToolStripMenuItem";
this.添加工作区ToolStripMenuItem.Size = new System.Drawing.Size(156, 22);
this.添加工作区ToolStripMenuItem.Text = "添加工作区";
this.添加工作区ToolStripMenuItem.Click += new System.EventHandler(this.添加工作区ToolStripMenuItem_Click);
//
// 移除工作区ToolStripMenuItem
//
this.移除工作区ToolStripMenuItem.Name = "移除工作区ToolStripMenuItem";
this.移除工作区ToolStripMenuItem.Size = new System.Drawing.Size(156, 22);
this.移除工作区ToolStripMenuItem.Text = "移除工作区";
this.移除工作区ToolStripMenuItem.Click += new System.EventHandler(this.移除工作区ToolStripMenuItem_Click);
//
// 重命名ToolStripMenuItem
//
this.重命名ToolStripMenuItem.Name = "重命名ToolStripMenuItem";
this.重命名ToolStripMenuItem.Size = new System.Drawing.Size(156, 22);
this.重命名ToolStripMenuItem.Text = "重命名";
this.重命名ToolStripMenuItem.Click += new System.EventHandler(this.重命名ToolStripMenuItem_Click);
//
// toolStripMenuItem1
//
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
this.toolStripMenuItem1.Size = new System.Drawing.Size(153, 6);
//
// 复制文件名ToolStripMenuItem
//
this.复制文件名ToolStripMenuItem.Name = "复制文件名ToolStripMenuItem";
this.复制文件名ToolStripMenuItem.Size = new System.Drawing.Size(156, 22);
this.复制文件名ToolStripMenuItem.Text = "复制文件名";
this.复制文件名ToolStripMenuItem.Click += new System.EventHandler(this.复制文件名ToolStripMenuItem_Click);
//
// 上传文件到FTPToolStripMenuItem
//
this.上传文件到FTPToolStripMenuItem.Name = "上传文件到FTPToolStripMenuItem";
this.上传文件到FTPToolStripMenuItem.Size = new System.Drawing.Size(156, 22);
this.上传文件到FTPToolStripMenuItem.Text = "上传文件到FTP";
this.上传文件到FTPToolStripMenuItem.Click += new System.EventHandler(this.上传文件到FTPToolStripMenuItem_Click);
//
// imageListSmall
//
this.imageListSmall.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageListSmall.ImageStream")));
this.imageListSmall.TransparentColor = System.Drawing.Color.Transparent;
this.imageListSmall.Images.SetKeyName(0, "compass");
this.imageListSmall.Images.SetKeyName(1, "down");
this.imageListSmall.Images.SetKeyName(2, "user");
this.imageListSmall.Images.SetKeyName(3, "find");
this.imageListSmall.Images.SetKeyName(4, "folder");
this.imageListSmall.Images.SetKeyName(5, "movie");
this.imageListSmall.Images.SetKeyName(6, "music");
this.imageListSmall.Images.SetKeyName(7, "no");
this.imageListSmall.Images.SetKeyName(8, "readonly");
this.imageListSmall.Images.SetKeyName(9, "public");
this.imageListSmall.Images.SetKeyName(10, "recycle");
this.imageListSmall.Images.SetKeyName(11, "spanner");
this.imageListSmall.Images.SetKeyName(12, "star");
this.imageListSmall.Images.SetKeyName(13, "tick");
this.imageListSmall.Images.SetKeyName(14, "archive");
this.imageListSmall.Images.SetKeyName(15, "system");
this.imageListSmall.Images.SetKeyName(16, "hidden");
this.imageListSmall.Images.SetKeyName(17, "temporary");
//
// treeListView
//
this.treeListView.AllColumns.Add(this.olvColumnName);
this.treeListView.AllColumns.Add(this.olvColumnCreated);
this.treeListView.AllColumns.Add(this.olvColumnModified);
this.treeListView.AllColumns.Add(this.olvColumnSize);
this.treeListView.AllColumns.Add(this.olvColumnFileType);
this.treeListView.AllowColumnReorder = true;
this.treeListView.AllowDrop = true;
this.treeListView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.treeListView.CellEditUseWholeCell = false;
this.treeListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.olvColumnName,
this.olvColumnCreated,
this.olvColumnModified,
this.olvColumnSize,
this.olvColumnFileType});
this.treeListView.ContextMenuStrip = this.contextMenuStrip1;
this.treeListView.Cursor = System.Windows.Forms.Cursors.Default;
this.treeListView.EmptyListMsg = "工作区为空";
this.treeListView.EmptyListMsgFont = new System.Drawing.Font("Comic Sans MS", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.treeListView.FullRowSelect = true;
this.treeListView.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
this.treeListView.HideSelection = false;
this.treeListView.IsSimpleDragSource = true;
this.treeListView.Location = new System.Drawing.Point(1, 2);
this.treeListView.MultiSelect = false;
this.treeListView.Name = "treeListView";
this.treeListView.RowHeight = 22;
this.treeListView.SelectColumnsOnRightClickBehaviour = BrightIdeasSoftware.ObjectListView.ColumnSelectBehaviour.Submenu;
this.treeListView.ShowCommandMenuOnRightClick = true;
this.treeListView.ShowGroups = false;
this.treeListView.ShowImagesOnSubItems = true;
this.treeListView.ShowItemToolTips = true;
this.treeListView.Size = new System.Drawing.Size(388, 679);
this.treeListView.SmallImageList = this.imageListSmall;
this.treeListView.TabIndex = 29;
this.treeListView.UseCompatibleStateImageBehavior = false;
this.treeListView.UseFilterIndicator = true;
this.treeListView.UseFiltering = true;
this.treeListView.UseHotItem = true;
this.treeListView.View = System.Windows.Forms.View.Details;
this.treeListView.VirtualMode = true;
this.treeListView.Dropped += new System.EventHandler<BrightIdeasSoftware.OlvDropEventArgs>(this.TreeListView_Dropped);
this.treeListView.ItemActivate += new System.EventHandler(this.TreeListView_ItemActivate);
this.treeListView.DragDrop += new System.Windows.Forms.DragEventHandler(this.TreeListView_DragDrop);
this.treeListView.DragEnter += new System.Windows.Forms.DragEventHandler(this.TreeListView_DragEnter);
this.treeListView.DragOver += new System.Windows.Forms.DragEventHandler(this.TreeListView_DragOver);
this.treeListView.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.TreeListView_MouseDoubleClick);
//
// olvColumnName
//
this.olvColumnName.AspectName = "Name";
this.olvColumnName.Text = "文件名";
this.olvColumnName.UseInitialLetterForGroup = true;
this.olvColumnName.Width = 180;
//
// olvColumnCreated
//
this.olvColumnCreated.AspectName = "CreationTime";
this.olvColumnCreated.DisplayIndex = 4;
this.olvColumnCreated.Text = "创建时间";
this.olvColumnCreated.Width = 131;
//
// olvColumnModified
//
this.olvColumnModified.AspectName = "LastWriteTime";
this.olvColumnModified.DisplayIndex = 1;
this.olvColumnModified.IsTileViewColumn = true;
this.olvColumnModified.Text = "修改时间";
this.olvColumnModified.Width = 145;
//
// olvColumnSize
//
this.olvColumnSize.AspectName = "Extension";
this.olvColumnSize.DisplayIndex = 2;
this.olvColumnSize.HeaderTextAlign = System.Windows.Forms.HorizontalAlignment.Right;
this.olvColumnSize.Text = "大小";
this.olvColumnSize.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
this.olvColumnSize.Width = 80;
//
// olvColumnFileType
//
this.olvColumnFileType.DisplayIndex = 3;
this.olvColumnFileType.IsTileViewColumn = true;
this.olvColumnFileType.Text = "类型";
this.olvColumnFileType.Width = 148;
//
// treeRenderer1
//
this.treeRenderer1.IsShowGlyphs = true;
this.treeRenderer1.IsShowLines = true;
this.treeRenderer1.UseTriangles = false;
//
// MenuForm
//
this.MenuForm.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.重命名ToolStripMenuItem1});
this.MenuForm.Name = "MenuForm";
this.MenuForm.Size = new System.Drawing.Size(113, 26);
//
// 重命名ToolStripMenuItem1
//
this.重命名ToolStripMenuItem1.Name = "重命名ToolStripMenuItem1";
this.重命名ToolStripMenuItem1.Size = new System.Drawing.Size(112, 22);
this.重命名ToolStripMenuItem1.Text = "重命名";
this.重命名ToolStripMenuItem1.Click += new System.EventHandler(this.重命名ToolStripMenuItem1_Click);
//
// FrmFileBrowser
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(390, 681);
this.Controls.Add(this.treeListView);
this.Name = "FrmFileBrowser";
this.TabPageContextMenuStrip = this.MenuForm;
this.Text = "工作区";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FrmFileBrowser_FormClosing);
this.Load += new System.EventHandler(this.FrmFileBrowser_Load);
this.contextMenuStrip1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.treeListView)).EndInit();
this.MenuForm.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private BrightIdeasSoftware.OLVColumn olvColumnName;
private BrightIdeasSoftware.OLVColumn olvColumnCreated;
private BrightIdeasSoftware.OLVColumn olvColumnModified;
private BrightIdeasSoftware.OLVColumn olvColumnSize;
private BrightIdeasSoftware.OLVColumn olvColumnFileType;
private System.Windows.Forms.ToolTip toolTip1;
private System.Windows.Forms.ImageList imageListSmall;
private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;
private System.Windows.Forms.ToolStripMenuItem 添加工作区ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 移除工作区ToolStripMenuItem;
private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog1;
private System.Windows.Forms.ToolStripMenuItem 重命名ToolStripMenuItem;
public BrightIdeasSoftware.TreeListView treeListView;
private BrightIdeasSoftware.TreeListView.TreeRenderer treeRenderer1;
private System.Windows.Forms.ContextMenuStrip MenuForm;
private System.Windows.Forms.ToolStripMenuItem 重命名ToolStripMenuItem1;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem 上传文件到FTPToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 复制文件名ToolStripMenuItem;
}
}
@@ -0,0 +1,550 @@
using BrightIdeasSoftware;
using ObjectListViewDemo;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using ryCommon;
using System.Collections;
using System.Drawing.Drawing2D;
using WeifenLuo.WinFormsUI.Docking;
using 开发辅助工具.Tools.SmartEditor;
using 开发辅助工具.Manager;
using Newtonsoft.Json.Linq;
using ryCommonDb;
using 开发辅助工具.Manager.FTP;
using RySmartEditor.Controls;
using System.CodeDom;
namespace SuperDesign.Tools.SmartEditor
{
public partial class FrmFileBrowser : DockContent
{
public FrmFileBrowser()
{
InitializeComponent();
SetupColumns();
SetupTree();
TreeListView.TreeRenderer renderer = this.treeListView.TreeColumnRenderer;
renderer.LinePen = new Pen(Color.Firebrick, 0.5f)
{
DashStyle = DashStyle.Dot
};
}
private void Drag_ElevatedDragDrop(object sender, ElevatedDragDropArgs e)
{
if (e.Files.Count == 1)
{
if (System.IO.Directory.Exists(e.Files[0]))
{
Add(e.Files[0]);
}
}
}
private void SetupColumns()
{
// The column setup here is identical to the File Explorer example tab --
// nothing specific to the TreeListView.
// The only difference is that we don't setup anything to do with grouping,
// since TreeListViews can't show groups.
SysImageListHelper helper = new SysImageListHelper(this.treeListView);
this.olvColumnName.ImageGetter = delegate (object x) {
return helper.GetImageIndex(((MyFileSystemInfo)x).FullName);
};
// Get the size of the file system entity.
// Folders and errors are represented as negative numbers
this.olvColumnSize.AspectGetter = delegate (object x) {
MyFileSystemInfo myFileSystemInfo = (MyFileSystemInfo)x;
if (myFileSystemInfo.IsDirectory)
return (long)-1;
try
{
return myFileSystemInfo.Length;
}
catch (System.IO.FileNotFoundException)
{
// Mono 1.2.6 throws this for hidden files
return (long)-2;
}
};
// Show the size of files as GB, MB and KBs. By returning the actual
// size in the AspectGetter, and doing the conversion in the
// AspectToStringConverter, sorting on this column will work off the
// actual sizes, rather than the formatted string.
this.olvColumnSize.AspectToStringConverter = delegate (object rowdata, object x) {
long sizeInBytes = (long)x;
if (sizeInBytes < 0) // folder or error
return "";
return RyFiles.GetFileSizeStr(sizeInBytes);
};
// Show the system description for this object
this.olvColumnFileType.AspectGetter = delegate (object x) {
return ShellUtilities.GetFileType(((MyFileSystemInfo)x).FullName);
};
}
private void SetupTree()
{
// TreeListView require two delegates:
// 1. CanExpandGetter - Can a particular model be expanded?
// 2. ChildrenGetter - Once the CanExpandGetter returns true, ChildrenGetter should return the list of children
// CanExpandGetter is called very often! It must be very fast.
this.treeListView.CanExpandGetter = delegate (object x) {
return ((MyFileSystemInfo)x).IsDirectory;
};
// We just want to get the children of the given directory.
// This becomes a little complicated when we can't (for whatever reason). We need to report the error
// to the user, but we can't just call MessageBox.Show() directly, since that would stall the UI thread
// leaving the tree in a potentially undefined state (not good). We also don't want to keep trying to
// get the contents of the given directory if the tree is refreshed. To get around the first problem,
// we immediately return an empty list of children and use BeginInvoke to show the MessageBox at the
// earliest opportunity. We get around the second problem by collapsing the branch again, so it's children
// will not be fetched when the tree is refreshed. The user could still explicitly unroll it again --
// that's their problem :)
this.treeListView.ChildrenGetter = delegate (object x) {
try
{
return ((MyFileSystemInfo)x).GetFileSystemInfos();
}
catch (UnauthorizedAccessException ex)
{
this.BeginInvoke((MethodInvoker)delegate () {
this.treeListView.Collapse(x);
MessageBox.Show(this, ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
});
return new ArrayList();
}
};
// Once those two delegates are in place, the TreeListView starts working
// after setting the Roots property.
var WorkArea = Itrycn_Db.GetSetting("WorkArea", "");
JArray jarr = WorkArea.Length == 0 ? new JArray() : JArray.Parse(WorkArea);
for (int i = 0; i < jarr.Count; i++)
{
var item = jarr[i];
roots.Add(new MyFileSystemInfo(new DirectoryInfo(item["path"].ToString()), item["name"].ToString()));
}
this.treeListView.Roots = roots;
}
readonly List<MyFileSystemInfo> roots = new List<MyFileSystemInfo>();
private void TreeListView_ItemActivate(object sender, EventArgs e)
{
Object model = this.treeListView.SelectedObject;
if (model != null)
this.treeListView.ToggleExpansion(model);
}
private void TreeListView_MouseDoubleClick(object sender, MouseEventArgs e)
{
MyFileSystemInfo model = (MyFileSystemInfo)this.treeListView.SelectedObject;
if (model != null)
{
if (model.IsDirectory) { return; }
if (model.Length >= 1024*1024 * 20)
{
MessageBox.Show("不支持打开超过20M的文本。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
FrmMainEditor.MainEditor.OpenFile(model.FullName);
}
}
public void Add(string path)
{
var dir_path = path;
var WorkArea = Itrycn_Db.GetSetting("WorkArea", "");
JArray jarr = WorkArea.Length == 0 ? new JArray() : JArray.Parse(WorkArea);
for (int i = jarr.Count - 1; i >= 0; i--)
{
var item = jarr[i];
if (item["path"].ToString().ToLower() == dir_path.ToLower())
{
MessageBox.Show("当前文件夹已存在", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
JObject jo = new JObject
{
{ "name", System.IO.Path.GetFileName(dir_path) },
{ "path", dir_path }
};
jarr.Add(jo);
Itrycn_Db.SetSetting("WorkArea", jarr.ToString());
roots.Add(new MyFileSystemInfo(new DirectoryInfo(dir_path), System.IO.Path.GetFileName(dir_path)));
this.treeListView.Roots = roots;
}
private void 添加工作区ToolStripMenuItem_Click(object sender, EventArgs e)
{
if(folderBrowserDialog1.ShowDialog()== DialogResult.OK)
{
var dir_path = folderBrowserDialog1.SelectedPath;
Add(dir_path);
}
}
private void 移除工作区ToolStripMenuItem_Click(object sender, EventArgs e)
{
MyFileSystemInfo model = (MyFileSystemInfo)this.treeListView.SelectedObject;
if (model == null) { return; }
if (treeListView.GetParent(model)==null)
{
switch (MessageBox.Show("是否要删除工作区?", "询问", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2))
{
case DialogResult.No:
return;
}
var WorkArea = Itrycn_Db.GetSetting("WorkArea", "");
JArray jarr = WorkArea.Length == 0 ? new JArray() : JArray.Parse(WorkArea);
for (int i = jarr.Count-1; i>=0; i--)
{
var item = jarr[i];
if (item["path"].ToString().ToLower()== model.FullName.ToLower())
{
jarr.Remove(item);
}
}
roots.Remove(model);
Itrycn_Db.SetSetting("WorkArea", jarr.ToString());
treeListView.RemoveObject(model);
}
}
private void ContextMenuStrip1_Opening(object sender, CancelEventArgs e)
{
MyFileSystemInfo model = (MyFileSystemInfo)this.treeListView.SelectedObject;
if (model == null) { 重命名ToolStripMenuItem.Enabled = false; 移除工作区ToolStripMenuItem.Enabled = false;return; }
if (treeListView.GetParent(model) != null)
{
重命名ToolStripMenuItem.Text="重命名文件名";
移除工作区ToolStripMenuItem.Enabled = false; return;
}
重命名ToolStripMenuItem.Text = "重命名工作区";
移除工作区ToolStripMenuItem.Enabled = true;
}
private void 重命名ToolStripMenuItem_Click(object sender, EventArgs e)
{
MyFileSystemInfo model = (MyFileSystemInfo)this.treeListView.SelectedObject;
if (model == null) { return; }
if (treeListView.GetParent(model) == null)
{
FrmTitle frm = new FrmTitle();
frm.TxtTitle.Text = model.Name;
frm.Text = "请输入重命名的名称";
if (frm.ShowDialog() == DialogResult.OK)
{
var WorkArea = Itrycn_Db.GetSetting("WorkArea", "");
JArray jarr = WorkArea.Length == 0 ? new JArray() : JArray.Parse(WorkArea);
for (int i = jarr.Count - 1; i >= 0; i--)
{
var item = jarr[i];
if (item["path"].ToString().ToLower() == model.FullName.ToLower())
{
item["name"] = frm.TxtTitle.Text;
model.Name = frm.TxtTitle.Text;
}
}
Itrycn_Db.SetSetting("WorkArea", jarr.ToString());
treeListView.UpdateObject(model);
}
frm.Dispose();
}
else
{
FrmTitle frm = new FrmTitle();
frm.TxtTitle.Text = model.Name;
frm.Text = "请输入重命名的名称";
frm.TxtTitle.Text = model.Name;
if (frm.ShowDialog() == DialogResult.OK)
{
//int num = arrayList2.IndexOf(model);
var new_fullname = System.IO.Path.GetDirectoryName(model.FullName) + "\\" + RyFiles.ConvertToValidFileName(frm.TxtTitle.Text);
if (RyFiles.MoveFile(model.FullName, new_fullname) == 0)
{
//treeListView.RemoveObject(model);
model.ReLoad(new_fullname);
model.Name = model.Name;
treeListView.RefreshObject(model);
}
else
{
MessageBox.Show("重命名失败", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
frm.Dispose();
}
}
private void FrmFileBrowser_Load(object sender, EventArgs e)
{
treeListView.IsSimpleDragSource = true;
}
private void FrmFileBrowser_FormClosing(object sender, FormClosingEventArgs e)
{
//drag.ElevatedDragDrop -= Drag_ElevatedDragDrop;
}
private void TreeListView_Dropped(object sender, OlvDropEventArgs e)
{
}
private void TreeListView_DragDrop(object sender, DragEventArgs e)
{
string[] s = (string[])e.Data.GetData(DataFormats.FileDrop, false);
if(s!=null && s.Length==1)
{
Add(s[0]);
}
}
private void TreeListView_DragOver(object sender, DragEventArgs e)
{
}
private void TreeListView_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
e.Effect = DragDropEffects.All;
}
else
{
e.Effect = DragDropEffects.None;
}
}
public void GotoPath(string path)
{
if (path.Length == 0) { return; }
var isexist = false;
MyFileSystemInfo find_item = null;
for (int i = 0; i < roots.Count; i++)
{
var root = roots[i];
if(path.IndexOfEx(root.FullName)==0)
{
treeListView.Expand(root);
Find(root);
if(isexist)
{
break;
}
void Find(MyFileSystemInfo _item)
{
if (_item.FullName.ToLower() == path.ToLower())
{
isexist = true;
find_item = _item;
return;
}
var list = treeListView.GetChildren(_item);
foreach (var _file in list)
{
var file = (MyFileSystemInfo)_file;
if (file.IsDirectory)
{
if (path.IndexOfEx(file.FullName) == 0)
{
treeListView.Expand(file);
if (path.Length == file.FullName.Length)
{
isexist = true;
find_item = file;
break;
}
else
{
Find(file);
continue;
}
}
else { continue; }
}
if (file.FullName.ToLower() == path.ToLower())
{
isexist = true;
find_item = file;
break;
}
}
}
}
}
if (isexist)
{
treeListView.EnsureModelVisible(find_item);
//var aa= treeListView.SelectedObject==find_item;
treeListView.Expand(find_item);
treeListView.SelectedObject = find_item;
//treeListView.Expand(find_item);
}
}
public void UpdateFileInfo(string path) {
if (path.Length == 0) { return; }
var isexist = false;
MyFileSystemInfo find_item = null;
for (int i = 0; i < roots.Count; i++) {
var root = roots[i];
if (path.IndexOfEx(root.FullName) == 0) {
Find(root);
if (isexist) {
break;
}
void Find(MyFileSystemInfo _item) {
if (_item.FullName.ToLower() == path.ToLower()) {
isexist = true;
find_item = _item;
return;
}
var list = treeListView.GetChildren(_item);
foreach (var _file in list) {
var file = (MyFileSystemInfo)_file;
if (file.IsDirectory) {
if (path.IndexOfEx(file.FullName) == 0) {
treeListView.Expand(file);
if (path.Length == file.FullName.Length) {
isexist = true;
find_item = file;
break;
}
else {
Find(file);
continue;
}
}
else { continue; }
}
if (file.FullName.ToLower() == path.ToLower()) {
isexist = true;
find_item = file;
break;
}
}
}
}
}
if(find_item!=null) {
find_item.ReLoad();
treeListView.UpdateObject(find_item);
}
//treeListView.get
//for (int i = 0; i < list.Count; i++) {
// var item = (MyFileSystemInfo)list[i];
// if(item.FullName.ToLower()==path.ToLower()) {
// item.info.Refresh();
// treeListView.RefreshObject(item);
// }
//}
}
private void 重命名ToolStripMenuItem1_Click(object sender, EventArgs e)
{
FrmTitle frm = new FrmTitle();
frm.TxtTitle.Text = Text;
frm.Text = "请输入重命名的工作区名称";
if (frm.ShowDialog() == DialogResult.OK)
{
Text = frm.TxtTitle.Text;
}
frm.Dispose();
}
private void 上传文件到FTPToolStripMenuItem_Click(object sender, EventArgs e) {
MyFileSystemInfo model = (MyFileSystemInfo)this.treeListView.SelectedObject;
if (model != null) {
if (System.IO.Directory.Exists(model.FullName)) {
MessageBox.Show("暂不支持上传文件夹", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
string FilePath = model.FullName;
SiteInfo SiteInfo = new SiteInfo();
UploadInfo uploadinfo = null;
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1) {
DataSet ds = db.ReadData("select * from Site");
if (ds.HaveData()) {
for (int i = 0; i < ds.Tables[0].Rows.Count; i++) {
DataRow reader = ds.Tables[0].Rows[i];
if (FilePath.IndexOfEx(reader["localPath"].ToString()) < 0) {
continue;
}
#region 读取信息
SiteInfo.Name = reader["name"].ToString();
SiteInfo.LocalPath = reader["localPath"].ToString();
SiteInfo.FtpDir = reader["ftpDir"].ToString();
SiteInfo.FtpId = reader["ftpId"].ToInt();
SiteInfo.Id = reader["Id"].ToInt();
break;
#endregion
}
}
ds.Dispose();
ds = db.ReadData("select * from Ftp where Id=" + SiteInfo.FtpId);
if (ds.HaveData()) {
DataRow row = ds.Tables[0].Rows[0];
var FtpInfo = new GameBackup3H3.DbOp.FTPInfo() {
Id = row["id"].ToInt(),
Name = row["name"].ToString(),
IP = row["ip"].ToString(),
Port = row["port"].ToInt(),
RemoteDir = SiteInfo.FtpDir,
UserName = row["username"].ToString(),
Pwd = row["pwd"].ToString(),
Encrypt = row["encrypt"].ToInt(0, 2, 0),
AddTime = row["AddTime"].ToDateTime()
};
uploadinfo = new UploadInfo() {
FtpInfo = FtpInfo,
RemotePath = SiteInfo.FtpDir.Trim('/') + "/" + FilePath.Replace(SiteInfo.LocalPath, "", true).Trim('\\').Replace("\\", "/"),
LocalPath = FilePath
};
}
ds.Dispose();
}
db.Free();
if (SiteInfo.FtpId > 0) {
if (uploadinfo == null) { MessageBox.Show("没有找到对应站点信息", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; }
FrmUploadProg frm = new FrmUploadProg();
frm.UploadList.Add(uploadinfo);
if (frm.ShowDialog() == DialogResult.OK) {
//MessageBox.Show("上传成功。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else {
MessageBox.Show("上传失败。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
frm.Dispose();
}
else {
MessageBox.Show("没有找到对应FTP信息", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
}
private void 复制文件名ToolStripMenuItem_Click(object sender, EventArgs e)
{
MyFileSystemInfo model = (MyFileSystemInfo)this.treeListView.SelectedObject;
if (model == null) { return; }
RyFiles.CopyToClip(model.Name);
}
}
}
@@ -0,0 +1,424 @@
<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>111, 17</value>
</metadata>
<metadata name="imageListSmall.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>254, 17</value>
</metadata>
<data name="imageListSmall.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABU
QQAAAk1TRnQBSQFMAgEBEgEAAaQBAwGkAQMBEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
AwABUAMAAQEBAAEgBgABUFIAQP/AACD/A4EF/wOBAf8DgQH/A4EF/wOBAf8B3gHbAd4B/8AAIP8BhAGC
AYQB/wOBAf8B7wHrAe8B/wHvAesB7wH/Ae8B6wHvAf8DgQH/AYQBggGEBf+cAAGBAaoG/xwACP8B3gHb
Ad4B/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wHvAesB7wH/Ae8B6wHvAf8DgQH/A4EB/wHvAesB7wH/
A4EF/5gAAYEBqgL/AZYCgQH/AYEBqgL/BAAE/xQACP8DgQH/Ad4B2wHeAf8B3gHbAd4B/wHGAcMBxgH/
AcYBwwHGAf8BxgHDAcYB/wOBAf8B7wHrAe8B/wHvAesB7wH/A4EB/wHvAesB7wH/Ae8B6wHvAf8DgQX/
mAABgQGqAv8BlgKBAf8BgQGqAv8IAAT/EAAI/wOBAf8B7wHrAe8B/wGEAYIBhAH/AYQBggGEAf8BxgHD
AcYB/wGEAYIBhAH/A4EB/wHvAesB7wH/Ae8B6wHvAf8DgQH/Ae8B6wHvAf8B7wHrAe8B/wOBBf+UAAKB
AbkB/wGBAaoC/wGWAoEB/wGBAaoC/wKBAZYB/wQABP8QAAj/A4EB/wHvAesB7wH/A4EB/wGcAZoBnAH/
AcYBwwHGAf8DgQH/AYQBggGEAf8DgQH/Ae8B6wHvAf8DgQH/Ae8B6wHvAf8DgQn/jAABgQGqAv8BgQGq
Av8BgQGqAv8BlgKBAf8BlgKBAf8BlgKBAf8BgQGqAv8BgQGqAv8BgQGqAv8QAAj/A4EB/wHvAesB7wH/
A4EB/wGcAZoBnAH/AcYBwwHGAf8DgQH/AYQBggGEAf8BxgHDAcYB/wOBAf8DgQH/A4EN/4gAAYEBqgL/
AZYCgQH/AZYCgQH/AZYCgQH/AZYCgQH/BAABlgKBAf8BlgKBAf8BlgKBAf8BlgKBAf8BgQGqAv8MAAj/
A4EB/wHvAesB7wH/A4EB/wGcAZoBnAH/AcYBwwHGAf8DgQH/AYQBggGEAf8BxgHDAcYB/wOBAf8BhAGC
AYQR/4wAAYEBqgL/AYEBqgL/AYEBqgL/AZYCgQH/AZYCgQH/AZYCgQH/AYEBqgL/AYEBqgL/AYEBqgL/
EAAI/wOBAf8B7wHrAe8B/wOBAf8BnAGaAZwB/wHGAcMBxgH/A4EB/wGEAYIBhAH/AcYBwwHGAf8DgRX/
lAACgQG5Af8BgQGqAv8BlgKBAf8BgQGqAv8CgQGWAf8YAAj/A4EB/wHvAesB7wH/AYQBggGEAf8BhAGC
AYQB/wHGAcMBxgH/AYQBggGEAf8BhAGCAYQB/wHGAcMBxgH/A4EV/5gAAYEBqgL/AZYCgQH/AYEBqgL/
HAAI/wOBAf8B3gHbAd4B/wHGAcMBxgH/AcYBwwHGAf8BxgHDAcYB/wHGAcMBxgH/AcYBwwHGAf8BxgHD
AcYB/wOBFf+YAAGBAaoC/wGWAoEB/wGBAaoC/xwABP8BnAGaAZwB/wOBAf8DgQH/A4EB/wOBAf8DgQH/
A4EB/wOBAf8DgQH/A4EB/wGcAZoBnBH/nAABgQGqAv8gAAj/AecB4wHnAf8B5wHjAecB/wOBAf8BhAGC
AYQB/wGEAYIBhAH/AYQBggGEAf8DgQH/AecB4wHnAf8B5wHjAecB/wHnAeMB5xH/wAAU/wGEAYIBhAH/
AYQBggGEAf8BhAGCAYQh/8AAQP/YAAQCAxoBJAMZASMcABT/A4EB/wOBAf8DgQH/A4Ed/wOBAf8DgQH/
A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8MAAM/
AWwDPgFrGAADQgFzAzoBYhwAAy0BRgNaAccBgQGQAYEB/wGBAZQBgQH/AYEBlAGBAf8BgQGPAYEB/wNa
AcIDKAE8EAAM/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgRX/A4EB/wGBA/8BgQP/AYED/wGB
A/8BgQP/AYED/wGBA/8BgQP/AYED/wGBA/8BgQP/AYED/wGBA/8BgQP/A4EB/wwAAzgBXQGBAYIC/wNh
AeYDMwFSCAADNwFaA10B6gKBAf4B/wMyAU8YAANTAaYBgQGqAYEB/wGBAbMBgQH/AYEBsAGBAf8BgQGv
AYEB/wGBAa4BgQH/AYEBrwGBAf8BgQGyAYEB/wGBAagBgQH/A08BmQwABP8DgQH/A4EB/wOBAf8DgQH/
A4EB/wOBAf8BgQHMAv8DgQH/A4EB/wOBAf8DgQH/A4EN/wQAA4EB/wGBA/8BgQP/AYED/wGBA/8BgQP/
A4EB/wOBAf8BgQP/AYED/wGBA/8BgQP/AYED/wOBAf8QAAMeASsBgQGDAfQB/wGBAaMC/wGBAZMB+wH/
A14B0gNfAdgBgQGVAf0B/wGBAaIC/wKBAfAB/wMUARsUAANUAagBgQGxAYEB/wGBAa4BgQH/AYEBrgGB
Af8BgQGdAYEB/wGBAaABgQH/AYEBrgGBAf8BgQGsAYEB/wGBAa0BgQH/AYEBrwGBAf8BgQGwAYEB/wNO
AZgIAAOBAf8DgQH/A4EB/wOBAf8DgQH/AYEBmQHMAf8BgQGZAcwB/wGBAcwC/wKBAZkB/wKBAcwB/wOB
Af8DgQH/A4EB/wOBAf8DgQX/BAADgQH/AYED/wGBA/8BgQP/AYED/wGBA/8DgQH/A4EB/wGBA/8BgQP/
AYED/wGBA/8BgQP/A4EB/xQAAoEB5wH/AYEBqwL/AYEBsAL/AYEBuQL/AYEBuQL/AYEBsAL/AYEBqwL/
A4AB/hQAAzABSgGBAaoBgQH/AYEBrgGBAf8BgQGuAYEB/wGBAZwBgQH/AYkBvgGSAf8BgQGZAYEB/wGB
AaIBgQH/AYEBsAGBAf8BgQGsAYEB/wGBAawBgQH/AYEBrwGBAf8BgQGnAYEB/wMoATsEAAOBAf8DgQH/
A4EB/wGBAZkBzAH/AYEBmQHMAf8BgQGZAcwB/wGBAZkBzAH/AYEBzAL/A5kB/wOZAf8DmQH/AoEBzAH/
A4EB/wOBAf8DgQX/CAADgQH/AYED/wGBA/8BgQP/AYED/wGBAtAB/wGBAtAB/wGBA/8BgQP/AYED/wGB
A/8DgQH/GAADXwHaAYEBwgL/AYEBxQL/AYEBygL/AYEByQL/AYEBxQL/AYEBwwL/A10BzBQAA18BzgGB
AbIBgQH/AYEBsQGBAf8BgQGiAYEB/wGEAbsBjgn/AYEBlAGBAf8BgQGsAYEB/wGBAbkBgQH/AYEBsQGB
Af8BgQGrAYEB/wGBAbIBgQH/A1kBvgQAA4EB/wGBAZkBzAH/AYEBmQHMAf8BgQGZAcwB/wGBAZkBzAH/
AYEBmQHMAf8BgQGZAcwB/wGBAcwC/wOZAf8DmQH/A5kB/wOZAf8BgQGZAcwB/wGBAZkBzAH/A4EF/wgA
A4EB/wGBA/8BgQP/AYED/wGBA/8DgQH/A4EB/wGBA/8BgQP/AYED/wGBA/8DgQH/FAADGwElA1oB9QGB
AdYC/wGBAdoC/wGBAeAC/wGBAeEC/wGBAdoC/wGBAdUC/wNiAe4DFQEdDAADBgEHAYEBkQGBAf8BgQG1
AYEB/wGBAaUBgQH/AYUBuwGOEf8BgQGUAYEB/wGBAbQBgQH/AYEBwQGBAf8BgQG1AYEB/wGBAbABgQH/
AYEBjgGBAf8EAAOBAf8BgQGZAcwB/wGBAZkBzAH/AYEBmQHMAf8BgQGZAcwB/wGBAZkBzAH/AYEBmQHM
Af8BgQHMAv8CgQHMAf8DmQH/A5kB/wKBAcwB/wKBAcwB/wKBAcwB/wOBBf8MAAOBAf8BgQP/AYED/wGB
A/8DgQH/A4EB/wGBA/8BgQP/AYED/wOBAf8UAAMfASwDKwH8AYEB3QL/AYEB4gL/AYMB8AL/AZAB8gL/
AZAB8gL/AYIB7gL/AYEB4QL/AYEB3QL/A2IB9gMZASMIAAMfASwBgQGcAYEB/wGBAb0BgQH/AZgB1gGq
Dv8B/gr/AYEBkwGBAf8BgQG5AYEB/wGBAcQBgQH/AYEBuAGBAf8BgQGVAYEB/wMWAR4DgQH/AYEBmQHM
Af8BgQGZAcwB/wGBAZkBzAH/AYEBmQHMAf8BgQGZAcwB/wGBAswB/wLMAv8BgQGZAcwB/wGBAZkBzAH/
AoEBzAH/AoEBmQH/AoEBzAH/AoEBzAH/A4EF/wwAA4EB/wGBA/8BgQP/AYED/wOBAf8DgQH/AYED/wGB
A/8BgQP/A4EB/xAAAyQBNQKBAeYB/wGBAdgC/wGBAeEC/wGHAfEC/wGkAfMC/wG2AfYC/wG2AfYC/wGj
AfMC/wGFAfAC/wGBAeAC/wGBAdgC/wNfAfsDHQEpBAADHwEsAYEBowGBAf8BgQHHAYEB/wGBAdsBlgn/
AYEB6AGiAf8BoAHxAcIN/wGBAZMBgQH/AYEBuwGBAf8BgQHEAYEB/wGBAZoBgQH/AxcBHwOBAf8BgQGZ
AcwB/wGBAZkBzAH/AYEBmQHMAf8BgQGZAcwB/wGZAcwC/wGZA/8BmQHMAv8BmQP/AZkBzAL/AYEBmQHM
Af8CgQHMAf8CgQHMAf8BgQGZAcwB/wOBBf8QAAOBAf8BgQP/AYED/wOBAf8DgQH/AYED/wGBA/8DgQH/
EAADCgENA2UB8QGBAY8B7gH/AYEBqgHyAf8BgQHVAf0B/wGeAfsC/wHCAfsC/wHdAfoC/wHcAfoC/wHC
AfsC/wGcAfkC/wGBAdIB/AH/AYEBqAHxAf8BgQGPAe4B/wNlAewDAwEEAwYBCAGBAZ4BgQH/AYEB0QGB
Af8BgQHYAYEB/wGBAegBqgH/AYcB8AG0Af8BgQHvAaMB/wGBAe8BogH/AbIB9wHPAv8B/gr/AYEBkwGB
Af8BgQG+AYEB/wGBAZkBgQH/BAADgQH/AYEBmQHMAf8BgQGZAcwB/wGZAcwC/wGZA/8BgQHMAv8BgQHM
Av8BmQHMAv8BgQHMAv8BgQHMAv8BmQP/AZkBzAL/AYEBmQHMAf8BgQGZAcwB/wOBBf8QAAOBAf8BgQP/
AYED/wOBAf8DgQH/AYED/wGBA/8DgQH/HAADHAEnAzABTANKAYoBoAHXAfcB/wHyA/8B8AP/AZMBzAHz
Af8DRwGCAzABSwMbASUQAANdAc8BgQHeAYgB/wGBAeIBkAH/AYEB7QGeAf8BgQHyAawB/wGNAfgBuQH/
AZQB+gG9Af8BhwH4AbQB/wG7AfkB1AL/Af4K/wGBAdgBgQH/A1oBwAQAA4EB/wGZAcwC/wGZA/8BgQHM
Av8BgQHMAv8BgQHMAv8BgQHMAv8BmQHMAv8BmQHMAv8BmQHMAv8BmQHMAv8BmQHMAv8BmQP/AZkBzAL/
A4EF/xQAA4EB/wGBA/8BgQKQAf8BgQKQAf8BgQP/A4EB/ywAA18B2gHcA/8B3QP/A1sBzRwAAzABTAGB
AdEBgQH/AYEB6wGdAf8BgQHyAasB/wGRAfkBuwH/AaoB/gHLAf8BuwH+AdQB/wGzAf4B0QH/AZEB+gG7
Af8BugH5AdMF/wGKAe0BtAH/AYEBxAGBAf8DKQE9BAADgQH/AYEBzAL/AYEBzAL/AYEBzAL/AYEBzAL/
AYEBzAL/AYEBzAL/AZkBzAL/AYEBzAL/AYEBzAL/AYEBzAL/AYEBzAL/AYEBzAL/AYEBzAL/A4EF/xQA
A4EB/wGBA/8BgQP/AYED/wGBA/8DgQH/LAADMwFQAZAB3wH+Af8BhAHUAfoB/wMrAUIgAANVAawBgQHu
AZwB/wGEAfgBtgH/AZ8B/AHEAf8BxwH/AdwB/wHoAf8B8QH/AdcB/wHmAf8BrQH+Ac0B/wGFAfcBtAH/
AYEB9QG0Af8BgQHiAYgB/wNQAZoIAAT/A4EB/wOBAf8BgQHMAv8BgQHMAv8BgQHMAv8BgQHMAv8BgQHM
Av8BgQHMAv8BgQHMAv8BgQHMAv8BgQHMAv8DgQH/A4EJ/xgAA4EB/wGBA/8BgQP/A4EB/zQAA2EB5ANh
AdYoAANUAasBgQHjAZQB/wGtAf8B0wH/AdEB/wHlAf8B8wH/AfkB/wHgAf8B7QH/AbUB/wHVAf8BmAH/
AccB/wGBAdoBggH/A1ABnQwADP8DgQH/A4EB/wGBAcwC/wGBAcwC/wGBAcwC/wGBAcwC/wGBAcwC/wOB
Af8DgRH/GAADgQH/AYED/wGBA/8DgQH/NAADNgFYAzABSywAAzABSgNdAcwBgQG9AYEB/wGBAdIBmAH/
AYEB0QGUAf8BgQG7AYEB/wNcAcYDKgFAEAAU/wOBAf8DgQH/AYEBzAL/A4EB/wOBGf8cAAOBAf8DgQH/
dAADAwEEAx0BKAMcAScEAhgAHP8DgSH/HAADgQH/A4EB/zQAA4EB/wOBAf8DgQH/A4EB/wOBAf8wAAMV
AR0DEwEZOAADDgESAw8BE0AABAIDCAEKAw8BFAMTARkDDwETAwYBBwQBEAADgQH/AoEB4QH/AoEB4wH/
AoEB5QH/AoEB5QH/AoEB5QH/AoEB5AH/AoEB4gH/A4EB/yQAAxMBGQNaAfIDWQHvAw8BEygAAyABLQNW
AbMDjAH/A7IB/wOyAf8DkAH/A1kBuQMkATQwAAMEAQUDEgEXAyQBNQMyAU8DNgFYAy8BSQMdASgDCQEL
DAADgQH/AoEB5wH/AoEB6gH/AoEBrAH/A4EB/wOBAf8DgQH/AoEBngH/AoEB6gH/AoEB6AH/A4EB/xwA
AxMBGQNlAfEBgQG6Av8BgQG3Av8DYgHuAw8BEyAAA0kBiAO4Bf8D9gH/A88B/wPNAf8D7wX/A8AB/wNO
AZUkAAQBAwcBCQMZASMDRAF4A1sBxANeAd0DXQHMA0wBjgM2AVkDGQEjCAADgQH/AoEB6wH/AoEB7wH/
AoEB8gH/A1kB7xAAA4EB/wKBAfEB/wKBAe0B/wOBAf8UAAMTARkDZQHxAYEBxwL/AYEBtgL/AYEBuAL/
AYEBxwL/A2IB7gMPARMYAANKAYoD0gH/A+YB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wPcAf8D2gH/
A1ABmhwABAIDDAEPAyQBNQNVAa0DTQH6AYEBmwH2Af8BgQGyAf4B/wGBAakB+QH/A2EB5gNIAYQDKQE+
CAACgQHvAf8CgQHzAf8CgQH3Af8CgQH6Af8CgQH9Af8DWQHvEAADgQH/AoEB9QH/AoEB8QH/EAADEwEZ
A2UB8QGBAcsC/wOBAf8BgQHHAv8BgQGcAdMB/wOBAf8BgQHIAv8DYgHuAw8BExAAAyIBMQOyAf8D2QH/
A4EB/wOBAf8DlgH/A9wB/wPeAf8DoAH/A4EB/wOBAf8DzAH/A7YB/wMpAT4QAAQCAwQBBQMRARYDMwFS
A10B0QGBAZsB5wH/AYEBngHwAf8BgQGjAfkB/wNNAfoBgQG1AfgB/wGBAZkB9QH/A1YBtQMvAUkEAAOB
Af8CgQH2Af8CgQHLAf8DOgFgAoEC/wKBAf4B/wKBAf4B/wNZAe8QAAKBAeUB/wKBAfgB/wNMAY8IAAMT
ARkDZQHxAYEBxgL/AYEBygL/A4EB/wGBAc8C/wOBAf8BgQGiAdQB/wGBAcIC/wGBAcQC/wNiAe4DDwET
DAADWQG5A54B/wOBAf8DgQH/A8YB/wPvAf8D+wH/A/kB/wPsAf8D0wH/A4EB/wOBAf8D3wH/A10ByQgA
AwQBBQMNAREDFwQfASwDRAF6A2UB5wGBAagB7AH/AYEBpgHvAf8BgQGnAe4B/wGBAaEB7wH/A2oB+QOA
Af4BgQGXAfkB/wNZAb4DJgE4BAADgQH/AoEB/QH/A4EB/wQAAzoBYAKBAf4B/wKBAf0B/wKBAf0B/wNZ
Ae8MAAOBAf8CgQL/A4EB/wQAAxMBGQNlAfEBgQHHAv8BgQHCAv8BgQHMAv8CgQGeAf8DgQH/A4EB/wGB
AdcC/wGBAcYC/wGBAcEC/wGBAcUC/wNiAe4DDwETCAADgQH/A4EB/wOBAf8DgQH/A9IB/wPYAf8D8gH/
A/IB/wPWAf8D0QH/A5UB/wOBAf8DqgH/A4EB/wQCAwUBBgMXAR8DMQFOA0ABbwNRAaIDXAH4AYEBuAHw
Af8BgQGuAe8B/wGBAasB+AH/AYEBsgH8Af8BgQGrAfAB/wGBAZ4B8wH/AYEBmwH8Af8BgQGWAfIB/wNJ
AYcDEwEZBAADgQH/AoEB/gH/A4EB/wgAAzoBYAKBAf0B/wKBAf0B/wKBAf0B/wNZAe8IAAOBAf8CgQH+
Af8DgQH/AxMBGQNlAfQBgQHJAv8BgQHDAv8BgQHJAv8BgQHTAv8BgQHpAv8DgQH/A4EB/wGBAdoC/wGB
AdAC/wGBAcgC/wGBAcIC/wGBAcUC/wNlAfEDDwEUAxMBGgOJAf8DkgH/A4EB/wOBAf8DqgH/A78B/wPc
Af8D2gH/A7sB/wO3Af8DvQH/A8cB/wO9Af8DjAH/Ax4BKgMYASEDUQGfA10B3wNlAfEDbQH3AYEBqgG+
Af8BgQG3AdsB/wGBAbgB8wH/AYEBrAHzAf8BgQGwAf0B/wGBAakB8wH/AYEBpQHvAf8DWgH1A00BkwMS
ARcDAwEEBAADgQH/AoEB/gH/A4EB/wwAAzoBYAKBAfwB/wKBAfwB/wKBAfwB/wNZAe8EAAOBAf8CgQH+
Af8DgQH/AwQBBQNfAdABgQHBAv8BgQHKAv8BgQHTAv8BgQGEAZoB/wOBAf8DgQH/AYEBgwGTAf8BgQHU
AfsB/wGBAY4BqAH/AYEB0QL/AYEByQL/AYEBvgL/A10ByQMCAQMDFQEdA4sB/wO6Af8DxwH/A8UB/wO8
Af8DvgH/A9EB/wPaAf8DwAH/A8AB/wOdAf8DgQH/A5AB/wOVAf8DHwEsA1ABnQGxAa4BrQH/Ac4BzQHM
Af8B2gHZAdgB/wHkAeAB3QH/AfEB4QHaAf8B5gHiAeYB/wGBAcYB7wH/AYEBtQHyAf8BgQGnAe8B/wGB
AaoB7wH/A2EB5AM7AWMDDAEPBAIIAANdAc8CgQH9Af8CgQHUAf8QAAM6AWACgQH7Af8CgQH7Af8CgQH8
Af8DWQHvAoEB/QH/AoEB/QH/AyoBQAgAA10BzwGBAcwC/wGBAdYC/wGBAbcB0wH/AYEBzgHtAf8BgQGr
Ab4B/wOBAf8DgQH/AYEBvQHdAf8BgQHWAv8BgQHJAv8DXAHIDAADgQH/A74B/wOBAf8DkwH/A9QB/wPY
Af8D8AH/A/UB/wPcAf8DvgH/A4EB/wOBAf8DgQH/A44B/wMGAQcDYwHpAcMBwgHBAf8BxAHDAcIB/wG7
AbkBuAH/AccBxgHFAf8B3gLfAf8B9wHtAekB/wHDAdMB3gH/AYEBuwHoAf8BgQG+AfQB/wNbAcUDKAE8
AwcBCQQBEAACgQH9Af8CgQH8Af8DgQH/EAADOgFgAoEB+gH/AoEB+wH/AoEB+wH/AoEB/AH/AoEB3QH/
EAADXQHPAYEB1QL/AYEB6QL/A4EB/wOBAf8BgQHdAfMB/wGBAe4C/wGBAeAC/wGBAdMC/wNcAcgQAANc
AcYD4QH/A4EB/wOBAf8D1QH/A+wB/wP3Af8D+wH/A+wB/wPjAf8DgQH/A4EB/wOMAf8DYQHWBAADXgHw
A14B8ANLAYwDWAG4Aa8BrQGsAf8BzALLAf8B6wHkAeIB/wGvAbwBwQH/A2IB7gNPAZcDFAEbAwQBBRgA
A4EB/wKBAfwB/wKBAfsB/wOBAf8QAAM6AWACgQH6Af8CgQH7Af8CgQH8Af8DWgG/FAADXQHPAYEB4QL/
AYEBvQHPAf8BgQGFAYsB/wGBAe8C/wGBAecC/wGBAdoC/wNcAcgUAAMtAUQDuwH/A9AB/wOBAf8DgQH/
A64B/wP1Af8D+gH/A7kB/wOBAf8DgQH/A8IB/wPNAf8DNAFTBAADOAFbAyUBNgMJAQsDKgFAA2UB8QHD
AcIBwQH/AeAB3QHaAf8DYQHrA0IBcwMVAR0EAiAAA4EB/wKBAfsB/wKBAfoB/wKBAfkB/wOBAf8DgQH/
A4EB/wKBAfkB/wKBAfoB/wKBAfoB/wOBAf8cAANdAc8BgQHnAv8BgQHxAv8BgQHpAv8BgQHgAv8DXAHI
HAADUwGpA+IB/wPYAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DzQH/A+kB/wNZAbkQAAMJAQsDRAF5
A00B+gHLAcoByQH/AdYB1QHUAf8DXgHXAygBPAMLAQ4oAANZAe8CgQHqAf8BgQGEAfkB/wGGAZIB+AH/
AY4BmgH4Af8BiwGXAfgB/wGBAYsB+QH/AoEBugH/A1UBryQAA10BzwGBAeEC/wGBAd8C/wNcAcgkAANV
Aa4D0QX/A9oB/wOzAf8DsQH/A9QF/wPbAf8DWAG6FAADQwF2AagCQAH9AcwBywHKAf8BwwHBAcAB/wNa
AfUDRAF4Aw8BEwMCAQMwAAMhATADgQH/A4EB/wOBAf8DDAEQMAADXgHSA1wByywAAzMBUANfAdgDqgH/
A9AB/wPUAf8DrgH/A14B3QM2AVkYAAM0AVQDVQGuA1gBuANKAYkDKQE+AwYBCAQCeAADAgEDAwIBAzQA
AwoBDQMjATMDJAE0AwwBD6gAAwkBCwMkATUwAAMbASUDPwFtAzoBYAMJAQssAAMEAQUDEAEVAyMBMgMx
AU0DMQFNAx8BLAMJAQwEAWgAAwMBBANgAeABhQKBAf8DYAHbAz0BaAMCAQMgAAM+AWsCgQHpAf8CgQH9
Af8BgQGDAfoB/wKBAdkB/wMkATUkAAMFAQYDFgEeAzsBZQNbAcQDYAHbA04BlgM5AV8DHQEpAwYBBwQB
AwMBBAMMAQ8DEwEZAw4BEgMEAQVQAANaAcIBlwGRAY4B/wOBAf8BgQHVAv8BgQGwAfoB/wOBAf8DUQGf
Ax8BLBgAAoEB0wH/AYEBkAL/AYEBkQL/AYEBlgL/AYEBpAL/A1sB0yQAAw8BFANOAZYDXwH7AoEC/wKB
Av8DYwHpA0sBjQM1AVUDGAEhAwwBEAMZASMDLAFDAzYBVwMsAUMDEwEZAwIBAwQAAxYBHgNhAdYDZQHn
A2EB5gNhAeYDYQHmA2EB5gNhAeYDYQHmA2EB5gNhAeYDYAHoA14B0gMLAQ4MAAM9AWcBoAGdAZwB/wOB
Af8BgQGcAccB/wKBAYcB/wKBAY0B/wKBAZUB/wKBAZwB/wOBAf8DYAHUA0IBdAM/AW0DQAFxAxMBGgQA
A1wB+AGBAZsC/wGBAZoC/wGBAaAC/wGBAaoC/wNeAeIMAAMoATsDTQGRA0oBiwMhAS8IAANPAZkBgQGP
AfoB/wKBAv8CgQL/AoEC/wKBAv8DXwHYA0YBfgM0AVQDMAFMA08BlwNhAesDXAHGA0MBdwMsAUMDEQEW
BAADUQGcAdcBhAGBAf8BxwKBAf8B9wHPAcUB/wH0AckBvwH/AfQByQG/Af8B9AHJAb8B/wH0AckBvwH/
AfQByQG/Af8B9AHJAb8B/wH0AckBvwH/AfUBywHBAf8B8gG9AbEB/wMzAVAMAANiAfYDgQH/AoEBpQH/
A4EB/wOBAf8BgQGiAYEB/wGBAbsBgQH/AYEBugGBAf8BgQG/AYEB/wGBAcMBgQH/AYEBxgGBAf8DgQH/
A4EB/wgAAzQBVAKBAe8B/wGBAakC/wGBAbAC/wGBAcAC/wNdAckIAAM/AW0BgQGdAfkB/wGBAbkC/wGB
Aa0C/wGBAYQB9gH/AzsBZAQAA0MBdwGBAbwB/QH/AYEBvAL/AoEB/gH/AoEC/wKBAv8CgQH6Af8DWgHC
A1EBnwNhAeYCgQH0Af8CgQL/A0AB/QNWAbUDPwFsAyMBMwQAA1kBuwHUAYQBgQH/AdABlAGLAf8B/QHg
AdYB/wH6AdsB0QH/AfoB2wHRAf8B+gHbAdEB/wH6AdsB0QH/AfoB2wHRAf8B+gHbAdEB/wH6AdsB0QH/
AfwB3gHVAf8B7AG3AasB/wMgAS4IAAM9AWkDgQH/AoEBkAH/AoEBnwH/A4EB/wOBAf8BgQHjAZAB/wGB
AdUBiAH/AYEB1QGIAf8BgQHVAYgB/wGBAdsBjAH/AYEBjQGBAf8DgQH/A1MBpgwAAxQBGwM/AW0DWAG6
AYEB2wL/A1cBsQgAA2EB6wGBAdUC/wGBAb8C/wGBAbAC/wGBAaoC/wNqAfkIAANVAa0BlQHWAv8BgQGq
Af4B/wKBAf4B/wKBAf4B/wKBAv8DQAH9A0AB/QKBAv8CgQL/AoEC/wKBAv8DbQH3A1EBngMjATIEAANZ
Ab4BzgKBAf8B1gGbAY8B/wHyAccBvAH/AfABwwG4Af8B8AHDAbgB/wHwAcMBuAH/AfABwwG4Af8B8AHD
AbgB/wHwAcMBuAH/AfABwwG4Af8B8gHIAb0B/wHdAZYBiwH/AwwBEAgAA18BzgOBAf8BgQHbAv8DgQH/
A4EB/wGBAbgBhQH/AZIB+wG3Af8BjwH2AbMB/wGPAfYBswH/AY8B9gGzAf8BlQH/AbsB/wOBAf8DgQH/
AzYBWBQAA0sBjAGBAfgC/wNOAZgIAANeAdIBgQHwAv8BgQHRAv8BgQHCAv8BgQGzAv8DXwH7CAADEgEX
A14B3QGLAcoC/wGBAYwB/QH/AoEB/gH/AoEB/gH/AoEC/wKBAv8CgQH+Af8CgQL/AoEC/wKBAv8DWgHy
A0cBggMPARMEAANWAbYBygKBAf8B2AGbAY4B/wHnAbIBpwH/AeUBsQGlAf8B5QGxAaUB/wHlAbEBpQH/
AeUBsQGlAf8B5QGxAaUB/wHlAbEBpQH/AeUBsQGlAf8B6AG0AagB/wHXAYsBgQH/AwwBDwQAAwQBBQOB
Af8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DEgEXFAADUwGn
AY4D/wNHAYEIAAMdASgDWgH1AYEBygH9Af8BgQG8AfkB/wGBAb4C/wNhAd4IAAQCAygBPANlAewCgQL/
AoEB/gH/AoEB/gH/AoEB/gH/AoEB/gH/AoEB/gH/AoEC/wKBAfsB/wNeAd0DMAFLAwkBCwQCBAADVQGs
AcwCgQH/AdABiwGBAf8B3QGeAZAB/wHcAZwBjgH/AdwBnAGOAf8B3AGcAY4B/wHcAZwBjgH/AdwBnAGO
Af8B3AGcAY4B/wHcAZwBjgH/Ad0BnwGRAf8B1QGGAYEB/wMdASgEAAMmATgDgQH/AoEBnQH/AYEBwAL/
A4EB/wOBAf8BgQHUAYEB/wGBAcoBgQH/AYEBygGBAf8BgQHKAYEB/wGBAcoBgQH/AYEB0wGBAf8DgQH/
A0AB/RgAA1kBvgGaA/8DPQFpEAADLQFEA1ABmgGBAcMC/wNaAcIEAAQCAw0BEQMjATIDXgHXAoEC/wGB
AYMB/gH/AoEB/gH/AoEB/gH/AoEB/gH/AoEC/wKBAfYB/wNaAccDNgFYAxQBGwQCCAADUwGpAdgBlQGI
Af8BxgKBAf8B3wGeAY8B/wHeAZsBjQH/Ad4BmwGNAf8B3QGaAYwB/wHbAZgBigH/AdsBmAGKAf8B2wGY
AYoB/wHbAZgBigH/AdsBmQGLAf8B3gGUAYcB/wM4AV0EAAM4AV0BkwGLAYgB/wGBAaMB0QH/AYEBvQH3
Af8DgQH/A4EB/wGBAecBlwH/AYEB2wGQAf8BgQHbAZAB/wGBAdsBkAH/AYEB2wGQAf8BgQHpAZcB/wOB
Af8DYQHeGAADYQHWAZYB6gL/AzEBTRQAA0YBfQGBAd0C/wNSAaUEAAMJAQsDMwFSA2AB1AGBAYwB/QH/
AYEBlQL/AYEBjgH+Af8BgQGIAf4B/wKBAf4B/wKBAf4B/wKBAv8CgQH1Af8DWAG8A0IBdAMoATsDDAEP
BAEEAANWAbAB7wG8Aa8B/wG7AoEB/wG8AoEB/wG9AoEB/wG8AoEB/wHHAoEB/wHoAaQBlwH/AeUBoAGT
Af8B5QGgAZMB/wHlAaABkwH/AeUBoAGTAf8B7gGpAZsB/wFWAlQBqwQAAwkBCwNCAXQDYQHkAYEBkQGy
Af8DgQH/A4EB/wGHAeABpwH/AYEB1QGfAf8BgQHVAZ8B/wGBAdUBnwH/AYEB1QGfAf8BhwHiAacB/wOB
Af8DXgHXGAADWQHvAbUD/wNgAeMDQAFwAyEBLwMJAQwEAAMGAQgDVgG2AYEB3wL/A0oBiQQAAzMBUQNg
AfMBgQGdAv8BgQGhAf4B/wGBAZ8B/gH/AYEBmwH+Af8BgQGWAv8BgQGHAf4B/wKBAf4B/wKBAf4B/wKB
Av8DgAH+A1UBrAM9AWgDIQEvAwkBDAQAA1wByAHzAcQBuAH/Ae8BwAG0Af8B7wHBAbQB/wHuAcEBtAH/
AfEBxAG4Af8BzQGNAYEB/wHHAoEB/wHYAYgBgQH/AdcBhwGBAf8B1wGHAYEB/wHZAYoBgQH/AecBlQGJ
Af8BvgKBAf8QAAMpAT4DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DYgH2GAABgQGd
AeUB/wGkAfsC/wHJA/8B0QH6Av8BmAHMAfQB/wGBAbQB6wH/AYEBpQHmAf8BgQGpAeoB/wGBAccB+AH/
AYEByQL/Az8BbQQAA00BkQGBAbEC/wGBAbgB/gH/AYEBqwH9Af8BgQGxAv8BgQGpAf0B/wGBAY4B9AH/
AYEBrAH9Af8BgQGbAf0B/wKBAf4B/wKBAf4B/wKBAv8DXgHwA04BlgM4AVsDGwEmBAADXAH4AfYBzwHE
Af8B8QHIAb0B/wHxAcgBvQH/AfEByAG9Af8B9gHQAcUB/wH4AckBvgH/AegBsAGlAf8B4AGiAZcB/wHh
AaMBmAH/AeMBpgGbAf8B0AKBAf8DLgFHAxsBJRQAA1oB9QOBAf8BgQHZAYEB/wGBAc4BgQH/AYEBzgGB
Af8BgQHOAYEB/wGBAdUBgQH/A4EB/wOBAf8DgQH/Ax0BKRAAAwkBDAGBAa4B8AH/AZAB+QL/AaIB8wL/
AbEB9gL/AbUB+QL/AagB+QL/AZAB+AL/AYEB6QL/AYEB1QL/AYEBtAH+Af8DMwFRBAADGwElA2IB4QGR
AdIC/wGKAckC/wGBAbEB+AH/A2AB4ANHAYEDZQHxAYEBtAL/AYEBhAH+Af8CgQH+Af8CgQL/AoEC/wNh
Ad4DRwGBAyIBMQMlATcB4gGsAaAC/wHgAdYB/wH9Ad0B0gH/Af0B3QHSAv8B4wHZAf8B0QGIAYEB/wM6
AWEDOAFbAzgBXAM4AVwDOAFdAysBQhwAA1kBvgOBAf8BgQHWAY8B/wGBAecBmwH/AYEB5QGaAf8BgQHl
AZoB/wGBAfEBogH/A4EB/wG3AbUBtgH/A4EB/wMZASMQAAMJAQsDYAHoAYEB1gL/AYsB/gL/AZMB+gL/
AZIB+AL/AYUB9AL/AYEB6QL/AYEB2wL/AYEBzgL/AYEBpAH8Af8DJQE3CAADKgE/A2EB6wNdAeoDSwGN
AxsBJgMFAQYDQAFwAYEBlwH7Af8BgQGNAv8CgQH+Af8CgQL/AoEC/wNqAfkDTgGUAxQBGwMZASMBUwJS
AaUDUgGhA1IBoQNSAaEDUQGfAyYBOTQAA0QBeAOBAf8DgQH/AYEBmAGBAf8BgQGUAYEB/wGBAZYBgQH/
AYEBhQGBAf8DgQH/A2oB+QM6AWEcAAM0AVQDVQGsA2AB6AGBAY4B2AH/AYEBmgHeAf8BgQGcAeAB/wGB
AY8B3wH/AoEB2gH/A1sB0wMHAQkMAAMVAR0DFAEbAwIBAwQBCAADUQGcAoEC/wKBAv8CgQH+Af8DTQH6
A0oBiwMVAR0DBAEFUAADBQEGAxcBHwMWAR4DFgEeAxYBHgMWAR4DFgEeAxMBGjQAAw8BEwMWAR4DEQEW
MAADCwEOA1wBywNaAfUDUwGmAygBOwMHAQkEAhwAAzABSgNAAXEDQAFwAy4BRzAAAysBQgM8AWYDOwFl
AyoBPxwABAIDIQQvAUkDOAFbAz0BaQNBAXIDRAF5A0QBeQNDAXcDQAFuAzoBYAMxAU0DIQEwBAE0AAMI
AQoDFgEeGAADSgGJA4EB/wGUAY8BjAH/AaIBiwGBAf8BogGLAYEB/wGTAY8BjQH/A4EB/wNHAYEcAAQB
A00BkQKBAdkB/wKBAfEB/wKBAfsB/wKBAfsB/wKBAfAB/wKBAdcB/wNJAYgUAAOBAf8BgQGsAYEB/wGB
AZ4BgQH/AYEBrgGBAf8BgQHLAYEB/wGBAdABgQH/AYEB1QGBAf8BgQHVAYEB/wGBAdIBgQH/AYEBzAGB
Af8BgQGvAYEB/wGBAaABgQH/AYEBrAGBAf8DagH5MAADIAEuA4AB/gKBAbcB/wNEAXgQAANgAdQBoAGb
AZcB/wGkAoEB/wHWAZIBgQH/AcsBjAGBAf8B0QGTAYEB/wHTAYwBgQH/AaMCgQH/AaIBnQGbAf8DXQHJ
FAADDwEUA2UB5wGBAYgC/wGBAYkC/wGBAYgC/wGBAYIB+gH/AYEBhAH8Af8BgQGIAv8BgQGJAv8BgQGH
Av8DYQHeAwoBDQwAA2AB8wGBAdUBgQH/AYEB1gGBAf8BgQHbAYgB/wGBAekBmQH/AYEB7AGeAf8BgQHu
AaMB/wGBAe4BowH/AYEB7AGeAf8BgQHpAZkB/wGBAdsBiQH/AYEB1AGBAf8BgQHXAYEB/wNgAdssAAMg
AS4CgQGYAf8CgQHbAf8BiwGVAfYB/wKBAcgB/wMNAREIAANXAbEBlQGLAYUB/wG9AoEC/wHOAa0C/wHc
AcUB/wHTAaABhwH/AcwBlAGBAv8B1gG9Av8BxwGnAf8BtgKBAf8BlQGOAYsB/wNSAaQQAANgAeMBgQGP
Av8BgQGKAv8BgQGMAv8BgQGLAv8CgQHFAf8CgQHFAf8BgQGNAv8BgQGLAv8BgQGKAv8BgQGNAv8DXwHY
DAADVAGrAYEB6AGTAf8BgQHoAZgB/wGBAe8BpAH/AYEB9AGtAf8BhgH6AbcB/wGBAd8BlQH/AYEB4QGX
Af8BhgH8AbkB/wGBAfQBrQH/AYEB7wGkAf8BgQHnAZgB/wGBAeQBjQH/A0gBhCgAAyABLgKBAZgB/wKB
AdoB/wGBAYwB7wH/Ac0B1wL/A14B7QgAAyMBMwOBAf8BqAKBAv8BuwGWAf8BzQGiAYwB/wHqAa0BjwH/
AeMBrgGSAf8B4QGrAY8C/wHJAa8C/wG8AZsC/wGyAYwB/wGiAoEB/wOBAf8DGwElCAADSQGGAYEBjAL/
AYEBjQL/AYEBkAL/AYEBlQL/AoEBxQb/Af4B/AH/AoEBxgH/AYEBlQL/AYEBjwL/AYEBjAL/AYEBigL/
A0IBdQgAAyABLQGBAcQBgQH/AYEB9gGoAf8BgQH0AawB/wGBAeIBmAH/AYEBoQGBAf8BtAHVAbUB/wGy
AdQBsgH/AYEBnwGBAf8BgQHmAZwB/wGBAfMBqwH/AYEB+AGqAf8BgQGuAYEB/wMMARAoAAMrAfwCgQHb
Af8BgQGMAe8B/wHNAdYC/wNiAe4DDwEUCAADUQGcAYoCgQH/AeABiAGBAf8B9wGnAYEC/wHhAc4B/wHK
AbABpgH/AdsBlgGBAv8BzwGzAv8BvwGfAf8B/AGyAY4B/wH1AaYBgQH/AdgCgQH/AYcCgQH/A0wBjwgA
A2oB+QGBAZMC/wGBAZIC/wGBAZsC/wKBAckB/wH1AfMB9wn/AeoB6wHzAf8CgQHOAf8BgQGZAv8BgQGR
Av8BgQGTAv8DYgHuDAADLgFIAysB/AGBAfgBpwH/AYEBpgGBAf8B6QHbAeMB/wGBAZQBsQH/AYIBlAGy
Af8B6wHcAeUB/wGBAaYBgQH/AYEB9QGlAf8DWgHyAyIBMRQAAxYBHgNLAY0DWgG9A1YBtgNAAXEDNgFX
AoEBsQH/AY0BlwH5Af8BzgHXAv8DYgHuAw8BEwwAAV4CWwHTAZ0CgQH/AccCgQH/AcICgQH/AdwBiwGB
Av8B6wHcAf8B3AHPAckB/wHZAYcBgQL/AbcBkQH/AfUBpgGBAf8BuAKBAf8BzQKBAf8BmgKBAf8DXAHG
BAADIQEvAoEB6AH/AYEBlgL/AYEBnAL/AoEB0gH/AdwB3wHuEf8BzwHUAegB/wKBAdgB/wGBAZsC/wGB
AZQC/wKBAeUB/wMXAR8MAAMGAQcDRgF9A10B6gKBAcQB/wGBAZYB3gH/AYEBlgHeAf8CgQHEAf8DYwHp
A0IBdRgAAz4BagG2AroB/wHRAaMBnQH/AdEBjgGGAf8B0gGSAYoB/wHSAa0BqQH/AZsBoQGeAf8CgQGR
Af8CgQG8Af8DYQHrAw8BFBAAA10B3wGpAoEB/wGzAoEB/wGaAoEB/wG5AoEB/wHxAZoBgQH/AfkB6wHl
Af8CgQHBAf8B2gKBAf8B7gGZAYEB/wGoAoEB/wG/AoEB/wGlAoEB/wFeAlsB0wQAAzIBTwGBAYIB8gH/
AYEBmwL/AoEB3QH/AbwBxgHjGf8BqwG6Ad4B/wKBAeEB/wGBAZkC/wKBAe0B/wMqAT8QAAMDAQQDWgH1
AYYBtwHzAf8BgwG3AfEB/wGEAbcB8gH/AYcBuAH0Af8DYgH2AwYBCBQAAy0BRQG8AroB/wG2AoEB/wHn
AZsBjAL/AcwBvAL/AeYB3QH/Ae0BwwG6Af8BvwKBAf8BmQGdAZsB/wMrAUIYAANcAcMBsAGEAYEB/wHJ
AoEB/wHTAoEB/wHYAoEB/wHfAYoBgQH/AekBiwGBAf8CgQG2Af8CgQGqAf8B3gKBAf8B1QKBAf8BxwKB
Af8BsQGKAYEB/wNWAbYEAAMwAUsBgQGDAfEB/wGBAZoC/wGhAb8B5SH/AZEBtwHlAf8BgQGZAv8CgQHt
Af8DKAE7EAADRgF9AYUBuQH4Af8BiwHCAfcB/wGPAcgB+wH/AZAByAH9Af8BjAHDAfgB/wGHAbwB+gH/
A0cBgBQAA2EB1gG6AoEB/wHVAYQBgQH/Ae4BrAGcAv8B0AHBAv8B7AHoAv8B/AH6Af8B8wHDAbgB/wG+
AZMBkAH/A0kBiBgAA0UBfAHQAcMBvQH/Aa4CgQH/AcYCgQH/AcsCgQH/AdECgQH/AdACgQH/AeUCgQH/
AoEBkwH/AoEBkgH/AcoCgQH/AawCgQH/AcwBxAG/Af8DQAFuBAADGAEgAoEB5QH/AYEBoAL/AYEBvwL/
AYEBwgL/AYkB1hL/AYEB0QL/AYEBwAL/AYEBvAL/AYEBnwL/AoEB4gH/Aw0BERAAA1kBvgGTAcoC/wGZ
Ac8B/gH/AacB1gL/AagB1gL/AZ0B0gH+Af8BlQHNAv8DWQHBEAADBgEIAZEBlAGVAf8BuQKBAf8B0QKB
Af8B6AGiAZQB/wH+AcUBtQL/AdsB0AL/Ad8B1wL/AdYBxwH/AcICgQH/A14B0hgAAwgBCgGYAZ8BowH/
AbQCgQH/AcsCgQH/AcQCgQH/Ab8CgQH/AeMBuQGiAf8B8gHhAdkB/wHOAoEB/wOBAf8BwwKBAf8BuwGG
AYEB/wOAAf4DAgEDCAADYQHmAYEBqgL/AYEBpgL/AYEBrQL/AYEByRL/AYEBwgL/AYEBqgL/AYEBpQL/
AYEBqQL/A2EB1hQAA10BzAGdAdQC/wGvAdkC/wHBAeIC/wHDAeIC/wGyAdsC/wGgAdYC/wNdAc8QAAMQ
ARUBjQGKAYkB/wHFAoEB/wHKAoEB/wHaAY4BgQH/Ae8BqwGbAf8B+wG9Aa4B/wH8AcABsQH/AfcBtwGm
Af8BwAKBAf8DYQHeHAADOgFgAc0B0gHUAf8BsAKBAf8BywKBAf8B2gGLAYEB/wH4AecB3wH/AesBwQGs
Af8B3AGQAYEB/wHPAoEB/wG1AoEB/wHGAcwBzwH/AzMBUgwAAzkBXwGBAZsC/wGBAa8C/wGBAbQC/wGB
AdES/wGBAcoC/wGBAbIC/wGBAa0C/wGBAZUB/AH/AzMBUBQAA1UBrAGrAd8C/wHBAeEC/wHaAe4C/wHd
Ae8C/wHFAeMC/wGxAeEC/wNVAa8UAAGBAYMBhAH/Ab8CgQH/AfAB0AHMAf8BzwKBAf8B1QGFAYEB/wHh
AZgBiwH/AeMBmwGNAf8B4AGTAYYB/wGyAoEB/wNYAbcgAANAAW4BswG6Ab0B/wHaAb4BrwH/AboCgQH/
AbUCgQH/AbcCgQH/AbsCgQH/AdoBwQG0Af8BrQGzAbgB/wM5AV8UAANYAboBgQGyAv8BgQG7Av8BgQHA
Av8BgQHJAv8BgQHRAv8BgQHOAv8BgQHGAv8BgQG9Av8BgQG5Av8BgQGrAv8DUwGpGAADNAFTAZUBygH+
Af8BzAHoAv8B7AH2Av8B8QH4Av8B0QHqAv8BnAHOAv8DNgFXFAADUAGbAaoBgwGBAf8B4QGkAZoF/wHa
AaABmAH/AcoCgQH/AdACgQH/AbYCgQH/AaUBnAGaAf8DMAFMJAADGAEhA1MBqgGWAkAB/QGrAbEBtAH/
AawBswG2Af8DagH5A1MBpgMVARwcAANWAbMBgQGmAfwB/wGBAc0C/wGBAdAC/wGBAdYC/wGBAdQC/wGB
Ac0C/wGBAcsC/wGBAZ8B+AH/A1MBpiAAA1wBywHJAeoC/wHqAfcC/wHsAfoC/wHOAe4C/wNbAc0YAAME
AQUDZQHlAaYCgQH/AcYCgQH/AdcBkQGGAf8BzAKBAf8BtAKBAf8BpgGUAZIB/wNVAawwAANNAZIDxwH/
A6UB/wM0AVMoAAMxAU4DXQHMAYEBggHbAf8BgQGYAeMB/wGBAZcB4wH/AoEB2gH/A1wBxgMtAUQkAAQC
A1EBnwGBAY0BzAH/AYEBjgHMAf8DUgGhAwIBAxwAAwYBCANVAawDgQH/AYgCgQH/AYYCgQH/A0AB/QNG
AX44AAM+AWoDNQFVNAADAgEDAxsBJQMaASQEAWgAAwYBBwMkATQDIAEtJAABQgFNAT4HAAE+AwABKAMA
AUADAAFQAwABAQEAAQEFAAGAAQIWAAP/AQAC/wYAAv8GAAL/BgAB/gF/BgAB/AFfBgAB/AFvBgAB+AEv
BgAB4AEPBgABwQEHBgAB4AEPBgAB+AE/BgAB/AF/BgAB/AF/BgAB/gH/BgAC/wYAAv8GAAL/AfwBfwQA
AucB8AEPBAAB4QGHAeABBwIAAYABAQHgAQcBwAEDAgABgAEBAfABDwGAAQECAAHAAQMB8AEPAYABAQIA
AcABAwHgAQcBAAEBAgAB4AEHAcABAwQAAeABBwGAAQEEAAHwAQ8DAAEBAgAB8AEPAeABBwGAAQECAAH4
AR8B/AE/AYABAQIAAfgBHwH8AT8BwAEDAgAB/AE/Af4BfwHgAQcCAAH8AT8B/gF/AfABDwIAAf4BfwL/
AfwBPwIAAf4BfwH8AR8B/gF/Af4BfwH/AYAB8AEHAfwBPwHwAQ8B/wEAAeABAwH4AR8B4AEHAfwBAAHB
AeEB8AEPAcABAwH4AQABwAHxAeABBwGAAQEB4AEAAYABeAHAAQMBgAEBAYABAAGIATgBgAEBAYADAAGM
ARgGAAGOAQgFAAEBAY8BAAHAAQMBgAIAAQMBxwGBAeABBwGAAQEBAAEPAcMBwQHwAQ8BgAEBAQABHwHg
AQMB+AEfAcABAwHAAT8B8AEHAfwBPwHgAQcBwAE/AfwBHwH+AX8B8AEPAcABfwL/Af4BfwH8AT8E/wHz
Af8BwwH/AYABfwL/AeABfwGBAf8BAAEBAv8B4AEfAYEB/wIAAYABAQHAAQABgQHDAgABgAEBAcABAQKB
AgABgAEBAYABAQHBAYEBgAEAAYABAQGAAQEB8QGBAYABAAGAAQEBAAEBAfEBgQGAAQABgAEBAQABAwHx
AeEBAAEBAYABAQEAAQMC8QIAAYABAQEAAQMB8AEhAgABgAEBAeABAwHwAQECAAGAAQEB8AEBAeABAQMA
AQcB8AEBAeABAQGAAQABAQH/AfABAwH4AQEBwwEAAv8B8AEPAf8BjwH/AQEB/AE/AfwBPwGAAQEB/wHz
AfABDwHgAQ8BgAEBAf8B4QHgAQcBwAEDAYABAQH/AsABAwHAAQMBgAEBAf8BgQGAAQEBgAEBAYABAQH/
AYEBgAEBAYABAQHAAQMB4AEDAYABAQIAAeABDwHAAQcBgAEBAgAB8AEPAYABHwGAAQECAAHwAQ8BgAEf
AYABAQIAAfABDwEAAR8BgAEBAYABAQHwAQ8BAAEfAcABAwGAAQEB8AEPAYABHwHgAQcBwAEDAfABDwGA
AR8B8AEPAeABBwH4AR8BgAE/AfwBPwHwAQ8B+AEfAcABfwH+AX8B/AE/Av8B8QH/Cw==
</value>
</data>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="folderBrowserDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>394, 17</value>
</metadata>
<metadata name="treeRenderer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>574, 17</value>
</metadata>
<metadata name="MenuForm.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>710, 17</value>
</metadata>
</root>
@@ -0,0 +1,567 @@
namespace SuperDesign.Tools.SmartEditor
{
partial class FrmFileBrowser_New {
/// <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()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmFileBrowser_New));
this.imageListSmall = new System.Windows.Forms.ImageList(this.components);
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.BtnUp2 = new System.Windows.Forms.Button();
this.BtnUp = new System.Windows.Forms.Button();
this.BtnGo = new System.Windows.Forms.Button();
this.MenuForm = new System.Windows.Forms.ContextMenuStrip(this.components);
this.重命名ToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog();
this.textBoxFolderPath = new System.Windows.Forms.TextBox();
this.olvFiles = new BrightIdeasSoftware.FastObjectListView();
this.olvColumnName = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.olvColumnModified = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.olvColumnCreated = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.olvColumnSize = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.olvColumnFileType = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
this.复制文件名ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripSeparator();
this.新建文件夹ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.复制ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.剪切ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.粘贴ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.粘贴剪切板文件列表ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.删除文件ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.重命名ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator();
this.在资源管理器中定位该文件ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.上传到FTPToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.MenuDir = new System.Windows.Forms.ContextMenuStrip(this.components);
this.刷新文件夹ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.在资源管理器中打开该文件夹ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.资源管理器菜单ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.TreeDir = new System.Windows.Forms.TreeView();
this.panel1 = new System.Windows.Forms.Panel();
this.CbbMatch = new ryControls.RyComboBox();
this.TxtSearch = new ryControls.TextBoxEx2();
this.MenuDirHistory = new System.Windows.Forms.ContextMenuStrip(this.components);
this.fileSystemWatcher1 = new System.IO.FileSystemWatcher();
this.复制文件到其它站点同位置ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.MenuForm.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.olvFiles)).BeginInit();
this.contextMenuStrip1.SuspendLayout();
this.MenuDir.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.panel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.fileSystemWatcher1)).BeginInit();
this.SuspendLayout();
//
// imageListSmall
//
this.imageListSmall.ColorDepth = System.Windows.Forms.ColorDepth.Depth32Bit;
this.imageListSmall.ImageSize = new System.Drawing.Size(16, 16);
this.imageListSmall.TransparentColor = System.Drawing.Color.Transparent;
//
// BtnUp2
//
this.BtnUp2.Image = ((System.Drawing.Image)(resources.GetObject("BtnUp2.Image")));
this.BtnUp2.Location = new System.Drawing.Point(0, 0);
this.BtnUp2.Name = "BtnUp2";
this.BtnUp2.Size = new System.Drawing.Size(27, 25);
this.BtnUp2.TabIndex = 0;
this.toolTip1.SetToolTip(this.BtnUp2, "上一级文件夹");
this.BtnUp2.UseVisualStyleBackColor = true;
this.BtnUp2.Click += new System.EventHandler(this.BtnUp_Click);
//
// BtnUp
//
this.BtnUp.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.BtnUp.Image = ((System.Drawing.Image)(resources.GetObject("BtnUp.Image")));
this.BtnUp.Location = new System.Drawing.Point(363, -1);
this.BtnUp.Name = "BtnUp";
this.BtnUp.Size = new System.Drawing.Size(27, 25);
this.BtnUp.TabIndex = 2;
this.toolTip1.SetToolTip(this.BtnUp, "上一级文件夹");
this.BtnUp.UseVisualStyleBackColor = true;
this.BtnUp.Click += new System.EventHandler(this.BtnUp_Click);
//
// BtnGo
//
this.BtnGo.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.BtnGo.Image = ((System.Drawing.Image)(resources.GetObject("BtnGo.Image")));
this.BtnGo.Location = new System.Drawing.Point(336, -1);
this.BtnGo.Name = "BtnGo";
this.BtnGo.Size = new System.Drawing.Size(27, 25);
this.BtnGo.TabIndex = 1;
this.toolTip1.SetToolTip(this.BtnGo, "到达目录");
this.BtnGo.UseVisualStyleBackColor = true;
this.BtnGo.Click += new System.EventHandler(this.BtnGo_Click);
this.BtnGo.MouseDown += new System.Windows.Forms.MouseEventHandler(this.BtnGo_MouseDown);
//
// MenuForm
//
this.MenuForm.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.重命名ToolStripMenuItem1});
this.MenuForm.Name = "MenuForm";
this.MenuForm.Size = new System.Drawing.Size(113, 26);
//
// 重命名ToolStripMenuItem1
//
this.重命名ToolStripMenuItem1.Name = "重命名ToolStripMenuItem1";
this.重命名ToolStripMenuItem1.Size = new System.Drawing.Size(112, 22);
this.重命名ToolStripMenuItem1.Text = "重命名";
this.重命名ToolStripMenuItem1.Click += new System.EventHandler(this.重命名ToolStripMenuItem1_Click);
//
// folderBrowserDialog1
//
this.folderBrowserDialog1.Description = "请选择文件夹位置";
//
// textBoxFolderPath
//
this.textBoxFolderPath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.textBoxFolderPath.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest;
this.textBoxFolderPath.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.FileSystemDirectories;
this.textBoxFolderPath.Location = new System.Drawing.Point(2, 2);
this.textBoxFolderPath.Name = "textBoxFolderPath";
this.textBoxFolderPath.Size = new System.Drawing.Size(335, 21);
this.textBoxFolderPath.TabIndex = 0;
this.textBoxFolderPath.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TextBoxFolderPath_KeyDown);
this.textBoxFolderPath.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.textBoxFolderPath_MouseDoubleClick);
//
// olvFiles
//
this.olvFiles.AllColumns.Add(this.olvColumnName);
this.olvFiles.AllColumns.Add(this.olvColumnModified);
this.olvFiles.AllColumns.Add(this.olvColumnCreated);
this.olvFiles.AllColumns.Add(this.olvColumnSize);
this.olvFiles.AllColumns.Add(this.olvColumnFileType);
this.olvFiles.AllowColumnReorder = true;
this.olvFiles.AllowDrop = true;
this.olvFiles.CellEditActivation = BrightIdeasSoftware.ObjectListView.CellEditActivateMode.SingleClick;
this.olvFiles.CellEditEnterChangesRows = true;
this.olvFiles.CellEditUseWholeCell = false;
this.olvFiles.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.olvColumnName,
this.olvColumnModified,
this.olvColumnCreated,
this.olvColumnSize,
this.olvColumnFileType});
this.olvFiles.ContextMenuStrip = this.contextMenuStrip1;
this.olvFiles.CopySelectionOnControlC = false;
this.olvFiles.Cursor = System.Windows.Forms.Cursors.Default;
this.olvFiles.Dock = System.Windows.Forms.DockStyle.Fill;
this.olvFiles.EmptyListMsg = "空文件夹";
this.olvFiles.EmptyListMsgFont = new System.Drawing.Font("Comic Sans MS", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.olvFiles.FullRowSelect = true;
this.olvFiles.HideSelection = false;
this.olvFiles.IsSearchOnSortColumn = false;
this.olvFiles.LargeImageList = this.imageListSmall;
this.olvFiles.Location = new System.Drawing.Point(0, 26);
this.olvFiles.Name = "olvFiles";
this.olvFiles.SelectColumnsOnRightClickBehaviour = BrightIdeasSoftware.ObjectListView.ColumnSelectBehaviour.Submenu;
this.olvFiles.ShowCommandMenuOnRightClick = true;
this.olvFiles.ShowGroups = false;
this.olvFiles.ShowItemToolTips = true;
this.olvFiles.Size = new System.Drawing.Size(388, 344);
this.olvFiles.SmallImageList = this.imageListSmall;
this.olvFiles.StateImageList = this.imageListSmall;
this.olvFiles.TabIndex = 1;
this.olvFiles.UseCompatibleStateImageBehavior = false;
this.olvFiles.UseFilterIndicator = true;
this.olvFiles.UseFiltering = true;
this.olvFiles.View = System.Windows.Forms.View.Details;
this.olvFiles.VirtualMode = true;
this.olvFiles.CellEditFinished += new BrightIdeasSoftware.CellEditEventHandler(this.OlvFiles_CellEditFinished);
this.olvFiles.KeyDown += new System.Windows.Forms.KeyEventHandler(this.OlvFiles_KeyDown);
this.olvFiles.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.OlvFiles_MouseDoubleClick);
//
// olvColumnName
//
this.olvColumnName.AspectName = "Name";
this.olvColumnName.ButtonPadding = new System.Drawing.Size(10, 10);
this.olvColumnName.IsEditable = true;
this.olvColumnName.IsTileViewColumn = true;
this.olvColumnName.Text = "文件名";
this.olvColumnName.UseInitialLetterForGroup = true;
this.olvColumnName.Width = 180;
//
// olvColumnModified
//
this.olvColumnModified.AspectName = "LastWriteTime";
this.olvColumnModified.ButtonPadding = new System.Drawing.Size(10, 10);
this.olvColumnModified.IsTileViewColumn = true;
this.olvColumnModified.Text = "修改时间";
this.olvColumnModified.UseFiltering = false;
this.olvColumnModified.Width = 127;
//
// olvColumnCreated
//
this.olvColumnCreated.AspectName = "CreationTime";
this.olvColumnCreated.ButtonPadding = new System.Drawing.Size(10, 10);
this.olvColumnCreated.DisplayIndex = 4;
this.olvColumnCreated.Text = "创建时间";
this.olvColumnCreated.UseFiltering = false;
this.olvColumnCreated.Width = 131;
//
// olvColumnSize
//
this.olvColumnSize.AspectName = "Extension";
this.olvColumnSize.ButtonPadding = new System.Drawing.Size(10, 10);
this.olvColumnSize.DisplayIndex = 2;
this.olvColumnSize.HeaderTextAlign = System.Windows.Forms.HorizontalAlignment.Right;
this.olvColumnSize.Text = "大小";
this.olvColumnSize.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
this.olvColumnSize.UseFiltering = false;
this.olvColumnSize.Width = 80;
//
// olvColumnFileType
//
this.olvColumnFileType.ButtonPadding = new System.Drawing.Size(10, 10);
this.olvColumnFileType.DisplayIndex = 3;
this.olvColumnFileType.IsTileViewColumn = true;
this.olvColumnFileType.Text = "文件类型";
this.olvColumnFileType.UseFiltering = false;
this.olvColumnFileType.Width = 148;
//
// contextMenuStrip1
//
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.复制文件名ToolStripMenuItem,
this.toolStripMenuItem2,
this.新建文件夹ToolStripMenuItem,
this.复制ToolStripMenuItem,
this.剪切ToolStripMenuItem,
this.粘贴ToolStripMenuItem,
this.粘贴剪切板文件列表ToolStripMenuItem,
this.删除文件ToolStripMenuItem,
this.重命名ToolStripMenuItem,
this.toolStripMenuItem1,
this.在资源管理器中定位该文件ToolStripMenuItem,
this.复制文件到其它站点同位置ToolStripMenuItem,
this.上传到FTPToolStripMenuItem});
this.contextMenuStrip1.Name = "contextMenuStrip1";
this.contextMenuStrip1.Size = new System.Drawing.Size(221, 280);
this.contextMenuStrip1.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStrip1_Opening);
//
// 复制文件名ToolStripMenuItem
//
this.复制文件名ToolStripMenuItem.Name = "复制文件名ToolStripMenuItem";
this.复制文件名ToolStripMenuItem.Size = new System.Drawing.Size(220, 22);
this.复制文件名ToolStripMenuItem.Text = "复制文件名";
this.复制文件名ToolStripMenuItem.Click += new System.EventHandler(this.复制文件名ToolStripMenuItem_Click);
//
// toolStripMenuItem2
//
this.toolStripMenuItem2.Name = "toolStripMenuItem2";
this.toolStripMenuItem2.Size = new System.Drawing.Size(217, 6);
//
// 新建文件夹ToolStripMenuItem
//
this.新建文件夹ToolStripMenuItem.Name = "新建文件夹ToolStripMenuItem";
this.新建文件夹ToolStripMenuItem.Size = new System.Drawing.Size(220, 22);
this.新建文件夹ToolStripMenuItem.Text = "新建文件夹";
this.新建文件夹ToolStripMenuItem.Click += new System.EventHandler(this.新建文件夹ToolStripMenuItem_Click);
//
// 复制ToolStripMenuItem
//
this.复制ToolStripMenuItem.Name = "复制ToolStripMenuItem";
this.复制ToolStripMenuItem.Size = new System.Drawing.Size(220, 22);
this.复制ToolStripMenuItem.Text = "复制";
this.复制ToolStripMenuItem.Click += new System.EventHandler(this.复制ToolStripMenuItem_Click);
//
// 剪切ToolStripMenuItem
//
this.剪切ToolStripMenuItem.Name = "剪切ToolStripMenuItem";
this.剪切ToolStripMenuItem.Size = new System.Drawing.Size(220, 22);
this.剪切ToolStripMenuItem.Text = "剪切";
this.剪切ToolStripMenuItem.Click += new System.EventHandler(this.剪切ToolStripMenuItem_Click);
//
// 粘贴ToolStripMenuItem
//
this.粘贴ToolStripMenuItem.Name = "粘贴ToolStripMenuItem";
this.粘贴ToolStripMenuItem.Size = new System.Drawing.Size(220, 22);
this.粘贴ToolStripMenuItem.Text = "粘贴";
this.粘贴ToolStripMenuItem.Visible = false;
this.粘贴ToolStripMenuItem.Click += new System.EventHandler(this.粘贴ToolStripMenuItem_Click);
//
// 粘贴剪切板文件列表ToolStripMenuItem
//
this.粘贴剪切板文件列表ToolStripMenuItem.Name = "粘贴剪切板文件列表ToolStripMenuItem";
this.粘贴剪切板文件列表ToolStripMenuItem.Size = new System.Drawing.Size(220, 22);
this.粘贴剪切板文件列表ToolStripMenuItem.Text = "粘贴";
this.粘贴剪切板文件列表ToolStripMenuItem.Click += new System.EventHandler(this.粘贴剪切板文件列表ToolStripMenuItem_Click);
//
// 删除文件ToolStripMenuItem
//
this.删除文件ToolStripMenuItem.Name = "删除文件ToolStripMenuItem";
this.删除文件ToolStripMenuItem.Size = new System.Drawing.Size(220, 22);
this.删除文件ToolStripMenuItem.Text = "删除文件";
this.删除文件ToolStripMenuItem.Click += new System.EventHandler(this.删除文件ToolStripMenuItem_Click);
//
// 重命名ToolStripMenuItem
//
this.重命名ToolStripMenuItem.Name = "重命名ToolStripMenuItem";
this.重命名ToolStripMenuItem.Size = new System.Drawing.Size(220, 22);
this.重命名ToolStripMenuItem.Text = "重命名";
this.重命名ToolStripMenuItem.Click += new System.EventHandler(this.重命名ToolStripMenuItem_Click);
//
// toolStripMenuItem1
//
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
this.toolStripMenuItem1.Size = new System.Drawing.Size(217, 6);
//
// 在资源管理器中定位该文件ToolStripMenuItem
//
this.在资源管理器中定位该文件ToolStripMenuItem.Name = "在资源管理器中定位该文件ToolStripMenuItem";
this.在资源管理器中定位该文件ToolStripMenuItem.Size = new System.Drawing.Size(220, 22);
this.在资源管理器中定位该文件ToolStripMenuItem.Text = "在资源管理器中定位该文件";
this.在资源管理器中定位该文件ToolStripMenuItem.Click += new System.EventHandler(this.在资源管理器中定位该文件ToolStripMenuItem_Click);
//
// 上传到FTPToolStripMenuItem
//
this.上传到FTPToolStripMenuItem.Name = "上传到FTPToolStripMenuItem";
this.上传到FTPToolStripMenuItem.Size = new System.Drawing.Size(220, 22);
this.上传到FTPToolStripMenuItem.Text = "上传到FTP";
this.上传到FTPToolStripMenuItem.Click += new System.EventHandler(this.上传到FTPToolStripMenuItem_Click);
//
// MenuDir
//
this.MenuDir.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.刷新文件夹ToolStripMenuItem,
this.在资源管理器中打开该文件夹ToolStripMenuItem,
this.资源管理器菜单ToolStripMenuItem});
this.MenuDir.Name = "MenuDir";
this.MenuDir.Size = new System.Drawing.Size(233, 70);
//
// 刷新文件夹ToolStripMenuItem
//
this.刷新文件夹ToolStripMenuItem.Name = "刷新文件夹ToolStripMenuItem";
this.刷新文件夹ToolStripMenuItem.Size = new System.Drawing.Size(232, 22);
this.刷新文件夹ToolStripMenuItem.Text = "刷新文件夹";
this.刷新文件夹ToolStripMenuItem.Click += new System.EventHandler(this.刷新文件夹ToolStripMenuItem_Click);
//
// 在资源管理器中打开该文件夹ToolStripMenuItem
//
this.在资源管理器中打开该文件夹ToolStripMenuItem.Name = "在资源管理器中打开该文件夹ToolStripMenuItem";
this.在资源管理器中打开该文件夹ToolStripMenuItem.Size = new System.Drawing.Size(232, 22);
this.在资源管理器中打开该文件夹ToolStripMenuItem.Text = "在资源管理器中打开该文件夹";
this.在资源管理器中打开该文件夹ToolStripMenuItem.Click += new System.EventHandler(this.在资源管理器中打开该文件夹ToolStripMenuItem_Click);
//
// 资源管理器菜单ToolStripMenuItem
//
this.资源管理器菜单ToolStripMenuItem.Name = "资源管理器菜单ToolStripMenuItem";
this.资源管理器菜单ToolStripMenuItem.Size = new System.Drawing.Size(232, 22);
this.资源管理器菜单ToolStripMenuItem.Text = "资源管理器菜单";
this.资源管理器菜单ToolStripMenuItem.Click += new System.EventHandler(this.资源管理器菜单ToolStripMenuItem_Click);
//
// splitContainer1
//
this.splitContainer1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.splitContainer1.Location = new System.Drawing.Point(2, 25);
this.splitContainer1.Name = "splitContainer1";
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.TreeDir);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.olvFiles);
this.splitContainer1.Panel2.Controls.Add(this.panel1);
this.splitContainer1.Size = new System.Drawing.Size(388, 654);
this.splitContainer1.SplitterDistance = 280;
this.splitContainer1.TabIndex = 93;
//
// TreeDir
//
this.TreeDir.ContextMenuStrip = this.MenuDir;
this.TreeDir.Dock = System.Windows.Forms.DockStyle.Fill;
this.TreeDir.HideSelection = false;
this.TreeDir.ImageIndex = 0;
this.TreeDir.ImageList = this.imageListSmall;
this.TreeDir.Location = new System.Drawing.Point(0, 0);
this.TreeDir.Name = "TreeDir";
this.TreeDir.SelectedImageIndex = 0;
this.TreeDir.Size = new System.Drawing.Size(388, 280);
this.TreeDir.TabIndex = 0;
this.TreeDir.MouseDown += new System.Windows.Forms.MouseEventHandler(this.TreeDir_MouseDown);
//
// panel1
//
this.panel1.Controls.Add(this.BtnUp2);
this.panel1.Controls.Add(this.CbbMatch);
this.panel1.Controls.Add(this.TxtSearch);
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(388, 26);
this.panel1.TabIndex = 89;
//
// CbbMatch
//
this.CbbMatch.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.CbbMatch.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
this.CbbMatch.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.CbbMatch.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.CbbMatch.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.CbbMatch.FormattingEnabled = true;
this.CbbMatch.Items.AddRange(new object[] {
"任意文本",
"前缀",
"正则表达式"});
this.CbbMatch.Location = new System.Drawing.Point(290, 1);
this.CbbMatch.MaxUndoRedoSteps = 50;
this.CbbMatch.Name = "CbbMatch";
this.CbbMatch.Size = new System.Drawing.Size(94, 24);
this.CbbMatch.TabIndex = 2;
this.CbbMatch.SelectedIndexChanged += new System.EventHandler(this.CbbMatch_SelectedIndexChanged);
//
// TxtSearch
//
this.TxtSearch.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.TxtSearch.BackColor = System.Drawing.Color.White;
this.TxtSearch.EmptyText = "请输入搜索内容";
this.TxtSearch.ImeMode = System.Windows.Forms.ImeMode.Close;
this.TxtSearch.Location = new System.Drawing.Point(28, 1);
this.TxtSearch.LongTime = 2000;
this.TxtSearch.MaxLength = 999999999;
this.TxtSearch.MaxUndoRedoSteps = 50;
this.TxtSearch.Multiline = false;
this.TxtSearch.Name = "TxtSearch";
this.TxtSearch.OnlyNumeric = false;
this.TxtSearch.PasswordChar = '\0';
this.TxtSearch.ReadOnly = false;
this.TxtSearch.SelectedText = "";
this.TxtSearch.SelectionLength = 0;
this.TxtSearch.SelectionStart = 0;
this.TxtSearch.Size = new System.Drawing.Size(256, 24);
this.TxtSearch.TabIndex = 1;
this.TxtSearch.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
this.TxtSearch.ToolTip = "";
this.TxtSearch.WordWrap = true;
this.TxtSearch.TextChanged2 += new System.EventHandler(this.TxtSearch_TextChanged2);
//
// MenuDirHistory
//
this.MenuDirHistory.Name = "MenuDirHistory";
this.MenuDirHistory.Size = new System.Drawing.Size(61, 4);
//
// fileSystemWatcher1
//
this.fileSystemWatcher1.EnableRaisingEvents = true;
this.fileSystemWatcher1.SynchronizingObject = this;
this.fileSystemWatcher1.Changed += new System.IO.FileSystemEventHandler(this.FileSystemWatcher1_Changed);
this.fileSystemWatcher1.Created += new System.IO.FileSystemEventHandler(this.FileSystemWatcher1_Created);
this.fileSystemWatcher1.Deleted += new System.IO.FileSystemEventHandler(this.FileSystemWatcher1_Deleted);
this.fileSystemWatcher1.Renamed += new System.IO.RenamedEventHandler(this.FileSystemWatcher1_Renamed);
//
// 复制文件到其它站点同位置ToolStripMenuItem
//
this.复制文件到其它站点同位置ToolStripMenuItem.Name = "复制文件到其它站点同位置ToolStripMenuItem";
this.复制文件到其它站点同位置ToolStripMenuItem.Size = new System.Drawing.Size(220, 22);
this.复制文件到其它站点同位置ToolStripMenuItem.Text = "复制文件到其它站点同位置";
this.复制文件到其它站点同位置ToolStripMenuItem.Click += new System.EventHandler(this.复制文件到其它站点同位置ToolStripMenuItem_Click);
//
// FrmFileBrowser_New
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(390, 681);
this.Controls.Add(this.splitContainer1);
this.Controls.Add(this.BtnUp);
this.Controls.Add(this.BtnGo);
this.Controls.Add(this.textBoxFolderPath);
this.Name = "FrmFileBrowser_New";
this.TabPageContextMenuStrip = this.MenuForm;
this.Text = "文件浏览";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FrmFileBrowser_FormClosing);
this.Load += new System.EventHandler(this.FrmFileBrowser_Load);
this.Shown += new System.EventHandler(this.FrmFileBrowser_New_Shown);
this.MenuForm.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.olvFiles)).EndInit();
this.contextMenuStrip1.ResumeLayout(false);
this.MenuDir.ResumeLayout(false);
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.panel1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.fileSystemWatcher1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.ToolTip toolTip1;
private System.Windows.Forms.ImageList imageListSmall;
private System.Windows.Forms.ContextMenuStrip MenuForm;
private System.Windows.Forms.ToolStripMenuItem 重命名ToolStripMenuItem1;
private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog1;
private BrightIdeasSoftware.OLVColumn olvColumnName;
private BrightIdeasSoftware.OLVColumn olvColumnCreated;
private BrightIdeasSoftware.OLVColumn olvColumnModified;
private BrightIdeasSoftware.OLVColumn olvColumnSize;
private BrightIdeasSoftware.OLVColumn olvColumnFileType;
private System.Windows.Forms.Button BtnGo;
private System.Windows.Forms.Button BtnUp;
public BrightIdeasSoftware.FastObjectListView olvFiles;
public System.Windows.Forms.TextBox textBoxFolderPath;
private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;
private System.Windows.Forms.ToolStripMenuItem 在资源管理器中定位该文件ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 上传到FTPToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 复制文件名ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 重命名ToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem 删除文件ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 新建文件夹ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 复制ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 剪切ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 粘贴ToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem2;
private System.Windows.Forms.ContextMenuStrip MenuDir;
private System.Windows.Forms.ToolStripMenuItem 刷新文件夹ToolStripMenuItem;
public System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.TreeView TreeDir;
private System.Windows.Forms.ToolStripMenuItem 在资源管理器中打开该文件夹ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 资源管理器菜单ToolStripMenuItem;
private System.Windows.Forms.Panel panel1;
private ryControls.RyComboBox CbbMatch;
private ryControls.TextBoxEx2 TxtSearch;
private System.Windows.Forms.Button BtnUp2;
private System.Windows.Forms.ContextMenuStrip MenuDirHistory;
private System.Windows.Forms.ToolStripMenuItem 粘贴剪切板文件列表ToolStripMenuItem;
private System.IO.FileSystemWatcher fileSystemWatcher1;
private System.Windows.Forms.ToolStripMenuItem 复制文件到其它站点同位置ToolStripMenuItem;
}
}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,166 @@
<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="imageListSmall.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>112, 24</value>
</metadata>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="BtnUp2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAGJJREFUOE9j
YKAl4JgpUw/C6OJEAajm/1BMmiFomkkzBIdm4gwhoBm/IRzTZRywKMaOp8s4oOsHA7AhEIOwuaQeJo+u
DwPgMgBdHU4wagAVDOCaLWfMMUtmPzIGiaGrowoAADE2j/t7QpzAAAAAAElFTkSuQmCC
</value>
</data>
<data name="BtnUp.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAGJJREFUOE9j
YKAl4JgpUw/C6OJEAajm/1BMmiFomkkzBIdm4gwhoBm/IRzTZRywKMaOp8s4oOsHA7AhEIOwuaQeJo+u
DwPgMgBdHU4wagAVDOCaLWfMMUtmPzIGiaGrowoAADE2j/t7QpzAAAAAAElFTkSuQmCC
</value>
</data>
<data name="BtnGo.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAYAAAAWGF8bAAAABGdBTUEAALGPC/xhBQAAAGtJREFUOE/V
z7ENgDAMRNFUKJ4BwwAsyRrcCsxCyT6gWALJVF90+ZKrvCtSShdV+Wryq12Vn8M2L39MigyISZEBMSky
ICZFBsSkTNP+DEzj8X1vEfNGMDER+Q4xEYHERAQSExFITEQgMX10A03vqTVSBN7nAAAAAElFTkSuQmCC
</value>
</data>
<metadata name="MenuForm.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>569, 15</value>
</metadata>
<metadata name="folderBrowserDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>252, 24</value>
</metadata>
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>433, 21</value>
</metadata>
<metadata name="MenuDir.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>686, 15</value>
</metadata>
<metadata name="MenuDirHistory.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>789, 15</value>
</metadata>
<metadata name="fileSystemWatcher1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>935, 15</value>
</metadata>
</root>
+296
View File
@@ -0,0 +1,296 @@
namespace 开发辅助工具.Tools.SmartEditor
{
partial class FrmFileEditor
{
/// <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()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmFileEditor));
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
this.关闭本标签ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.除此之外全部关闭ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.关闭左边全部标签ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.关闭右边全部标签ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator();
this.收藏该文件ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripSeparator();
this.在资源管理器中定位该文件ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.在工作区定位当前文件ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.打开其它站点文件ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.编辑FTP上的对应文件ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.比对FTP上的对应文件ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripSeparator();
this.复制路径ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.复制文件名ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.复制所在文件夹路径ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripSeparator();
this.查看历史记录ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.文件信息ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.highlightEditor1 = new ryControls.HighlightEditor();
this.比对文本1ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.比对文本2ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem5 = new System.Windows.Forms.ToolStripSeparator();
this.contextMenuStrip1.SuspendLayout();
this.SuspendLayout();
//
// contextMenuStrip1
//
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.关闭本标签ToolStripMenuItem,
this.除此之外全部关闭ToolStripMenuItem,
this.关闭左边全部标签ToolStripMenuItem,
this.关闭右边全部标签ToolStripMenuItem,
this.toolStripMenuItem1,
this.收藏该文件ToolStripMenuItem,
this.toolStripMenuItem2,
this.在资源管理器中定位该文件ToolStripMenuItem,
this.在工作区定位当前文件ToolStripMenuItem,
this.打开其它站点文件ToolStripMenuItem,
this.编辑FTP上的对应文件ToolStripMenuItem,
this.比对FTP上的对应文件ToolStripMenuItem,
this.toolStripMenuItem5,
this.比对文本1ToolStripMenuItem,
this.比对文本2ToolStripMenuItem,
this.toolStripMenuItem4,
this.复制路径ToolStripMenuItem,
this.复制文件名ToolStripMenuItem,
this.复制所在文件夹路径ToolStripMenuItem,
this.toolStripMenuItem3,
this.查看历史记录ToolStripMenuItem,
this.文件信息ToolStripMenuItem});
this.contextMenuStrip1.Name = "contextMenuStrip1";
this.contextMenuStrip1.Size = new System.Drawing.Size(281, 430);
this.contextMenuStrip1.Opening += new System.ComponentModel.CancelEventHandler(this.ContextMenuStrip1_Opening);
//
// 关闭本标签ToolStripMenuItem
//
this.关闭本标签ToolStripMenuItem.Name = "关闭本标签ToolStripMenuItem";
this.关闭本标签ToolStripMenuItem.Size = new System.Drawing.Size(280, 22);
this.关闭本标签ToolStripMenuItem.Text = "关闭本标签";
this.关闭本标签ToolStripMenuItem.Click += new System.EventHandler(this.关闭本标签ToolStripMenuItem_Click);
//
// 除此之外全部关闭ToolStripMenuItem
//
this.除此之外全部关闭ToolStripMenuItem.Name = "除此之外全部关闭ToolStripMenuItem";
this.除此之外全部关闭ToolStripMenuItem.Size = new System.Drawing.Size(280, 22);
this.除此之外全部关闭ToolStripMenuItem.Text = "除此之外全部关闭";
this.除此之外全部关闭ToolStripMenuItem.Click += new System.EventHandler(this.除此之外全部关闭ToolStripMenuItem_Click);
//
// 关闭左边全部标签ToolStripMenuItem
//
this.关闭左边全部标签ToolStripMenuItem.Name = "关闭左边全部标签ToolStripMenuItem";
this.关闭左边全部标签ToolStripMenuItem.Size = new System.Drawing.Size(280, 22);
this.关闭左边全部标签ToolStripMenuItem.Text = "关闭左边全部标签";
this.关闭左边全部标签ToolStripMenuItem.Click += new System.EventHandler(this.关闭左边全部标签ToolStripMenuItem_Click);
//
// 关闭右边全部标签ToolStripMenuItem
//
this.关闭右边全部标签ToolStripMenuItem.Name = "关闭右边全部标签ToolStripMenuItem";
this.关闭右边全部标签ToolStripMenuItem.Size = new System.Drawing.Size(280, 22);
this.关闭右边全部标签ToolStripMenuItem.Text = "关闭右边全部标签";
this.关闭右边全部标签ToolStripMenuItem.Click += new System.EventHandler(this.关闭右边全部标签ToolStripMenuItem_Click);
//
// toolStripMenuItem1
//
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
this.toolStripMenuItem1.Size = new System.Drawing.Size(277, 6);
//
// 收藏该文件ToolStripMenuItem
//
this.收藏该文件ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("收藏该文件ToolStripMenuItem.Image")));
this.收藏该文件ToolStripMenuItem.Name = "收藏该文件ToolStripMenuItem";
this.收藏该文件ToolStripMenuItem.Size = new System.Drawing.Size(280, 22);
this.收藏该文件ToolStripMenuItem.Text = "收藏该文件";
this.收藏该文件ToolStripMenuItem.Click += new System.EventHandler(this.收藏该文件ToolStripMenuItem_Click);
//
// toolStripMenuItem2
//
this.toolStripMenuItem2.Name = "toolStripMenuItem2";
this.toolStripMenuItem2.Size = new System.Drawing.Size(277, 6);
//
// 在资源管理器中定位该文件ToolStripMenuItem
//
this.在资源管理器中定位该文件ToolStripMenuItem.Name = "在资源管理器中定位该文件ToolStripMenuItem";
this.在资源管理器中定位该文件ToolStripMenuItem.Size = new System.Drawing.Size(280, 22);
this.在资源管理器中定位该文件ToolStripMenuItem.Text = "在资源管理器中定位该文件";
this.在资源管理器中定位该文件ToolStripMenuItem.Click += new System.EventHandler(this.在资源管理器中定位该文件ToolStripMenuItem_Click);
//
// 在工作区定位当前文件ToolStripMenuItem
//
this.在工作区定位当前文件ToolStripMenuItem.Name = "在工作区定位当前文件ToolStripMenuItem";
this.在工作区定位当前文件ToolStripMenuItem.Size = new System.Drawing.Size(280, 22);
this.在工作区定位当前文件ToolStripMenuItem.Text = "在工作区或文件浏览器中定位当前文件";
this.在工作区定位当前文件ToolStripMenuItem.Click += new System.EventHandler(this.在工作区定位当前文件ToolStripMenuItem_Click);
//
// 打开其它站点文件ToolStripMenuItem
//
this.打开其它站点文件ToolStripMenuItem.Name = "打开其它站点文件ToolStripMenuItem";
this.打开其它站点文件ToolStripMenuItem.Size = new System.Drawing.Size(280, 22);
this.打开其它站点文件ToolStripMenuItem.Text = "打开其它站点文件";
this.打开其它站点文件ToolStripMenuItem.Click += new System.EventHandler(this.打开其它站点文件ToolStripMenuItem_Click);
//
// 编辑FTP上的对应文件ToolStripMenuItem
//
this.编辑FTP上的对应文件ToolStripMenuItem.Name = "编辑FTP上的对应文件ToolStripMenuItem";
this.编辑FTP上的对应文件ToolStripMenuItem.Size = new System.Drawing.Size(280, 22);
this.编辑FTP上的对应文件ToolStripMenuItem.Text = "编辑FTP上的对应文件";
this.编辑FTP上的对应文件ToolStripMenuItem.Click += new System.EventHandler(this.编辑FTP上的对应文件ToolStripMenuItem_Click);
//
// 比对FTP上的对应文件ToolStripMenuItem
//
this.比对FTP上的对应文件ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("比对FTP上的对应文件ToolStripMenuItem.Image")));
this.比对FTP上的对应文件ToolStripMenuItem.Name = "比对FTP上的对应文件ToolStripMenuItem";
this.比对FTP上的对应文件ToolStripMenuItem.Size = new System.Drawing.Size(280, 22);
this.比对FTP上的对应文件ToolStripMenuItem.Text = "比对FTP上的对应文件";
this.比对FTP上的对应文件ToolStripMenuItem.Click += new System.EventHandler(this.比对FTP上的对应文件ToolStripMenuItem_Click);
//
// toolStripMenuItem4
//
this.toolStripMenuItem4.Name = "toolStripMenuItem4";
this.toolStripMenuItem4.Size = new System.Drawing.Size(277, 6);
//
// 复制路径ToolStripMenuItem
//
this.复制路径ToolStripMenuItem.Name = "复制路径ToolStripMenuItem";
this.复制路径ToolStripMenuItem.Size = new System.Drawing.Size(280, 22);
this.复制路径ToolStripMenuItem.Text = "复制完整路径";
this.复制路径ToolStripMenuItem.Click += new System.EventHandler(this.复制路径ToolStripMenuItem_Click);
//
// 复制文件名ToolStripMenuItem
//
this.复制文件名ToolStripMenuItem.Name = "复制文件名ToolStripMenuItem";
this.复制文件名ToolStripMenuItem.Size = new System.Drawing.Size(280, 22);
this.复制文件名ToolStripMenuItem.Text = "复制文件名";
this.复制文件名ToolStripMenuItem.Click += new System.EventHandler(this.复制文件名ToolStripMenuItem_Click);
//
// 复制所在文件夹路径ToolStripMenuItem
//
this.复制所在文件夹路径ToolStripMenuItem.Name = "复制所在文件夹路径ToolStripMenuItem";
this.复制所在文件夹路径ToolStripMenuItem.Size = new System.Drawing.Size(280, 22);
this.复制所在文件夹路径ToolStripMenuItem.Text = "复制所在文件夹路径";
this.复制所在文件夹路径ToolStripMenuItem.Click += new System.EventHandler(this.复制所在文件夹路径ToolStripMenuItem_Click);
//
// toolStripMenuItem3
//
this.toolStripMenuItem3.Name = "toolStripMenuItem3";
this.toolStripMenuItem3.Size = new System.Drawing.Size(277, 6);
//
// 查看历史记录ToolStripMenuItem
//
this.查看历史记录ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("查看历史记录ToolStripMenuItem.Image")));
this.查看历史记录ToolStripMenuItem.Name = "查看历史记录ToolStripMenuItem";
this.查看历史记录ToolStripMenuItem.Size = new System.Drawing.Size(280, 22);
this.查看历史记录ToolStripMenuItem.Text = "查看历史记录";
this.查看历史记录ToolStripMenuItem.Click += new System.EventHandler(this.查看历史记录ToolStripMenuItem_Click);
//
// 文件信息ToolStripMenuItem
//
this.文件信息ToolStripMenuItem.Name = "文件信息ToolStripMenuItem";
this.文件信息ToolStripMenuItem.Size = new System.Drawing.Size(280, 22);
this.文件信息ToolStripMenuItem.Text = "文件信息";
this.文件信息ToolStripMenuItem.Click += new System.EventHandler(this.文件信息ToolStripMenuItem_Click);
//
// highlightEditor1
//
this.highlightEditor1.AutoMark = true;
this.highlightEditor1.CurHighliteLang = VPKSoft.ScintillaLexers.LexerEnumerations.LexerType.Text;
this.highlightEditor1.Dock = System.Windows.Forms.DockStyle.Fill;
this.highlightEditor1.Font = new System.Drawing.Font("Consolas", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.highlightEditor1.LineNumberOn = true;
this.highlightEditor1.Location = new System.Drawing.Point(0, 0);
this.highlightEditor1.Name = "highlightEditor1";
this.highlightEditor1.ReadOnly = false;
this.highlightEditor1.SelectedText = "";
this.highlightEditor1.Size = new System.Drawing.Size(800, 450);
this.highlightEditor1.TabIndex = 0;
this.highlightEditor1.UseCustomGotoLine = false;
this.highlightEditor1.UseCustomShowFindReplace = false;
//
// 比对文本1ToolStripMenuItem
//
this.比对文本1ToolStripMenuItem.Name = "比对文本1ToolStripMenuItem";
this.比对文本1ToolStripMenuItem.Size = new System.Drawing.Size(280, 22);
this.比对文本1ToolStripMenuItem.Text = "比对文本1";
this.比对文本1ToolStripMenuItem.Click += new System.EventHandler(this.比对文本1ToolStripMenuItem_Click);
//
// 比对文本2ToolStripMenuItem
//
this.比对文本2ToolStripMenuItem.Name = "比对文本2ToolStripMenuItem";
this.比对文本2ToolStripMenuItem.Size = new System.Drawing.Size(280, 22);
this.比对文本2ToolStripMenuItem.Text = "比对文本2";
this.比对文本2ToolStripMenuItem.Click += new System.EventHandler(this.比对文本2ToolStripMenuItem_Click);
//
// toolStripMenuItem5
//
this.toolStripMenuItem5.Name = "toolStripMenuItem5";
this.toolStripMenuItem5.Size = new System.Drawing.Size(277, 6);
//
// FrmFileEditor
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(800, 450);
this.Controls.Add(this.highlightEditor1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "FrmFileEditor";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Show;
this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
this.TabPageContextMenuStrip = this.contextMenuStrip1;
this.Text = "文件编辑";
this.contextMenuStrip1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
public ryControls.HighlightEditor highlightEditor1;
private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;
private System.Windows.Forms.ToolStripMenuItem 关闭本标签ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 除此之外全部关闭ToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem 收藏该文件ToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem2;
private System.Windows.Forms.ToolStripMenuItem 在资源管理器中定位该文件ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 复制路径ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 复制文件名ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 复制所在文件夹路径ToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem3;
private System.Windows.Forms.ToolStripMenuItem 文件信息ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 打开其它站点文件ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 在工作区定位当前文件ToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem4;
private System.Windows.Forms.ToolStripMenuItem 查看历史记录ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 关闭左边全部标签ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 关闭右边全部标签ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 编辑FTP上的对应文件ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 比对FTP上的对应文件ToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem5;
private System.Windows.Forms.ToolStripMenuItem 比对文本1ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 比对文本2ToolStripMenuItem;
}
}
@@ -0,0 +1,927 @@
using ryCommon;
using ryCommonDb;
using 开发辅助工具.Manager.FTP;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml.Linq;
using WeifenLuo.WinFormsUI.Docking;
using 开发辅助工具.Manager;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.Window;
using static System.Net.Mime.MediaTypeNames;
using System.IO;
using ryControls;
using SuperDesign.Tools.SmartEditor;
using GameBackup3H3.DbOp;
using MyPage;
using ObjectListViewDemo;
namespace 开发辅助工具.Tools.SmartEditor
{
public partial class FrmFileEditor : DockContent
{
public FrmFileEditor()
{
InitializeComponent();
AutoScaleMode = AutoScaleMode.Dpi;
highlightEditor1.TextChanged += HighlightEditor1_TextChanged;
highlightEditor1.OnSaveKeyHappen += HighlightEditor1_OnSaveKeyHappen;
List<string> autoc_list = new List<string>();
highlightEditor1.Font = new Font("Consolas",12f);
autoc_list.AddRange(RyFiles.ReadAllLines(System.Windows.Forms.Application.StartupPath + "\\SysDb\\AutoComplete\\editor.txt"));
highlightEditor1.SetAutoCompleteList(autoc_list);
}
private void HighlightEditor1_OnSaveKeyHappen(object sender, EventArgs e)
{
OnSaveKeyHappen?.Invoke(this, e);
}
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == (Keys.Control | Keys.R))
{
if (FilePath.Length == 0)
{
return true;
}
}
return base.ProcessCmdKey(ref msg, keyData);//这里就是返回没有重写的键位,也就是这个函数原本的处理方式 //其余键位默认处理
}
/// <summary>
/// 未保存状态改变
/// </summary>
[Description("未保存状态改变")]
public event EventHandler OnUnSaveChanged;
/// <summary>
/// 保存热键发生时
/// </summary>
[Description("保存热键发生时")]
public event EventHandler OnSaveKeyHappen;
/// <summary>
/// 打开其它站点文件
/// </summary>
[Description("打开其它站点文件")]
public event EventHandler OnOpenOtherSiteFile;
private void HighlightEditor1_TextChanged(object sender, EventArgs e)
{
if (!IsChanged)
{
IsChanged = true;
OnUnSaveChanged?.Invoke(this, new EventArgs());
}
}
/// <summary>
/// 对应的Site
/// </summary>
public SiteInfo SiteInfo { get; set; } = new SiteInfo();
private Encoding encoding = Encoding.UTF8;
/// <summary>
/// 当前文件格式
/// </summary>
public Encoding Encoding {
get { return encoding; }
set
{
encoding = value;
IsChanged = true;
OnUnSaveChanged?.Invoke(this, new EventArgs());
}
}
/// <summary>
/// 加载的文件大小
/// </summary>
public long FileSize { get; private set; } = 0;
/// <summary>
/// 文件写入时间
/// </summary>
public long FileWriteTime { get; private set; } = 0;
/// <summary>
/// 文件创建时间
/// </summary>
public long FileCreateTime { get; private set; } = 0;
/// <summary>
/// 当前选择的文件路径
/// </summary>
public string FilePath { get; set; } = "";
/// <summary>
/// 文件改变是否进行提醒,保存文件后会重新进行提醒
/// </summary>
public bool Fileinfo_Changed_Tip { get; set; } = true;
/// <summary>
/// 当前选择的FTP远程文件路径,只有当FilePath为空时才生效
/// </summary>
public string FTPRemotePath { get; set; } = "";
public void GetFileInfo(string path)
{
FileSize = RyFiles.GetFileSize(path);
var dt = RyFiles.GetFileDate(path);
FileWriteTime = dt.LastWriteTime.ToInt64();
FileCreateTime = dt.CreateTime.ToInt64();
}
public string InitFilePath { get; set; } = "";
public string InitCacheText { get; set; } = "";
public int FirstVisibleLine { get; set; } = 0;
public void LoadInitFile(string path, string CacheText = "")
{
if (!System.IO.File.Exists(path))
{
MessageBox.Show("文件不存在=>" + path, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
this.Close();
return;
}
InitFilePath = path;
InitCacheText = CacheText;
FilePath = path;
GetSites();
IsChanged = CacheText.Length > 0;
UpdateTitle();
this.Icon = ShellUtilities.GetFileIcon(path, true, true);
}
private void GetSites()
{
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1)
{
DataSet ds = db.ReadData("select * from Site");
if (ds.HaveData())
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
DataRow reader = ds.Tables[0].Rows[i];
if (FilePath.IndexOfEx(reader["localPath"].ToString()) < 0)
{
continue;
}
#region 读取信息
SiteInfo.Name = reader["name"].ToString();
SiteInfo.LocalPath = reader["localPath"].ToString();
SiteInfo.FtpDir = reader["ftpDir"].ToString();
SiteInfo.FtpId = reader["ftpId"].ToInt();
SiteInfo.Id = reader["Id"].ToInt();
break;
#endregion
}
}
ds.Dispose();
}
db.Free();
}
public int LoadFile(string path,string CacheText="")
{
if (!System.IO.File.Exists(path)) {
MessageBox.Show("文件不存在=>"+path, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
this.Close();
return -1;
}
Encoding = TxtFileEncoder.GetEncoding(path,Encoding.GetEncoding("GB2312"));
highlightEditor1.SetHightlightText(CacheText.Length==0? RyFiles.ReadAllText(path,Encoding): CacheText, System.IO.Path.GetFileName(path));
GetFileInfo(path);
FilePath = path;
SiteInfo.FtpId=0;
SiteInfo.Id = 0;
GetSites();
IsChanged = CacheText.Length>0;
UpdateTitle();
highlightEditor1.Editor.EmptyUndoBuffer();
this.Icon = ShellUtilities.GetFileIcon(path, true, true);
OnUnSaveChanged?.Invoke(this, new EventArgs());
return 1;
}
public void UpdateTitle()
{
if (FilePath.Length == 0 && FTPRemotePath.Length==0) {
return;
}
var text = System.IO.Path.GetFileName(FilePath.Length == 0 ?FTPRemotePath: FilePath);
if(SiteInfo.FtpId>0)
{
if (FilePath.Length == 0)
{
text = "[" + SiteInfo.Name + "][FTP]" + text;
}
else
{
text = "[" + SiteInfo.Name + "]" + text;
}
}
if (IsChanged) { text = "*" + text; }
Text = text;
}
/// <summary>
/// FTP远程路径
/// </summary>
public string RemotePath
{
get
{
if (FilePath.Length == 0 && SiteInfo.FtpId > 0)
{
return FTPRemotePath;
}
else
{
return SiteInfo.FtpDir.Trim('/') + "/" + XDPath.Replace("\\", "/");
}
}
}
/// <summary>
/// 相对路径
/// </summary>
public string XDPath
{
get
{
if (FilePath.Length == 0) { return ""; }
if (SiteInfo.LocalPath.Length == 0) { return ""; }
return FilePath.Replace(SiteInfo.LocalPath, "", true).Trim('\\');
}
}
public int UploadFTP()
{
if (SiteInfo.FtpId <= 0) { return -1; }
var result = -2;
var uploadinfo = GetUploadInfo();
if (uploadinfo == null) { return -1; }
FrmUploadProg frm = new FrmUploadProg();
frm.UploadList.Add(uploadinfo);
if (frm.ShowDialog() == DialogResult.OK)
{
result = 1;
}
frm.Dispose();
return result;
}
/// <summary>
/// 获取FTP上传信息
/// </summary>
/// <returns></returns>
public UploadInfo GetUploadInfo()
{
UploadInfo uploadinfo = null;
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1)
{
DataSet ds = db.ReadData("select * from Ftp where Id=" + SiteInfo.FtpId);
if (ds.HaveData())
{
DataRow row = ds.Tables[0].Rows[0];
var FtpInfo = new GameBackup3H3.DbOp.FTPInfo()
{
Id = row["id"].ToInt(),
Name = row["name"].ToString(),
IP = row["ip"].ToString(),
Port = row["port"].ToInt(),
RemoteDir = SiteInfo.FtpDir,
UserName = row["username"].ToString(),
Pwd = row["pwd"].ToString(),
Encrypt = row["encrypt"].ToInt(0, 2, 0),
AddTime = row["AddTime"].ToDateTime()
};
uploadinfo = new UploadInfo() {
FtpInfo = FtpInfo,
RemotePath = RemotePath,
LocalPath = FilePath,
Content = highlightEditor1.Text,
Encoding = Encoding
};
}
ds.Dispose();
}
db.Free();
return uploadinfo;
}
public int UploadFTPByAllSite()
{
if (SiteInfo.FtpId <= 0) { return -1; }
var result = -2;
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1)
{
DataSet ds = db.ReadData("select * from Site");
if (ds.HaveData())
{
FrmUploadProg frm = new FrmUploadProg();
var xd_path = XDPath;
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
DataRow reader = ds.Tables[0].Rows[i];
if(!System.IO.File.Exists(reader["localPath"].ToString() + "\\" + xd_path)) { continue; }
DataSet ds_ftp = db.ReadData("select * from Ftp where Id=" + reader["ftpId"].ToInt());
if (ds_ftp.HaveData())
{
DataRow row = ds_ftp.Tables[0].Rows[0];
var FtpInfo = new GameBackup3H3.DbOp.FTPInfo()
{
Id = row["id"].ToInt(),
Name = row["name"].ToString(),
IP = row["ip"].ToString(),
Port = row["port"].ToInt(),
RemoteDir = reader["ftpDir"].ToString(),
UserName = row["username"].ToString(),
Pwd = row["pwd"].ToString(),
Encrypt = row["encrypt"].ToInt(0, 2, 0),
AddTime = row["AddTime"].ToDateTime()
};
var remotepath = reader["ftpDir"].ToString().Trim('/') + "/" + xd_path.Replace("\\", "/").Trim('/');
frm.UploadList.Add(new UploadInfo() { FtpInfo = FtpInfo, RemotePath = remotepath, LocalPath = reader["localPath"].ToString()+"\\"+ xd_path });
}
ds_ftp.Dispose();
}
if (frm.ShowDialog() == DialogResult.OK)
{
result = 1;
}
frm.Dispose();
}
ds.Dispose();
}
db.Free();
return result;
}
/// <summary>
/// 保存
/// </summary>
public int Save()
{
Fileinfo_Changed_Tip = true;
if(InitFilePath.Length>0)
{
LoadFile(InitFilePath,InitCacheText);
InitFilePath = "";
InitCacheText = "";
}
if(FilePath.Length==0)
{
if (SiteInfo.FtpId > 0)
{
var result = -1;
var uploadinfo = GetUploadInfo();
if (uploadinfo == null) { return -1; }
FrmUploadProg frm = new FrmUploadProg();
frm.UploadList.Add(uploadinfo);
if (frm.ShowDialog() == DialogResult.OK)
{
result = 1;
Itrycn_Db.AddHistory("[FTP:"+ SiteInfo.FtpId + "]"+uploadinfo.RemotePath, highlightEditor1.Text);
IsChanged = false;
//FrmMainEditor.MainEditor.UpdateFTPFileState(uploadinfo.FtpInfo.Id, uploadinfo.RemotePath, uploadinfo.FileWriteTime, uploadinfo.FileSize);
OnUnSaveChanged?.Invoke(this, new EventArgs());
}
frm.Dispose();
return result;
//Itrycn_Db.AddHistory(dialog.FileName, highlightEditor1.Text);
}
else
{
SaveFileDialog dialog = new SaveFileDialog
{
FileName = "新建文档.txt",
Filter = "常用格式|*.php;*.cs;*.txt;*.pas;*.js;*.html;*.htm;*.css;*.ini;*.json;*.xml;*.java;*.vbs;*.asp;*.aspx|所有文件|*.*"
};
if (dialog.ShowDialog() == DialogResult.OK)
{
FilePath = dialog.FileName;
try
{
RyFiles.WriteAllText(dialog.FileName, highlightEditor1.Text, Encoding);
}
catch (Exception ex)
{
MessageBox.Show(FilePath + "\r\n" + ex.Message, "出错", MessageBoxButtons.OK, MessageBoxIcon.Error);
return -1;
}
Itrycn_Db.AddHistory(dialog.FileName, highlightEditor1.Text);
GetFileInfo(dialog.FileName);
FrmMainEditor.MainEditor.UpdateFileState(FilePath);
IsChanged = false;
OnUnSaveChanged?.Invoke(this, new EventArgs());
return 1;
}
}
}
else
{
try
{
RyFiles.WriteAllText(FilePath, highlightEditor1.Text, Encoding);
}
catch(Exception ex) {
MessageBox.Show(FilePath+"\r\n" +ex.Message, "出错", MessageBoxButtons.OK, MessageBoxIcon.Error);
return -1;
}
Itrycn_Db.AddHistory(FilePath, highlightEditor1.Text);
GetFileInfo(FilePath);
IsChanged = false;
FrmMainEditor.MainEditor.UpdateFileState(FilePath);
OnUnSaveChanged?.Invoke(this, new EventArgs());
return 1;
}
return -1;
}
/// <summary>
/// 是否内容改变
/// </summary>
public bool IsChanged { get; internal set; } = true;
/// <summary>
/// 保存
/// </summary>
/// <param name="path"></param>
public void Save(string path)
{
RyFiles.WriteAllText(path, highlightEditor1.Text, Encoding);
Itrycn_Db.AddHistory(path, highlightEditor1.Text);
IsChanged = false;
Fileinfo_Changed_Tip = true;
FrmMainEditor.MainEditor.UpdateFileState(FilePath);
OnUnSaveChanged?.Invoke(this, new EventArgs());
}
/// <summary>
/// 删除重复行
/// </summary>
public void DeleteRepeatLine()
{
var lines = highlightEditor1.Text.Replace("\r", "").Split('\n');
var txt = "";
var dict=new Dictionary<string, int>();
for (int i = 0; i < lines.Length; i++)
{
var line = lines[i];
if (line.Length == 0) { continue; }
if (dict.ContainsKey(line)) { continue; }
if (txt.Length != 0) { txt += "\r\n"; }
txt+= line;
dict[line] = i;
}
highlightEditor1.Text = txt;
}
/// <summary>
/// 删除空白行
/// </summary>
public void DeleteWhiteLine()
{
var lines = highlightEditor1.Text.Replace("\r", "").Split('\n');
var txt = "";
for (int i = 0; i < lines.Length; i++)
{
var line = lines[i];
if (line.Trim().Length == 0) { continue; }
if (txt.Length != 0) { txt += "\r\n"; }
txt += line;
}
highlightEditor1.Text = txt;
}
private void 关闭本标签ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Close();
}
private void 除此之外全部关闭ToolStripMenuItem_Click(object sender, EventArgs e)
{
switch (MessageBox.Show("是否确定要关闭?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question))
{
case DialogResult.Cancel:
return;
}
DockContentCollection contents = this.DockPanel.Contents;
int num = 0;
while (num < contents.Count)
{
var content = contents[num];
if (content.DockHandler.DockState == DockState.Document && this.DockPanel.ActiveContent != content)
{
var canClose = true;
if (content is FrmFileEditor frm)
{
if(frm.IsChanged)
{
switch (MessageBox.Show("是否要保存文档?\r\n\r\n是:保存该文档并关闭。\r\n否:不保存该文档并关闭。\r\n取消:取消关闭该文档。", "询问", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2))
{
case DialogResult.Cancel:
canClose = false;
break;
case DialogResult.No:
break;
case DialogResult.Yes:
if(frm.Save()!=1)
{
canClose = false;
}
break;
}
}
}
if (canClose) {
content.DockHandler.Close();
}
else { num++; }
}
else
{
num++;
}
}
}
private void 收藏该文件ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (FilePath.Length == 0) { return; }
bool isAdd = false;
if (收藏该文件ToolStripMenuItem.Text.IndexOfEx("取消") >= 0)
{
switch (MessageBox.Show("是否确定要取消收藏?\r\n选是:取消收藏\r\n选否:新建收藏。\r\n选取消:不再取消收藏。", "询问", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2))
{
case DialogResult.Yes:
break;
case DialogResult.No:
isAdd = true;
break;
default:
return;
}
if (!isAdd)
{
RyQuickSQL mySQL = new RyQuickSQL("FavFiles");
mySQL.AddField("FilePath", FilePath);
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1)
{
db.ExecuteNonQuery("delete from FavFiles where FilePath=@FilePath and GroupId=0", mySQL);
}
db.Free();
return;
}
}
else
{
isAdd = true;
}
if(isAdd)
{
FrmFavFile frm = new FrmFavFile
{
FilePath = FilePath
};
frm.SelectedId = 0;
frm.TxtFind.Text = this.highlightEditor1.GetNearestFunLineStr(this.highlightEditor1, out _);
frm.TxtFavName.Text = System.IO.Path.GetFileName(FilePath);
if (frm.ShowDialog() == DialogResult.OK)
{
}
frm.Dispose();
}
}
private void ContextMenuStrip1_Opening(object sender, CancelEventArgs e)
{
收藏该文件ToolStripMenuItem.Enabled = FilePath.Length > 0;
文件信息ToolStripMenuItem.Enabled = FilePath.Length > 0;
查看历史记录ToolStripMenuItem.Enabled =FTPRemotePath.Length>0 || FilePath.Length > 0;
打开其它站点文件ToolStripMenuItem.Enabled = SiteInfo.FtpId > 0 && FilePath.Length>0;
复制所在文件夹路径ToolStripMenuItem.Enabled = FilePath.Length > 0;
复制文件名ToolStripMenuItem.Enabled = FilePath.Length > 0;
复制路径ToolStripMenuItem.Enabled = FilePath.Length > 0;
在资源管理器中定位该文件ToolStripMenuItem.Enabled = FilePath.Length > 0;
在工作区定位当前文件ToolStripMenuItem.Enabled = FilePath.Length > 0;
编辑FTP上的对应文件ToolStripMenuItem.Enabled=FilePath.Length > 0 && SiteInfo.FtpId>0;
比对FTP上的对应文件ToolStripMenuItem.Enabled = FilePath.Length > 0 && SiteInfo.FtpId > 0;
if (FrmMainEditor.MainEditor.CompareTitle1.Length > 0)
{ 比对文本1ToolStripMenuItem.Text = "比对文本1=>" + FrmMainEditor.MainEditor.CompareTitle1; }
else
{
比对文本1ToolStripMenuItem.Text = "比对文本1";
}
if (FrmMainEditor.MainEditor.CompareTitle2.Length > 0)
{ 比对文本2ToolStripMenuItem.Text = "比对文本2=>" + FrmMainEditor.MainEditor.CompareTitle2; }
else
{
比对文本2ToolStripMenuItem.Text = "比对文本2";
}
RyQuickSQL mySQL = new RyQuickSQL("FavFiles");
mySQL.AddField("FilePath", FilePath);
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1)
{
var ds = db.ReadData("select * from FavFiles where FilePath=@FilePath and GroupId=0 limit 1", mySQL);
if(ds.HaveData())
{
收藏该文件ToolStripMenuItem.Text = "取消该文件收藏";
}
else
{
收藏该文件ToolStripMenuItem.Text = "收藏该文件";
}
ds.Dispose();
}
db.Free();
}
private void 在资源管理器中定位该文件ToolStripMenuItem_Click(object sender, EventArgs e)
{
if(FilePath.Length > 0)
{
RyFiles.OpenFolderGotoFile(FilePath);
}
}
private void 复制路径ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (FilePath.Length == 0) { return; }
RyFiles.CopyToClip(FilePath);
}
private void 复制文件名ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (FilePath.Length == 0) { return; }
RyFiles.CopyToClip(System.IO.Path.GetFileName(FilePath));
}
private void 复制所在文件夹路径ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (FilePath.Length == 0) { return; }
RyFiles.CopyToClip(System.IO.Path.GetDirectoryName(FilePath));
}
private void 文件信息ToolStripMenuItem_Click(object sender, EventArgs e)
{
FrmFileInfo frm = new FrmFileInfo();
frm.LoadInfo(FilePath,SiteInfo);
frm.ShowDialog();
frm.Dispose();
}
private void 打开其它站点文件ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (SiteInfo.Id == 0) { return; }
OnOpenOtherSiteFile?.Invoke(this, EventArgs.Empty);
}
private void 在工作区定位当前文件ToolStripMenuItem_Click(object sender, EventArgs e)
{
DockContentCollection contents = this.DockPanel.Contents;
int num = 0;
FrmFileBrowser_New first_visible=null;
while (num < contents.Count)
{
var content = contents[num];
if (content.DockHandler.DockState == DockState.DockLeft)
{
if(content is FrmFileBrowser frm)
{
if (frm.Visible)
{
frm.GotoPath(FilePath);
break;
}
else
{
num++;
}
}
else if (content is FrmFileBrowser_New frm2) {
if(this.SiteInfo.Name.IndexOfEx(frm2.Text)>=0 || frm2.Text.IndexOfEx(this.SiteInfo.Name)>=0)
{
frm2.Show(FrmMainEditor.MainEditor.dockPanel, DockState.DockLeft);
//frm2.BringToFront();
frm2.GotoPath(System.IO.Path.GetDirectoryName(FilePath), FilePath);
first_visible = null;
break;
}
else if (frm2.Visible) {
first_visible = frm2;
//frm2.GotoPath(System.IO.Path.GetDirectoryName(FilePath), FilePath);
//break;
}
num++;
}
else {
num++;
}
}
else
{
num++;
}
}
if (first_visible != null)
{
first_visible.GotoPath(System.IO.Path.GetDirectoryName(FilePath), FilePath);
}
}
private void 查看历史记录ToolStripMenuItem_Click(object sender, EventArgs e)
{
FrmHistoryView frm = new FrmHistoryView
{
FilePath = FilePath.Length==0?"[FTP:"+SiteInfo.FtpId+"]"+ FTPRemotePath : FilePath,
Content = highlightEditor1.Text,
CurHighliteLang = highlightEditor1.CurHighliteLang,
SelectModeOn = true,
TopMost = this.TopMost
};
frm.FormClosed += delegate (object sender_item, FormClosedEventArgs e1) {
if (frm.DialogResult == DialogResult.OK)
{
if (!this.IsDisposed)
{
if (IsChanged)
{
switch (MessageBox.Show("当前记录未保存,是否要替换成历史记录?", "询问", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2))
{
case DialogResult.No:
frm.Dispose();
return;
}
Itrycn_Db.AddHistory(FilePath.Length == 0 ? "[FTP:" + SiteInfo.FtpId + "]" + FTPRemotePath : FilePath, highlightEditor1.Text);
}
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.History_SQLConn) == 1)
{
DataSet ds = db.ReadData("select * from History where id=" + frm.SelectedItem.Id);
if (ds.HaveData())
{
highlightEditor1.Text = ds.GetFirstRowData()["content"].ToString();
}
ds?.Dispose();
}
db.Free();
}
else
{
MessageBox.Show("窗口已经被关闭,无法加载历史记录。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
};
frm.Show();
}
private void Frm_FormClosed(object sender, FormClosedEventArgs e)
{
throw new NotImplementedException();
}
private void 关闭左边全部标签ToolStripMenuItem_Click(object sender, EventArgs e)
{
switch (MessageBox.Show("是否确定要关闭?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question))
{
case DialogResult.Cancel:
return;
}
DockContentCollection contents = this.DockPanel.Contents;
int num = 0;
while (num < contents.Count)
{
var content = contents[num];
if (content == this)
{
break;
}
if (content.DockHandler.DockState == DockState.Document)
{
var canClose = true;
if (content is FrmFileEditor frm)
{
if (frm.IsChanged)
{
switch (MessageBox.Show("是否要保存文档?\r\n" + frm.FilePath + "\r\n\r\n是:保存该文档并关闭。\r\n否:不保存该文档并关闭。\r\n取消:取消关闭该文档。", "询问", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2))
{
case DialogResult.Cancel:
canClose = false;
break;
case DialogResult.No:
break;
case DialogResult.Yes:
if (frm.Save() != 1)
{
canClose = false;
}
break;
}
}
}
if (canClose) {
content.DockHandler.Close();
}
else { num++; }
}
else
{
num++;
}
}
}
private void 关闭右边全部标签ToolStripMenuItem_Click(object sender, EventArgs e)
{
switch (MessageBox.Show("是否确定要关闭?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question))
{
case DialogResult.Cancel:
return;
}
DockContentCollection contents = this.DockPanel.Contents;
int num = 0;
var start = false;
while (num < contents.Count)
{
var content = contents[num];
if (content == this)
{
start = true;
num++;
continue;
}
if (content.DockHandler.DockState == DockState.Document && start)
{
var canClose = true;
if (content is FrmFileEditor frm)
{
if (frm.IsChanged)
{
switch (MessageBox.Show("是否要保存文档?\r\n" + frm.FilePath + "\r\n\r\n是:保存该文档并关闭。\r\n否:不保存该文档并关闭。\r\n取消:取消关闭该文档。", "询问", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2))
{
case DialogResult.Cancel:
canClose = false;
break;
case DialogResult.No:
break;
case DialogResult.Yes:
if (frm.Save() != 1)
{
canClose = false;
}
break;
}
}
}
if (canClose) {
content.DockHandler.Close();
}
else { num++; }
}
else
{
num++;
}
}
}
private void 编辑FTP上的对应文件ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (FilePath.Length > 0)
_ = FrmMainEditor.MainEditor.OpenFTPFileByNewForm(SiteInfo, RemotePath);
}
private void 比对FTP上的对应文件ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (FilePath.Length > 0)
FrmMainEditor.MainEditor.CompareFTPFile(SiteInfo, RemotePath,this);
}
private void 比对文本1ToolStripMenuItem_Click(object sender, EventArgs e)
{
FrmMainEditor.MainEditor.CompareText1 = highlightEditor1.Text;
FrmMainEditor.MainEditor.CompareTitle1 = this.Text;
if (FrmMainEditor.MainEditor.CompareText2.Length>0)
{
FrmCompare frm2 = new FrmCompare
{
CurHighliteLang = highlightEditor1.CurHighliteLang,
TextLeft = FrmMainEditor.MainEditor.CompareText1,
TextRight = FrmMainEditor.MainEditor.CompareText2,
TitleLeft = FrmMainEditor.MainEditor.CompareTitle1,
TitleRight = FrmMainEditor.MainEditor.CompareTitle2
};
frm2.ShowDialog(FrmMainEditor.MainEditor);
frm2.Dispose();
}
}
private void 比对文本2ToolStripMenuItem_Click(object sender, EventArgs e)
{
FrmMainEditor.MainEditor.CompareText2 = highlightEditor1.Text;
FrmMainEditor.MainEditor.CompareTitle2 = this.Text;
if (FrmMainEditor.MainEditor.CompareText1.Length > 0)
{
FrmCompare frm2 = new FrmCompare
{
CurHighliteLang = highlightEditor1.CurHighliteLang,
TextLeft = FrmMainEditor.MainEditor.CompareText1,
TextRight = FrmMainEditor.MainEditor.CompareText2,
TitleLeft = FrmMainEditor.MainEditor.CompareTitle1,
TitleRight = FrmMainEditor.MainEditor.CompareTitle2
};
frm2.ShowDialog(FrmMainEditor.MainEditor);
frm2.Dispose();
}
}
}
}
@@ -0,0 +1,189 @@
<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="收藏该文件ToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAA0ZJREFUWEfV
V8tLVFEcPlKNDGrj2Ivei8oyLPEBIUJ/QKuWQasWtYhWLloVtGhTix6GjhOJZlhqZb4ig9SpRgV10pLC
DDV7mxQGFUrBr++c+5szM3qa7qgj9MEH957z/b7vd+89594Z8d+CSkUWSIpekcPDiweEntMNeEQJDy8O
EL4JwVNhd2CaLot0no4/cMUnOXhC0WrkAk/HF1QskhH2TYU2rvCB7dzAdzTjYln8gKs/pgK9YpLGct+D
73A+yWNnWBY/oIHPKqwu9SFNFJBifWqbGisVX1kWHyD8sAryiJ80nP1aNzCcPYrxH9xEIcsXHjB/q0Ju
u0JXH2SdK7gWxlk+d1CZWAejfFzpAfA4jovBZg74TYO7h2Y1MJQ1qOYsjdQWq1rpIb3gyfaRwMLZA8F5
COtw3Ivj4LYyszbl0azwIOWcqSZEuW17VZaVWSBvq0lo0ZvwhioTfXTH1UJtG1qpb0evMTicT7YHqHV9
Bx5JF111DMBj3OjNlA3U6IHmle3Us7WDxvJGjObz4Uj2J+re0qMyQg3UWI+hVFzTg/XudqPBQrDB7dM5
yFThQeDZlOlJuaJNBvPhreWh9YEsjo0EJj1aVJviMxrNhTdTHmtfZHCcGViZF7X4RtLfV7xdVif7tR+8
OSY6ID6ri6qcfqOxHV53dmgfeLK9PeA5ndbFjWndxoBovLuqSdfDi21jA4r7lUGVs9MYEo3yzlkN9LFd
7EDxtDK5tzr2tdCy5gE3MMV2sYGuiDQ2IAps6zeGRGMgvUvXlwg329oHCvdqg9Hcj8aQaBzLs76cFvPZ
1j5QdFQVexM+GAMGMp5T+bI+xYGdAaPGmxBs4hDb2gf27CVVXOGINH+W8ZLKHc/YOMSKRD+9yIz8WFU6
gtswti0ogaL7qrjBbS1AGVzlDLChRY+QAeFvObn6W9GI1XRjWnAhNrGtfaBI/swi6tzsx9sstKAkPeIV
9vZ+lkrtPpw/jdBUJ7WRH7WWfpil9kCnxNIIsxAnEXSEZbOAoIPQWI3PZK1YwrJ/AyG7DCYneDoqZBC0
heCXsFp5FzJZYg9hxUVUJBJ52Db4d6X8pvySPjxsH7gLa/EvaCOfzhnwyZFefDoDQvwBzM2Z9yEoPakA
AAAASUVORK5CYII=
</value>
</data>
<data name="比对FTP上的对应文件ToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAActJREFUWEft
l79Kw1AYxTMXXMUncHD1BbqJaZrSwVHo5CA4Ca7uDr6Ag7iKiG/QXaRTdyfBt6jnC+cmN8k911gjFfQH
B/L9Ofe7uTVpTf5pkmXZ5Xg8XkIroTlbE7sOxCGPacm1B2xv0zAo+QOLHMPPNuC0SNN0h5YK7s41nTEd
BX21E4iB9YfsX+H6kekKFF5YHDLVO9yE3eAbUxUslMfZBfR3PgGHnCMLEXr19LpYBOlZc7FnE8NOyDmy
EGE6ne6aGHai1w2g/9bEsBNyjirYAOiaYQ3lMey9kuf5FcMS6VEF5F5Zu2GqRHlsOGut5115Yhs4drXm
HYU83nDTjOmSkKdAFgAGn7s6VC6K6xMTQ+s7cn24vmC6hqszrJAF4N+VDWG6tQFcH3p9rc/fcHWGFaqg
hhshT+MU7pguCXkKQgUMd18ereFGyGP4m7A1mC5QHllA7nQ0Gh0wrCEXA8hn0Ayb2WKqQHpkIQL6f/5F
FOM3vIo3+2XUq6fXxSJIz5qL3ZsYdkLOQXKzP0q9N94cz/0+01Gs18QwymQy2fNmPDFdgeQAWrAhpu/+
Y6I/ZjzT22h4gN59Q0P+BmonwDjkMdmaX/p7+QskyQf+0wEv1pXK+QAAAABJRU5ErkJggg==
</value>
</data>
<data name="查看历史记录ToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAABFNJREFUWEft
l39sFEUUxy/xD+KP3t6eJUrVBOR291o5RZrYUG93D7FFio0/SEtRowVjNKDYEHNaQzh/hAQEW7327pqm
BFGixsQYBNveHqaJGg2B6D8GE1FJKnJ7LdEQ+Uf+Gd8b3p17u3PttZH/+CQvnZk3875v5mZmp76rzIea
1eEbZSMcCRrhZqk5tHRhrOEGcl05/FHtAdnQ9kqGmg8YKhPYD7KpvirpoRU05P/BH1WaJF39sCSkq78E
TPUDENsim6H2gKG8KRtKFnx/Up9/MNFgLHQrhZg/sq72loQNdTCohxrI5aXDd03QDK2EFfqC+v8aiIZi
5J07ECBBgc7CjB+h5qpwjGW4gtRcPZKpdVCAhN+oV4p/yc3BPmhUFQLjjmOcGVfOjRxTHiTx77GO4lRP
8A5EQFcm0KgqpK6x7jo+1lR/rNXrF1HzzAQM7XMcVLNK00Cgu9IKVJMA4tfVLtEEhMDOXoudJVOJ47JB
+VKlgdUmgEim+hHE+UOKRmRqEgNHLIkdsSzryh4oX5Rj9cu408VcEgia4ZUQi8EJ2UBNYqDTafwJfGtD
C2S4cOD87yKXh7kkgEDs82AjVPVSe69Wg1mCJSRDW4JlWdfuJLeHYgJ9v397bcbOdmUKuUTKzh1K562j
advalcpb3YPT46VbES6nbMBUTlLVS000rPIE4PLgBmVyCUHxm1sjJ0BsAowJrZC7BAm9zfvDxMD4zyvE
KVosS9FwI3cKWNrZfGbFc+vEwi7L2JY966SKKwDH5p7rm5bchOWArvWQu4yhwvhdKF5tAmj3v9H9FcSs
vALFPQCbbyvW4e/HsGtHudMFBPwGxbH/+oEeoaDbovFOtqht+c8UQgzeWBD0IJZlU9kIZc8dAJttPQZM
Th5l6/Y8y5OIPN3K4hNpoXDRFj/axMzejXkKIwaPHcz6J6oKSRes3c7AO48f4LPDRB5+Zxt7FxJz+tES
J97j/heO7L1IYcT49fAa7AiJPENNHlK2hTvfI7L18FsssrmVLdvUAkL7ynwtr29it7U3sr7fDsPJOHY7
hRLDz7ehTlPVAwT8yxncaalzWdY1HGd6fEOp7bGRV/js2/dt4fVBOzvz5xluws18FeBhQU1lpO3cZ8Xg
s1ny7BgXR8OfCttGLowHKVRlYMAADoKT0EZNJdJT1stuoUrW8NRqLt59KHG5LZ+dpDCzAwP5OwCu0CH8
rlOzL1WwWt1Cbuv9epgtbLmDi2+3kv/58tanFKY6HC+jc/hdp2bYiNn9TkGndaS2c2H1cZO9dvJgmS9z
/stbKET1uF7Fk2AW2MCT7+/8+8XRPtY59BJbteMJuAvWsLq2u1ntffV8w+0+9UmZ+EB+bP4PVAT3A7yS
h0F8mpIpM6VLZw/1P892fLe/TBjujQsp+9jM74C54vzPqGesv7f/zJFTZaKXbRK+hunk6dEFNOzKksmP
Lc5M5TrhbbAtNWUtp+arzILP9y8yNz1BYtUGSQAAAABJRU5ErkJggg==
</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAICAAAAAAIAC4AAAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAgAAAAIAgGAAAAc3p69AAAAARn
QU1BAACxjwv8YQUAAABvSURBVFhH7dcxCoAwDIXhDp7cqSfIbbRLzqFHUeLgUFuIFAzC/+BBh8D71iYR
KTnnI6K2neyhqiG17RvwdQAAcAOmdRlqLwDcgHnfmq2HWjfWXtyAXmrA2wAAAAAAAAD/B4wGAIAHIKIX
IPZ7LuUEMfZJSzkseGcAAAAASUVORK5CYII=
</value>
</data>
</root>
+191
View File
@@ -0,0 +1,191 @@
namespace 开发辅助工具.Tools.SmartEditor
{
partial class FrmFileInfo
{
/// <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(FrmFileInfo));
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.TxtFilePath = new System.Windows.Forms.TextBox();
this.TxtFileName = new System.Windows.Forms.TextBox();
this.TxtFileSize = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
this.TxtWriteTime = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.TxtEditTime = new System.Windows.Forms.TextBox();
this.label5 = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.ForeColor = System.Drawing.Color.Gray;
this.label1.Location = new System.Drawing.Point(12, 9);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(41, 12);
this.label1.TabIndex = 0;
this.label1.Text = "文件名";
//
// label2
//
this.label2.AutoSize = true;
this.label2.ForeColor = System.Drawing.Color.Gray;
this.label2.Location = new System.Drawing.Point(12, 35);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(53, 12);
this.label2.TabIndex = 1;
this.label2.Text = "文件路径";
//
// TxtFilePath
//
this.TxtFilePath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.TxtFilePath.BackColor = System.Drawing.Color.White;
this.TxtFilePath.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.TxtFilePath.Font = new System.Drawing.Font("Consolas", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.TxtFilePath.Location = new System.Drawing.Point(71, 33);
this.TxtFilePath.Name = "TxtFilePath";
this.TxtFilePath.ReadOnly = true;
this.TxtFilePath.Size = new System.Drawing.Size(398, 17);
this.TxtFilePath.TabIndex = 2;
//
// TxtFileName
//
this.TxtFileName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.TxtFileName.BackColor = System.Drawing.Color.White;
this.TxtFileName.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.TxtFileName.Font = new System.Drawing.Font("Consolas", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.TxtFileName.Location = new System.Drawing.Point(71, 10);
this.TxtFileName.Name = "TxtFileName";
this.TxtFileName.ReadOnly = true;
this.TxtFileName.Size = new System.Drawing.Size(398, 17);
this.TxtFileName.TabIndex = 3;
//
// TxtFileSize
//
this.TxtFileSize.BackColor = System.Drawing.Color.White;
this.TxtFileSize.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.TxtFileSize.Font = new System.Drawing.Font("Consolas", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.TxtFileSize.Location = new System.Drawing.Point(71, 56);
this.TxtFileSize.Name = "TxtFileSize";
this.TxtFileSize.ReadOnly = true;
this.TxtFileSize.Size = new System.Drawing.Size(87, 17);
this.TxtFileSize.TabIndex = 5;
//
// label3
//
this.label3.AutoSize = true;
this.label3.ForeColor = System.Drawing.Color.Gray;
this.label3.Location = new System.Drawing.Point(12, 58);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(53, 12);
this.label3.TabIndex = 4;
this.label3.Text = "文件大小";
//
// TxtWriteTime
//
this.TxtWriteTime.BackColor = System.Drawing.Color.White;
this.TxtWriteTime.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.TxtWriteTime.Font = new System.Drawing.Font("Consolas", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.TxtWriteTime.Location = new System.Drawing.Point(71, 80);
this.TxtWriteTime.Name = "TxtWriteTime";
this.TxtWriteTime.ReadOnly = true;
this.TxtWriteTime.Size = new System.Drawing.Size(157, 17);
this.TxtWriteTime.TabIndex = 7;
//
// label4
//
this.label4.AutoSize = true;
this.label4.ForeColor = System.Drawing.Color.Gray;
this.label4.Location = new System.Drawing.Point(12, 82);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(53, 12);
this.label4.TabIndex = 6;
this.label4.Text = "创建时间";
//
// TxtEditTime
//
this.TxtEditTime.BackColor = System.Drawing.Color.White;
this.TxtEditTime.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.TxtEditTime.Font = new System.Drawing.Font("Consolas", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.TxtEditTime.Location = new System.Drawing.Point(294, 80);
this.TxtEditTime.Name = "TxtEditTime";
this.TxtEditTime.ReadOnly = true;
this.TxtEditTime.Size = new System.Drawing.Size(175, 17);
this.TxtEditTime.TabIndex = 9;
//
// label5
//
this.label5.AutoSize = true;
this.label5.ForeColor = System.Drawing.Color.Gray;
this.label5.Location = new System.Drawing.Point(235, 83);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(53, 12);
this.label5.TabIndex = 8;
this.label5.Text = "修改时间";
//
// FrmFileInfo
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(481, 405);
this.Controls.Add(this.TxtEditTime);
this.Controls.Add(this.label5);
this.Controls.Add(this.TxtWriteTime);
this.Controls.Add(this.label4);
this.Controls.Add(this.TxtFileSize);
this.Controls.Add(this.label3);
this.Controls.Add(this.TxtFileName);
this.Controls.Add(this.TxtFilePath);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "FrmFileInfo";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "文件信息";
this.TopMost = true;
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox TxtFilePath;
private System.Windows.Forms.TextBox TxtFileName;
private System.Windows.Forms.TextBox TxtFileSize;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.TextBox TxtWriteTime;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.TextBox TxtEditTime;
private System.Windows.Forms.Label label5;
}
}
@@ -0,0 +1,31 @@
using ryCommon;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using 开发辅助工具.Manager;
namespace 开发辅助工具.Tools.SmartEditor
{
public partial class FrmFileInfo : Form
{
public FrmFileInfo()
{
InitializeComponent();
}
public void LoadInfo(string FilePath,SiteInfo ftpinfo)
{
TxtFileName.Text=System.IO.Path.GetFileName(FilePath);
TxtFilePath.Text = FilePath;
TxtFileSize.Text = RyFiles.GetFileSizeStr(FilePath);
var dt = RyFiles.GetFileDate(FilePath);
TxtWriteTime.Text = dt.CreateTime.ToString("yyyy-MM-dd HH:mm:ss");
TxtEditTime.Text = dt.LastWriteTime.ToString("yyyy-MM-dd HH:mm:ss");
}
}
}
@@ -0,0 +1,130 @@
<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.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>
AAABAAEAICAAAAAAIAAQAQAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAgAAAAIAgGAAAAc3p69AAAAARn
QU1BAACxjwv8YQUAAADHSURBVFhH7ZPRCcJAEESvHquwCeuxNJvwP1/WobeQhWGZxDE3qB/34IEEZ3mI
aZMNbt3nAZfupTsMO/7OO3wejsDDqvGr2SLwsGoEnLqWCDysGgGBJQIPq2ZAMByBh1UxIBiKwMOqNSDA
iEc8UKnHFSNgy4yQqcddyrCxQxk2dijDxg5l2Djd49xlm1SGjdM9vhKAr1eCz9gmlWHjag1g36nKsHF1
BsyAvwi4rv4k4IgybOxQho0dyrCxQxn1T/WJ+NZMVlp7AVFiFROR1wQLAAAAAElFTkSuQmCC
</value>
</data>
</root>
@@ -0,0 +1,292 @@
namespace GameBackup3H3.DbOp
{
partial class FrmHistoryView
{
/// <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()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmHistoryView));
this.rySearch1 = new ryControls.rySearch();
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
this.修改数据ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.删除数据ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ctlMyPage1 = new MyPage.ctlMyPage();
this.btnDel = new ryControls.ButtonEx();
this.btnEdit = new ryControls.ButtonEx();
this.LvCbResult = new BrightIdeasSoftware.FastObjectListView();
this.OlvName = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.OlvSize = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.BtnPrev = new ryControls.ButtonEx();
this.BtnNext = new ryControls.ButtonEx();
this.scintillaDiffControl1 = new ScintillaDiff.ScintillaDiffControl();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.contextMenuStrip1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.LvCbResult)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.SuspendLayout();
//
// rySearch1
//
this.rySearch1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(239)))), ((int)(((byte)(244)))));
this.rySearch1.ButtonRoundBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(239)))), ((int)(((byte)(244)))));
this.rySearch1.EmptyText = "请输入搜索内容";
this.rySearch1.Location = new System.Drawing.Point(12, 5);
this.rySearch1.Name = "rySearch1";
this.rySearch1.Size = new System.Drawing.Size(186, 24);
this.rySearch1.TabIndex = 28;
this.rySearch1.OnSearch += new System.EventHandler(this.RySearch1_OnSearch);
//
// contextMenuStrip1
//
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.修改数据ToolStripMenuItem,
this.删除数据ToolStripMenuItem});
this.contextMenuStrip1.Name = "contextMenuStrip1";
this.contextMenuStrip1.Size = new System.Drawing.Size(125, 48);
//
// 修改数据ToolStripMenuItem
//
this.修改数据ToolStripMenuItem.Name = "修改数据ToolStripMenuItem";
this.修改数据ToolStripMenuItem.Size = new System.Drawing.Size(124, 22);
this.修改数据ToolStripMenuItem.Text = "重命名";
this.修改数据ToolStripMenuItem.Click += new System.EventHandler(this.修改数据ToolStripMenuItem_Click);
//
// 删除数据ToolStripMenuItem
//
this.删除数据ToolStripMenuItem.Name = "删除数据ToolStripMenuItem";
this.删除数据ToolStripMenuItem.Size = new System.Drawing.Size(124, 22);
this.删除数据ToolStripMenuItem.Text = "删除数据";
this.删除数据ToolStripMenuItem.Click += new System.EventHandler(this.删除数据ToolStripMenuItem_Click);
//
// ctlMyPage1
//
this.ctlMyPage1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.ctlMyPage1.Location = new System.Drawing.Point(12, 670);
this.ctlMyPage1.Name = "ctlMyPage1";
this.ctlMyPage1.PageSize = 50;
this.ctlMyPage1.RecordCount = 0;
this.ctlMyPage1.Size = new System.Drawing.Size(506, 26);
this.ctlMyPage1.SQLText = "";
this.ctlMyPage1.SQLText2 = "";
this.ctlMyPage1.T_FirstCaption = "首页";
this.ctlMyPage1.T_LastCaption = "末页";
this.ctlMyPage1.T_NextCaption = "下一页";
this.ctlMyPage1.T_Parameters = null;
this.ctlMyPage1.T_PreCaption = "上一页";
this.ctlMyPage1.T_SkipCaption = "跳到";
this.ctlMyPage1.T_TipCaption = "{pageindex}/{pagecount} 页,共 {recordcount} 条记录,每页 {pagesize} 条";
this.ctlMyPage1.TabIndex = 30;
this.ctlMyPage1.OnPageChange += new System.EventHandler(this.CtlMyPage1_OnPageChange);
//
// btnDel
//
this.btnDel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnDel.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
this.btnDel.Location = new System.Drawing.Point(995, 5);
this.btnDel.Name = "btnDel";
this.btnDel.Size = new System.Drawing.Size(62, 24);
this.btnDel.TabIndex = 40;
this.btnDel.Text = "删除";
this.btnDel.UseVisualStyleBackColor = true;
this.btnDel.Click += new System.EventHandler(this.BtnDel_Click);
//
// btnEdit
//
this.btnEdit.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnEdit.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
this.btnEdit.Location = new System.Drawing.Point(927, 5);
this.btnEdit.Name = "btnEdit";
this.btnEdit.Size = new System.Drawing.Size(62, 24);
this.btnEdit.TabIndex = 39;
this.btnEdit.Text = "重命名";
this.btnEdit.UseVisualStyleBackColor = true;
this.btnEdit.Click += new System.EventHandler(this.BtnEdit_Click);
//
// LvCbResult
//
this.LvCbResult.AllColumns.Add(this.OlvName);
this.LvCbResult.AllColumns.Add(this.OlvSize);
this.LvCbResult.CellEditUseWholeCell = false;
this.LvCbResult.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.OlvName,
this.OlvSize});
this.LvCbResult.ContextMenuStrip = this.contextMenuStrip1;
this.LvCbResult.Cursor = System.Windows.Forms.Cursors.Default;
this.LvCbResult.Dock = System.Windows.Forms.DockStyle.Fill;
this.LvCbResult.EmptyListMsg = "当前文件没有存在历史记录";
this.LvCbResult.FullRowSelect = true;
this.LvCbResult.HideSelection = false;
this.LvCbResult.Location = new System.Drawing.Point(0, 0);
this.LvCbResult.Name = "LvCbResult";
this.LvCbResult.RowHeight = 25;
this.LvCbResult.ShowGroups = false;
this.LvCbResult.ShowItemToolTips = true;
this.LvCbResult.Size = new System.Drawing.Size(214, 633);
this.LvCbResult.TabIndex = 85;
this.LvCbResult.UseCompatibleStateImageBehavior = false;
this.LvCbResult.UseFiltering = true;
this.LvCbResult.View = System.Windows.Forms.View.Details;
this.LvCbResult.VirtualMode = true;
this.LvCbResult.SelectionChanged += new System.EventHandler(this.LvCbResult_SelectionChanged);
this.LvCbResult.DoubleClick += new System.EventHandler(this.LvCbResult_DoubleClick);
//
// OlvName
//
this.OlvName.Text = "名称";
this.OlvName.Width = 150;
//
// OlvSize
//
this.OlvSize.Text = "字数";
this.OlvSize.Width = 70;
//
// BtnPrev
//
this.BtnPrev.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
this.BtnPrev.Enabled = false;
this.BtnPrev.Location = new System.Drawing.Point(204, 5);
this.BtnPrev.Name = "BtnPrev";
this.BtnPrev.Size = new System.Drawing.Size(62, 24);
this.BtnPrev.TabIndex = 87;
this.BtnPrev.Text = "上一处";
this.BtnPrev.UseVisualStyleBackColor = true;
this.BtnPrev.Click += new System.EventHandler(this.BtnPrev_Click);
//
// BtnNext
//
this.BtnNext.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
this.BtnNext.Enabled = false;
this.BtnNext.Location = new System.Drawing.Point(272, 5);
this.BtnNext.Name = "BtnNext";
this.BtnNext.Size = new System.Drawing.Size(62, 24);
this.BtnNext.TabIndex = 88;
this.BtnNext.Text = "下一处";
this.BtnNext.UseVisualStyleBackColor = true;
this.BtnNext.Click += new System.EventHandler(this.BtnNext_Click);
//
// scintillaDiffControl1
//
this.scintillaDiffControl1.AddedCharacterSymbol = '+';
this.scintillaDiffControl1.CharacterComparison = false;
this.scintillaDiffControl1.CharacterComparisonMarkAddRemove = false;
this.scintillaDiffControl1.DiffColorAdded = System.Drawing.Color.FromArgb(((int)(((byte)(212)))), ((int)(((byte)(242)))), ((int)(((byte)(196)))));
this.scintillaDiffControl1.DiffColorChangeBackground = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(255)))), ((int)(((byte)(140)))));
this.scintillaDiffControl1.DiffColorCharAdded = System.Drawing.Color.FromArgb(((int)(((byte)(154)))), ((int)(((byte)(234)))), ((int)(((byte)(111)))));
this.scintillaDiffControl1.DiffColorCharDeleted = System.Drawing.Color.FromArgb(((int)(((byte)(225)))), ((int)(((byte)(125)))), ((int)(((byte)(125)))));
this.scintillaDiffControl1.DiffColorDeleted = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(178)))), ((int)(((byte)(178)))));
this.scintillaDiffControl1.DiffStyle = ScintillaDiff.ScintillaDiffStyles.DiffStyle.DiffSideBySide;
this.scintillaDiffControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.scintillaDiffControl1.ImageRowAdded = ((System.Drawing.Bitmap)(resources.GetObject("scintillaDiffControl1.ImageRowAdded")));
this.scintillaDiffControl1.ImageRowAddedScintillaIndex = 28;
this.scintillaDiffControl1.ImageRowDeleted = ((System.Drawing.Bitmap)(resources.GetObject("scintillaDiffControl1.ImageRowDeleted")));
this.scintillaDiffControl1.ImageRowDeletedScintillaIndex = 29;
this.scintillaDiffControl1.ImageRowDiff = ((System.Drawing.Bitmap)(resources.GetObject("scintillaDiffControl1.ImageRowDiff")));
this.scintillaDiffControl1.ImageRowDiffScintillaIndex = 31;
this.scintillaDiffControl1.ImageRowOk = ((System.Drawing.Bitmap)(resources.GetObject("scintillaDiffControl1.ImageRowOk")));
this.scintillaDiffControl1.ImageRowOkScintillaIndex = 30;
this.scintillaDiffControl1.IsEntireLineHighlighted = false;
this.scintillaDiffControl1.Location = new System.Drawing.Point(0, 0);
this.scintillaDiffControl1.MarkColorIndexModifiedBackground = 31;
this.scintillaDiffControl1.MarkColorIndexRemovedOrAdded = 30;
this.scintillaDiffControl1.Name = "scintillaDiffControl1";
this.scintillaDiffControl1.RemovedCharacterSymbol = '-';
this.scintillaDiffControl1.Size = new System.Drawing.Size(827, 633);
this.scintillaDiffControl1.TabIndex = 86;
this.scintillaDiffControl1.TextLeft = "";
this.scintillaDiffControl1.TextRight = "";
this.scintillaDiffControl1.TitleLeft = "当前编辑器文本";
this.scintillaDiffControl1.TitleRight = "历史记录文本";
this.scintillaDiffControl1.TitleVisible = true;
this.scintillaDiffControl1.UseRowOkSign = false;
//
// splitContainer1
//
this.splitContainer1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.splitContainer1.Location = new System.Drawing.Point(12, 35);
this.splitContainer1.Name = "splitContainer1";
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.LvCbResult);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.scintillaDiffControl1);
this.splitContainer1.Size = new System.Drawing.Size(1045, 633);
this.splitContainer1.SplitterDistance = 214;
this.splitContainer1.TabIndex = 89;
//
// FrmHistoryView
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1069, 697);
this.Controls.Add(this.splitContainer1);
this.Controls.Add(this.BtnNext);
this.Controls.Add(this.BtnPrev);
this.Controls.Add(this.btnDel);
this.Controls.Add(this.btnEdit);
this.Controls.Add(this.ctlMyPage1);
this.Controls.Add(this.rySearch1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "FrmHistoryView";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "浏览";
this.Load += new System.EventHandler(this.FrmView_Load);
this.contextMenuStrip1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.LvCbResult)).EndInit();
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private ryControls.rySearch rySearch1;
private MyPage.ctlMyPage ctlMyPage1;
private ryControls.ButtonEx btnDel;
private ryControls.ButtonEx btnEdit;
private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;
private System.Windows.Forms.ToolStripMenuItem 修改数据ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 删除数据ToolStripMenuItem;
private BrightIdeasSoftware.FastObjectListView LvCbResult;
private BrightIdeasSoftware.OLVColumn OlvName;
private BrightIdeasSoftware.OLVColumn OlvSize;
private ScintillaDiff.ScintillaDiffControl scintillaDiffControl1;
private ryControls.ButtonEx BtnPrev;
private ryControls.ButtonEx BtnNext;
private System.Windows.Forms.SplitContainer splitContainer1;
}
}
@@ -0,0 +1,312 @@
using ryCommon;
using ryCommonDb;
using 开发辅助工具.Tools.SmartEditor;
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 开发辅助工具.Manager;
using static ScintillaNET.Style;
using System.IO;
using ryControls;
using static VPKSoft.ScintillaLexers.LexerEnumerations;
using DiffPlex.Model;
using VPKSoft.ScintillaLexers;
using ScintillaDiff;
using RySmartEditor.Controls;
using BrightIdeasSoftware;
namespace GameBackup3H3.DbOp
{
public partial class FrmHistoryView : Form
{
string orderSQL = "order by addTime desc";
string tableName = "History";
string titleName = "历史记录";
public FrmHistoryView()
{
InitializeComponent();
this.LvCbResult.RowHeight = 48;
this.LvCbResult.UseAlternatingBackColors = false;
this.LvCbResult.UseHotItem = false;
this.OlvName.Renderer = CreateDescribedTaskRenderer();
OlvName.AspectGetter = delegate (object x) {
return ((HistoryInfo)x).AddTimeStr;
};
OlvSize.AspectGetter = delegate (object x) { return ((HistoryInfo)x).Size+"字"; };
}
private DescribedTaskRenderer CreateDescribedTaskRenderer()
{
// Let's create an appropriately configured renderer.
DescribedTaskRenderer renderer = new DescribedTaskRenderer();
// Give the renderer its own collection of images.
// If this isn't set, the renderer will use the SmallImageList from the ObjectListView.
// (this is standard Renderer behaviour, not specific to DescribedTaskRenderer).
// Tell the renderer which property holds the text to be used as a description
renderer.DescriptionAspectName = "Name";
renderer.UseCustomCheckboxImages = false;
// Change the formatting slightly
renderer.TitleFont = new Font("Tahoma", 11, FontStyle.Regular);
renderer.DescriptionFont = new Font("Tahoma", 9);
renderer.DescriptionColor = Color.Gray;
renderer.TopSpace = 3;
//renderer.ImageTextSpace = 8;
renderer.TitleDescriptionSpace = 5;
// Use older Gdi renderering, since most people think the text looks clearer
renderer.UseGdiTextRendering = true;
// If you like colours other than black and grey, you could uncomment these
// renderer.TitleColor = Color.DarkBlue;
// renderer.DescriptionColor = Color.CornflowerBlue;
return renderer;
}
#region 需要修改的内容
private void RySearch1_OnSearch(object sender, EventArgs e)
{
//需要修改此处
LoadDb("(name like @SearchText or content like @SearchText)");
}
private void CtlMyPage1_OnPageChange(object sender, EventArgs e)
{
#region 重新载入数据
LvCbResult.ClearObjects();
List<HistoryInfo> list = new List<HistoryInfo>();
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.History_SQLConn) == 1)
{
DataSet ds = db.ReadData(ctlMyPage1.GetSQLText, ctlMyPage1.T_Parameters);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
DataRow row = ds.Tables[0].Rows[i];
list.Add(new HistoryInfo()
{
Id=row["id"].ToInt(),
Name = row["name"].ToString(),
Size = row["size"].ToInt64(),
AddTime = row["AddTime"].ToDateTime()
}) ;
}
}
db.Free();
LvCbResult.AddObjects(list);
if(list.Count>0) {
LvCbResult.SelectedObject = list[0];
}
#endregion
}
#endregion
public string FilePath { get; set; } = "";
public string Content { get; set; } = "";
/// <summary>
/// 当前高亮语言
/// </summary>
public LexerType CurHighliteLang
{
get; set;
} = LexerType.Text;
private int FileId { get; set; } = 0;
public void LoadDb(string whereSQL)
{
string _whereSQL = whereSQL;
if (FileId > 0)
{
_whereSQL += " and fileid=" + FileId;
}
else { return; }
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.History_SQLConn) == 1)
{
#region 重新载入数据
db.AddParameter("SearchText", "%" + rySearch1.Text + "%");
ctlMyPage1.RecordCount = db.GetCount(tableName, _whereSQL);
ctlMyPage1.T_Parameters = db.GetParameter();
ctlMyPage1.SQLText= db.GetPageSQL(tableName, _whereSQL, orderSQL);
ctlMyPage1.SQLText2 = db.GetPageSQL2(tableName, _whereSQL, orderSQL);
ctlMyPage1.GotoPageIndex(1);
#endregion
}
db.Free();
}
private void BtnEdit_Click(object sender, EventArgs e)
{
if (LvCbResult.SelectedObject == null) { return; }
this.Enabled = false;
var item = (HistoryInfo)LvCbResult.SelectedObject;
var selectId = item.Id;
FrmTitle frm = new FrmTitle()
{
Text = "修改"+ titleName,
Icon = Icon,
};
frm.TxtTitle.Text = item.Name;
if(frm.ShowDialog()==DialogResult.OK)
{
RyQuickSQL mySQL = new RyQuickSQL("History");
mySQL.AddField("name", frm.TxtTitle.Text);
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.History_SQLConn) == 1)
{
db.ExecuteNonQuery(mySQL.GetUpdateSQL() + " where id=" + selectId, mySQL);
item.Name=frm.TxtTitle.Text;
LvCbResult.RefreshObject(item);
}
db.Free();
}
frm.Dispose();
this.Enabled = true;
}
private void BtnDel_Click(object sender, EventArgs e)
{
if (LvCbResult.SelectedObject == null) { MessageBox.Show("请先选择要删除的项。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; }
var item = (HistoryInfo)LvCbResult.SelectedObject;
var selectId = item.Id;
switch (MessageBox.Show("确定要删除该项吗?一旦删除将不可恢复。", "询问", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2))
{
case DialogResult.No:
return;
}
//DataProvider mydb = new DataProvider();
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.History_SQLConn) == 1)
{
db.DelById(tableName, selectId.ToString());
LvCbResult.RemoveObject(item);
}
}
private void FrmView_Load(object sender, EventArgs e)
{
ScintillaLexers.CreateLexer(scintillaDiffControl1.LeftScintilla, CurHighliteLang,false);
ScintillaLexers.CreateLexer(scintillaDiffControl1.RightScintilla, CurHighliteLang, false);
//scintillaDiffControl1.ReInit();
Text = "查看历史记录";
修改数据ToolStripMenuItem.Text = "修改" + titleName;
删除数据ToolStripMenuItem.Text = "删除" + titleName;
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.History_SQLConn) == 1)
{
RyQuickSQL mySQL = new RyQuickSQL("Files");
mySQL.AddField("FilePath", FilePath);
var ds = db.ReadData("select * from Files where FilePath=@FilePath", mySQL);
if (ds.HaveData())
{
FileId = ds.GetFirstRowData()["id"].ToInt();
Text = "查看历史记录=>"+FilePath;
}
ds.Dispose();
}
rySearch1.PerformClick();
}
private void 修改数据ToolStripMenuItem_Click(object sender, EventArgs e)
{
btnEdit.PerformClick();
}
private void 删除数据ToolStripMenuItem_Click(object sender, EventArgs e)
{
btnDel.PerformClick();
}
public bool SelectModeOn { get; set; } = false;
public HistoryInfo SelectedItem { get; set; }
private void LvCbResult_DoubleClick(object sender, EventArgs e)
{
if(SelectModeOn)
{
if (LvCbResult.SelectedObject == null) { return; }
SelectedItem = (HistoryInfo)LvCbResult.SelectedObject;
DialogResult=DialogResult.OK;
Close();
}
}
private void LvCbResult_SelectionChanged(object sender, EventArgs e)
{
var row = (HistoryInfo)LvCbResult.SelectedObject;
if(row==null)
{
scintillaDiffControl1.TextLeft = "";
scintillaDiffControl1.TextRight ="";
BtnPrev.Enabled = false;
BtnNext.Enabled = false;
return;
}
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.History_SQLConn) == 1)
{
DataSet ds = db.ReadData("select * from History where id=" + row.Id);
if (ds.HaveData())
{
scintillaDiffControl1.TextLeft = Content;
scintillaDiffControl1.TextRight = ds.GetRow(0)["content"].ToString();
}
else
{
scintillaDiffControl1.TextLeft = "";
scintillaDiffControl1.TextRight = "";
}
ds?.Dispose();
}
else
{
scintillaDiffControl1.TextLeft = "";
scintillaDiffControl1.TextRight = "";
}
db.Free();
BtnPrev.Enabled = scintillaDiffControl1.CanGoPrevious;
BtnNext.Enabled = scintillaDiffControl1.CanGoNext;
}
private void BtnPrev_Click(object sender, EventArgs e)
{
scintillaDiffControl1.Previous();
BtnPrev.Enabled = scintillaDiffControl1.CanGoPrevious;
BtnNext.Enabled = scintillaDiffControl1.CanGoNext;
}
private void BtnNext_Click(object sender, EventArgs e)
{
scintillaDiffControl1.Next();
BtnPrev.Enabled = scintillaDiffControl1.CanGoPrevious;
BtnNext.Enabled = scintillaDiffControl1.CanGoNext;
}
}
public class HistoryInfo
{
/// <summary>
/// id
/// </summary>
public int Id{ get; set; }
/// <summary>
/// 名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 字数
/// </summary>
public long Size { get; set; }
/// <summary>
/// 添加时间
/// </summary>
public DateTime AddTime { get; set; }
/// <summary>
/// 添加时间字符串
/// </summary>
public string AddTimeStr
{
get {
if (AddTime.Date == DateTime.Now.Date) { return "今天 " + AddTime.ToString("HH:mm:ss"); }
if (AddTime.Date == DateTime.Now.Date.AddDays(-1)) { return "昨天 " + AddTime.ToString("HH:mm:ss"); }
return AddTime.ToString("yyyy-MM-dd dddd HH:mm:ss");
}
}
}
}
@@ -0,0 +1,200 @@
<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>35, 21</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="scintillaDiffControl1.ImageRowAdded" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAB
ugAAAboB6KsBBgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAATdEVYdFNvdXJj
ZQBPeHlnZW4gSWNvbnPsGK7oAAAB8klEQVQ4T6WS3UtTYQCHj+NYkiaWhQyzSYs5RpZ9iERBU0mzoEHW
tMDSmTS2giAjoiUjY0mFH5M+HJGOBtqH4FqmZDNpBSV54U0xgvoHFl0KDnw6L7EV8V4UXTxweN7n/OA9
HAX4L6RS4Hl/NmQNmxeqn5V8C8Z7b8kagVQKGib3LQ3Fuwl89OGOHUrKGoFUCjYG87n/xUfw63WqIiZN
yTupFBgG8+j75MEf72D3mFFT8i71kKGhpqSg8F4unfPnuDrfTsWTYk39OtMQrXjn54DjuaOrcqQyuaxH
Jcefxerb2RQMrOTiBzeX5k5T9rCQitH1WJ8aqZs045lrSQY+e7vSA6pPTThftOKMNnNq5jjO1yc487aF
1lg9bW8Oc/7dSS7MOumYbcf9qo2m8XoaZ7Ym0gPKFSVRM1zF/tEabON1NL08gmPaTsNULceitbhiR2mO
2tj5aBOWoJFdw2XYpiy/DXgVl9KpLCrXFJQbCpk9OrL9mVSHN3NwYgfFg6swh9ayZUSvXaUIa2TD4oEJ
kys9IGN5r8reSCn2aDnrtA/653kKqRSo3TqsY2Yap8spCORoSt5JpSDjpoIlpGdP2ET+nRWakndSCV6d
4W7eUm5/FvqBNRj69f/+K9sfFw1pAwvbH2z7XtpXclnWCKTy70H5AYUgqeK+blp3AAAAAElFTkSuQmCC
</value>
</data>
<data name="scintillaDiffControl1.ImageRowDeleted" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAu
IgAALiIBquLdkgAAAAd0SU1FB+MEDgkGK7xsdzYAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJ
TVBXgQ4XAAAAN0lEQVQ4T2MYBVQAv/hV/1OAxSg1oIpSAxopNSAfZEAqEMfiwCA5XBgsDwtIbmwYLDkK
aA0YGADE96kTDgVxuQAAAABJRU5ErkJggg==
</value>
</data>
<data name="scintillaDiffControl1.ImageRowDiff" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAbdEVYdFNvdXJjZQBGQU1GQU1GQU0gU2lsayBJY29u
c4J6ZPsAAAGFSURBVDhPY/j//z9FGKsgKRirICkYqyAI398fF3pvb8yJu7ujxbDJwzBWQaAmvru7Iq+9
vb36/+1tYT3Y1MAwVkGgprrX15f8//3lzv/r6wPfX1vrb4pNHQhjCNzcGKwF1PT2x+st/3886/v/7u7W
/5eXeW66tNidFV0tCKNwgDYxXV3lu/jNzTX/fzxu+n+ow/j/r7dr/p+f5/zv3GzHYGS1MIzCAdrkcX9v
9f+frxb9/3Yn8f+hdsP/3x+W//9wb9v/U1Osrp2caMGLrB6E4YwLC1zZgDadeQ8MuO8PSv5/vRUBwbdj
gV6Z8P/hwUn/j3YZ1SFrBmE44+xM++yHh/r+/3wxHWz719vRQC8Ygelv97L+f3u+8f+hZt2XBxu1tbAa
AHTek29v7v7/+W7v/x+vgGHwajUSXvv/9+cr/5+cWPJ/X7XaaqwGAJ335ki7wbfDrfrfgDZ9A9r07UC9
5rf9tRrfgJq+7a1U/ba3XPnbnjKlw1gNIBdjFSQFYxUkHv9nAAC/hu6vewywPwAAAABJRU5ErkJggg==
</value>
</data>
<data name="scintillaDiffControl1.ImageRowOk" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAB
ugAAAboB6KsBBgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAATdEVYdFNvdXJj
ZQBPeHlnZW4gSWNvbnPsGK7oAAAB0UlEQVQ4T2P4//8/RRirICkYqyAuzKlsKsspa1XEIGTOBxPDUIQL
c8jbKYoZR73JbF/xn0/d9waDiDUvSByrYnQMslnKNOZV7ayt/1efuvc/qXnpfx5V7z0gOYQieescWcv4
r3yKzhNhYmBxGUtpWdOoFwU9K/5P2XQCjPO7V/yXM4+8ApIHK+KStczW9y37VzJx5X+XhOb/fEpOE0Di
3AqmErKmYc+T6mb9r5+96X8dEKc3z/8vahD+mU3GXA9ugKRh6K3Yqmn/01vm/k9tnP3fOiQfaIj9NCkj
3+ehhe3/M1vngeWSamf8lzIJ+8oqZ24M0gc3gFvevk/HI/N/YHb7/+jyKf8Tamf9N/WJ+u+bVfU/rXH+
/5SGOf+Tqyf/lzEN/s4qbW4B0ww3AIS55GwX6LrF/vfP6vwfUjD5f1TZ9P/RZbP/hxVM+e8SX/lfytDt
J6eUjQ2yZhBG4XArWK/Qcgn+H5Q/7X98zYr/SQ1r/gfkdv4XN3D4zSFt7YisFoYxBHjkrDYY+4T/L5my
939Gx7L/EoZ2f9ilrNzQ1cEwpgADAyO3vPk2s6C4/9Im9n/Y5a280dUgY+yCQEO4ZK2ysPkZHWMVJAVj
FSQe/2cAAKAehUz/zF2tAAAAAElFTkSuQmCC
</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAICAAAAAAIACcBAAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAgAAAAIAgGAAAAc3p69AAAAARn
QU1BAACxjwv8YQUAAARTSURBVFhH7Zd/bBRFFMcv8Q/ij97eniVK1QTkdvdaOUWa2FBvdw+xRYqNP0hL
UaMFYzSg2BBzWkM4f4QEBFu99u6apgRRosbEGATb3h6miRoNgeg/BhNRSSpyey3REPlH/hnfG96de7tz
7bWR//gkL52ZN/O+b+ZmZqe+q8yHmtXhG2UjHAka4WapObR0YazhBnJdOfxR7QHZ0PZKhpoPGCoT2A+y
qb4q6aEVNOT/wR9VmiRd/bAkpKu/BEz1AxDbIpuh9oChvCkbShZ8f1KffzDRYCx0K4WYP7Ku9paEDXUw
qIcayOWlw3dN0AythBX6gvr/GoiGYuSdOxAgQYHOwowfoeaqcIxluILUXD2SqXVQgITfqFeKf8nNwT5o
VBUC445jnBlXzo0cUx4k8e+xjuJUT/AOREBXJtCoKqSuse46PtZUf6zV6xdR88wEDO1zHFSzStNAoLvS
ClSTAOLX1S7RBITAzl6LnSVTieOyQflSpYHVJoBIpvoRxPlDikZkahIDRyyJHbEs68oeKF+UY/XLuNPF
XBIImuGVEIvBCdlATWKg02n8CXxrQwtkuHDg/O8il4e5JIBA7PNgI1T1UnuvVoNZgiUkQ1uCZVnX7iS3
h2ICfb9/e23GznZlCrlEys4dSueto2nb2pXKW92D0+OlWxEup2zAVE5S1UtNNKzyBODy4AZlcglB8Ztb
IydAbAKMCa2QuwQJvc37w8TA+M8rxClaLEvRcCN3Clja2XxmxXPrxMIuy9iWPeukiisAx+ae65uW3ITl
gK71kLuMocL4XShebQJo97/R/RXErLwCxT0Am28r1uHvx7BrR7nTBQT8BsWx//qBHqGg26LxTraobfnP
FEIM3lgQ9CCWZVPZCGXPHQCbbT0GTE4eZev2PMuTiDzdyuITaaFw0RY/2sTM3o15CiMGjx3M+ieqCkkX
rN3OwDuPH+Czw0QefmcbexcSc/rREife4/4Xjuy9SGHE+PXwGuwIiTxDTR5StoU73yOy9fBbLLK5lS3b
1AJC+8p8La9vYre1N7K+3w7DyTh2O4USw8+3oU5T1QME/MsZ3Gmpc1nWNRxnenxDqe2xkVf47Nv3beH1
QTs78+cZbsLNfBXgYUFNZaTt3GfF4LNZ8uwYF0fDnwrbRi6MBylUZWDAAA6Ck9BGTSXSU9bLbqFK1vDU
ai7efShxuS2fnaQwswMD+TsArtAh/K5Tsy9VsFrdQm7r/XqYLWy5g4tvt5L/+fLWpxSmOhwvo3P4Xadm
2IjZ/U5Bp3WktnNh9XGTvXbyYJkvc/7LWyhE9bhexZNgFtjAk+/v/PvF0T7WOfQSW7XjCbgL1rC6trtZ
7X31fMPtPvVJmfhAfmz+D1QE9wO8kodBfJqSKTOlS2cP9T/Pdny3v0wY7o0LKfvYzO+AueL8z6hnrL+3
/8yRU2Wil20Svobp5OnRBTTsypLJjy3OTOU64W2wLTVlLafmq8yCz/cvMjc9QWLVBkkAAAAASUVORK5C
YII=
</value>
</data>
</root>
+901
View File
@@ -0,0 +1,901 @@
namespace 开发辅助工具.Tools.SmartEditor
{
partial class FrmMainEditor
{
/// <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()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmMainEditor));
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.TsNew = new System.Windows.Forms.ToolStripButton();
this.TsOpen = new System.Windows.Forms.ToolStripButton();
this.TsSave = new System.Windows.Forms.ToolStripButton();
this.TsSaveAll = new System.Windows.Forms.ToolStripButton();
this.TsFTPUpload = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.TsUndo = new System.Windows.Forms.ToolStripButton();
this.TsRedo = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
this.TxtFind = new System.Windows.Forms.ToolStripTextBox();
this.TsFind = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.TsFavView = new System.Windows.Forms.ToolStripButton();
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.文件ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.新建ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.打开ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.重新读取ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.保存ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.保存全部ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.另存为ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.视图ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.置顶显示ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.文件浏览窗口ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.fTP浏览器ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.文件浏览器ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.编辑ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.行操作ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.删除重复行ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.删除空白行ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.大小写转换ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.转换为小写ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.转换为大写ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.单行注释ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.注释选定行ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.取消选定行注释ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.编码与解码ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.base64编码ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.base64解码ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator();
this.urlEncodeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.urlDecodeUTF8ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripSeparator();
this.urlEncodeGB2312ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.urlDecodeGB2312ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.美化ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.搜索ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.查找与替换ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.替换ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.在文件中查找ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.跳到指定行ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.编码ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.使用ANSI编码ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.使用UTF8编码ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.使用UTF8BOM编码ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.使用UTF16BigToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.使用UTF16LittleEndian编码ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.语言ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.工具ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.文件关联ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.站点设置ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.收藏管理ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.fTPToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.上传当前文件ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.上传所有站点当前位置文件ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.上传全部FTP标签文件ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.TsState = new System.Windows.Forms.ToolStripStatusLabel();
this.toolStripStatusLabel2 = new System.Windows.Forms.ToolStripStatusLabel();
this.TsRowCol = new System.Windows.Forms.ToolStripStatusLabel();
this.toolStripStatusLabel3 = new System.Windows.Forms.ToolStripStatusLabel();
this.TsFtpPath = new System.Windows.Forms.ToolStripStatusLabel();
this.dockPanel = new WeifenLuo.WinFormsUI.Docking.DockPanel();
this.vS2015BlueTheme1 = new WeifenLuo.WinFormsUI.ThemeVS2015.VS2015BlueTheme();
this.vsToolStripExtender1 = new WeifenLuo.WinFormsUI.Docking.VisualStudioToolStripExtender(this.components);
this.PnlLoad = new System.Windows.Forms.Panel();
this.label1 = new System.Windows.Forms.Label();
this.toolStrip1.SuspendLayout();
this.menuStrip1.SuspendLayout();
this.statusStrip1.SuspendLayout();
this.PnlLoad.SuspendLayout();
this.SuspendLayout();
//
// toolStrip1
//
this.toolStrip1.ImageScalingSize = new System.Drawing.Size(20, 20);
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.TsNew,
this.TsOpen,
this.TsSave,
this.TsSaveAll,
this.TsFTPUpload,
this.toolStripSeparator1,
this.TsUndo,
this.TsRedo,
this.toolStripSeparator3,
this.TxtFind,
this.TsFind,
this.toolStripSeparator2,
this.TsFavView});
this.toolStrip1.Location = new System.Drawing.Point(0, 25);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Size = new System.Drawing.Size(977, 27);
this.toolStrip1.Stretch = true;
this.toolStrip1.TabIndex = 1;
this.toolStrip1.Text = "toolStrip1";
//
// TsNew
//
this.TsNew.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.TsNew.Image = ((System.Drawing.Image)(resources.GetObject("TsNew.Image")));
this.TsNew.ImageTransparentColor = System.Drawing.Color.Magenta;
this.TsNew.Name = "TsNew";
this.TsNew.Size = new System.Drawing.Size(24, 24);
this.TsNew.Text = "新建";
this.TsNew.Click += new System.EventHandler(this.TsNew_Click);
//
// TsOpen
//
this.TsOpen.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.TsOpen.Image = ((System.Drawing.Image)(resources.GetObject("TsOpen.Image")));
this.TsOpen.ImageTransparentColor = System.Drawing.Color.Magenta;
this.TsOpen.Name = "TsOpen";
this.TsOpen.Size = new System.Drawing.Size(24, 24);
this.TsOpen.Text = "打开";
this.TsOpen.Click += new System.EventHandler(this.TsOpen_Click);
//
// TsSave
//
this.TsSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.TsSave.Enabled = false;
this.TsSave.Image = ((System.Drawing.Image)(resources.GetObject("TsSave.Image")));
this.TsSave.ImageTransparentColor = System.Drawing.Color.Magenta;
this.TsSave.Name = "TsSave";
this.TsSave.Size = new System.Drawing.Size(24, 24);
this.TsSave.Text = "保存";
this.TsSave.Click += new System.EventHandler(this.TsSave_Click);
//
// TsSaveAll
//
this.TsSaveAll.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.TsSaveAll.Image = ((System.Drawing.Image)(resources.GetObject("TsSaveAll.Image")));
this.TsSaveAll.ImageTransparentColor = System.Drawing.Color.Magenta;
this.TsSaveAll.Name = "TsSaveAll";
this.TsSaveAll.Size = new System.Drawing.Size(24, 24);
this.TsSaveAll.Text = "保存全部";
this.TsSaveAll.Click += new System.EventHandler(this.TsSaveAll_Click);
//
// TsFTPUpload
//
this.TsFTPUpload.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.TsFTPUpload.Enabled = false;
this.TsFTPUpload.Image = ((System.Drawing.Image)(resources.GetObject("TsFTPUpload.Image")));
this.TsFTPUpload.ImageTransparentColor = System.Drawing.Color.Magenta;
this.TsFTPUpload.Name = "TsFTPUpload";
this.TsFTPUpload.Size = new System.Drawing.Size(24, 24);
this.TsFTPUpload.Text = "FTP上传";
this.TsFTPUpload.Click += new System.EventHandler(this.TsFTPUpload_Click);
//
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(6, 27);
//
// TsUndo
//
this.TsUndo.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.TsUndo.Enabled = false;
this.TsUndo.Image = ((System.Drawing.Image)(resources.GetObject("TsUndo.Image")));
this.TsUndo.ImageTransparentColor = System.Drawing.Color.Magenta;
this.TsUndo.Name = "TsUndo";
this.TsUndo.Size = new System.Drawing.Size(24, 24);
this.TsUndo.Text = "撤销";
this.TsUndo.Click += new System.EventHandler(this.TsUndo_Click);
//
// TsRedo
//
this.TsRedo.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.TsRedo.Enabled = false;
this.TsRedo.Image = ((System.Drawing.Image)(resources.GetObject("TsRedo.Image")));
this.TsRedo.ImageTransparentColor = System.Drawing.Color.Magenta;
this.TsRedo.Name = "TsRedo";
this.TsRedo.Size = new System.Drawing.Size(24, 24);
this.TsRedo.Text = "重做";
this.TsRedo.Click += new System.EventHandler(this.TsRedo_Click);
//
// toolStripSeparator3
//
this.toolStripSeparator3.Name = "toolStripSeparator3";
this.toolStripSeparator3.Size = new System.Drawing.Size(6, 27);
//
// TxtFind
//
this.TxtFind.Font = new System.Drawing.Font("Microsoft YaHei UI", 9F);
this.TxtFind.Name = "TxtFind";
this.TxtFind.Size = new System.Drawing.Size(200, 27);
this.TxtFind.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TxtFind_KeyDown);
//
// TsFind
//
this.TsFind.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.TsFind.Image = ((System.Drawing.Image)(resources.GetObject("TsFind.Image")));
this.TsFind.ImageTransparentColor = System.Drawing.Color.Magenta;
this.TsFind.Name = "TsFind";
this.TsFind.Size = new System.Drawing.Size(24, 24);
this.TsFind.Text = "查找";
this.TsFind.Click += new System.EventHandler(this.TsFind_Click);
//
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(6, 27);
//
// TsFavView
//
this.TsFavView.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.TsFavView.Image = ((System.Drawing.Image)(resources.GetObject("TsFavView.Image")));
this.TsFavView.ImageTransparentColor = System.Drawing.Color.Magenta;
this.TsFavView.Name = "TsFavView";
this.TsFavView.Size = new System.Drawing.Size(24, 24);
this.TsFavView.Text = "收藏管理";
this.TsFavView.Click += new System.EventHandler(this.TsFavView_Click);
//
// menuStrip1
//
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.文件ToolStripMenuItem,
this.视图ToolStripMenuItem,
this.编辑ToolStripMenuItem,
this.搜索ToolStripMenuItem,
this.编码ToolStripMenuItem,
this.语言ToolStripMenuItem,
this.工具ToolStripMenuItem,
this.fTPToolStripMenuItem});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(977, 25);
this.menuStrip1.TabIndex = 5;
this.menuStrip1.Text = "menuStrip1";
//
// 文件ToolStripMenuItem
//
this.文件ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.新建ToolStripMenuItem,
this.打开ToolStripMenuItem,
this.重新读取ToolStripMenuItem,
this.保存ToolStripMenuItem,
this.保存全部ToolStripMenuItem,
this.另存为ToolStripMenuItem});
this.文件ToolStripMenuItem.Name = "文件ToolStripMenuItem";
this.文件ToolStripMenuItem.Size = new System.Drawing.Size(44, 21);
this.文件ToolStripMenuItem.Text = "文件";
//
// 新建ToolStripMenuItem
//
this.新建ToolStripMenuItem.Name = "新建ToolStripMenuItem";
this.新建ToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.T)));
this.新建ToolStripMenuItem.Size = new System.Drawing.Size(202, 22);
this.新建ToolStripMenuItem.Text = "新建";
this.新建ToolStripMenuItem.Click += new System.EventHandler(this.新建ToolStripMenuItem_Click);
//
// 打开ToolStripMenuItem
//
this.打开ToolStripMenuItem.Name = "打开ToolStripMenuItem";
this.打开ToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O)));
this.打开ToolStripMenuItem.Size = new System.Drawing.Size(202, 22);
this.打开ToolStripMenuItem.Text = "打开";
this.打开ToolStripMenuItem.Click += new System.EventHandler(this.打开ToolStripMenuItem_Click);
//
// 重新读取ToolStripMenuItem
//
this.重新读取ToolStripMenuItem.Enabled = false;
this.重新读取ToolStripMenuItem.Name = "重新读取ToolStripMenuItem";
this.重新读取ToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.R)));
this.重新读取ToolStripMenuItem.Size = new System.Drawing.Size(202, 22);
this.重新读取ToolStripMenuItem.Text = "重新读取";
this.重新读取ToolStripMenuItem.Click += new System.EventHandler(this.重新读取ToolStripMenuItem_Click);
//
// 保存ToolStripMenuItem
//
this.保存ToolStripMenuItem.Enabled = false;
this.保存ToolStripMenuItem.Name = "保存ToolStripMenuItem";
this.保存ToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S)));
this.保存ToolStripMenuItem.Size = new System.Drawing.Size(202, 22);
this.保存ToolStripMenuItem.Text = "保存";
this.保存ToolStripMenuItem.Click += new System.EventHandler(this.保存ToolStripMenuItem_Click);
//
// 保存全部ToolStripMenuItem
//
this.保存全部ToolStripMenuItem.Name = "保存全部ToolStripMenuItem";
this.保存全部ToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
| System.Windows.Forms.Keys.S)));
this.保存全部ToolStripMenuItem.Size = new System.Drawing.Size(202, 22);
this.保存全部ToolStripMenuItem.Text = "保存全部";
this.保存全部ToolStripMenuItem.Click += new System.EventHandler(this.保存全部ToolStripMenuItem_Click);
//
// 另存为ToolStripMenuItem
//
this.另存为ToolStripMenuItem.Name = "另存为ToolStripMenuItem";
this.另存为ToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Alt)
| System.Windows.Forms.Keys.S)));
this.另存为ToolStripMenuItem.Size = new System.Drawing.Size(202, 22);
this.另存为ToolStripMenuItem.Text = "另存为";
this.另存为ToolStripMenuItem.Click += new System.EventHandler(this.另存为ToolStripMenuItem_Click);
//
// 视图ToolStripMenuItem
//
this.视图ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.置顶显示ToolStripMenuItem,
this.文件浏览窗口ToolStripMenuItem,
this.fTP浏览器ToolStripMenuItem,
this.文件浏览器ToolStripMenuItem});
this.视图ToolStripMenuItem.Name = "视图ToolStripMenuItem";
this.视图ToolStripMenuItem.Size = new System.Drawing.Size(44, 21);
this.视图ToolStripMenuItem.Text = "视图";
//
// 置顶显示ToolStripMenuItem
//
this.置顶显示ToolStripMenuItem.Name = "置顶显示ToolStripMenuItem";
this.置顶显示ToolStripMenuItem.Size = new System.Drawing.Size(136, 22);
this.置顶显示ToolStripMenuItem.Text = "置顶显示";
this.置顶显示ToolStripMenuItem.Click += new System.EventHandler(this.置顶显示ToolStripMenuItem_Click);
//
// 文件浏览窗口ToolStripMenuItem
//
this.文件浏览窗口ToolStripMenuItem.Name = "文件浏览窗口ToolStripMenuItem";
this.文件浏览窗口ToolStripMenuItem.Size = new System.Drawing.Size(136, 22);
this.文件浏览窗口ToolStripMenuItem.Text = "工作区窗口";
this.文件浏览窗口ToolStripMenuItem.Click += new System.EventHandler(this.文件浏览窗口ToolStripMenuItem_Click);
//
// fTP浏览器ToolStripMenuItem
//
this.fTP浏览器ToolStripMenuItem.Name = "fTP浏览器ToolStripMenuItem";
this.fTP浏览器ToolStripMenuItem.Size = new System.Drawing.Size(136, 22);
this.fTP浏览器ToolStripMenuItem.Text = "FTP浏览器";
this.fTP浏览器ToolStripMenuItem.Click += new System.EventHandler(this.FTP浏览器ToolStripMenuItem_Click);
//
// 文件浏览器ToolStripMenuItem
//
this.文件浏览器ToolStripMenuItem.Name = "文件浏览器ToolStripMenuItem";
this.文件浏览器ToolStripMenuItem.Size = new System.Drawing.Size(136, 22);
this.文件浏览器ToolStripMenuItem.Text = "文件浏览器";
this.文件浏览器ToolStripMenuItem.Click += new System.EventHandler(this.文件浏览器ToolStripMenuItem_Click);
//
// 编辑ToolStripMenuItem
//
this.编辑ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.行操作ToolStripMenuItem,
this.大小写转换ToolStripMenuItem,
this.单行注释ToolStripMenuItem,
this.编码与解码ToolStripMenuItem,
this.美化ToolStripMenuItem});
this.编辑ToolStripMenuItem.Name = "编辑ToolStripMenuItem";
this.编辑ToolStripMenuItem.Size = new System.Drawing.Size(44, 21);
this.编辑ToolStripMenuItem.Text = "编辑";
//
// 行操作ToolStripMenuItem
//
this.行操作ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.删除重复行ToolStripMenuItem,
this.删除空白行ToolStripMenuItem});
this.行操作ToolStripMenuItem.Name = "行操作ToolStripMenuItem";
this.行操作ToolStripMenuItem.Size = new System.Drawing.Size(177, 22);
this.行操作ToolStripMenuItem.Text = "行操作";
//
// 删除重复行ToolStripMenuItem
//
this.删除重复行ToolStripMenuItem.Name = "删除重复行ToolStripMenuItem";
this.删除重复行ToolStripMenuItem.Size = new System.Drawing.Size(136, 22);
this.删除重复行ToolStripMenuItem.Text = "删除重复行";
this.删除重复行ToolStripMenuItem.Click += new System.EventHandler(this.删除重复行ToolStripMenuItem_Click);
//
// 删除空白行ToolStripMenuItem
//
this.删除空白行ToolStripMenuItem.Name = "删除空白行ToolStripMenuItem";
this.删除空白行ToolStripMenuItem.Size = new System.Drawing.Size(136, 22);
this.删除空白行ToolStripMenuItem.Text = "删除空白行";
this.删除空白行ToolStripMenuItem.Click += new System.EventHandler(this.删除空白行ToolStripMenuItem_Click);
//
// 大小写转换ToolStripMenuItem
//
this.大小写转换ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.转换为小写ToolStripMenuItem,
this.转换为大写ToolStripMenuItem});
this.大小写转换ToolStripMenuItem.Name = "大小写转换ToolStripMenuItem";
this.大小写转换ToolStripMenuItem.Size = new System.Drawing.Size(177, 22);
this.大小写转换ToolStripMenuItem.Text = "大小写转换";
//
// 转换为小写ToolStripMenuItem
//
this.转换为小写ToolStripMenuItem.Name = "转换为小写ToolStripMenuItem";
this.转换为小写ToolStripMenuItem.Size = new System.Drawing.Size(136, 22);
this.转换为小写ToolStripMenuItem.Text = "转换为小写";
this.转换为小写ToolStripMenuItem.Click += new System.EventHandler(this.转换为小写ToolStripMenuItem_Click);
//
// 转换为大写ToolStripMenuItem
//
this.转换为大写ToolStripMenuItem.Name = "转换为大写ToolStripMenuItem";
this.转换为大写ToolStripMenuItem.Size = new System.Drawing.Size(136, 22);
this.转换为大写ToolStripMenuItem.Text = "转换为大写";
this.转换为大写ToolStripMenuItem.Click += new System.EventHandler(this.转换为大写ToolStripMenuItem_Click);
//
// 单行注释ToolStripMenuItem
//
this.单行注释ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.注释选定行ToolStripMenuItem,
this.取消选定行注释ToolStripMenuItem});
this.单行注释ToolStripMenuItem.Name = "单行注释ToolStripMenuItem";
this.单行注释ToolStripMenuItem.Size = new System.Drawing.Size(177, 22);
this.单行注释ToolStripMenuItem.Text = "单行注释/取消注释";
//
// 注释选定行ToolStripMenuItem
//
this.注释选定行ToolStripMenuItem.Name = "注释选定行ToolStripMenuItem";
this.注释选定行ToolStripMenuItem.Size = new System.Drawing.Size(160, 22);
this.注释选定行ToolStripMenuItem.Text = "注释选定行";
this.注释选定行ToolStripMenuItem.Click += new System.EventHandler(this.注释选定行ToolStripMenuItem_Click);
//
// 取消选定行注释ToolStripMenuItem
//
this.取消选定行注释ToolStripMenuItem.Name = "取消选定行注释ToolStripMenuItem";
this.取消选定行注释ToolStripMenuItem.Size = new System.Drawing.Size(160, 22);
this.取消选定行注释ToolStripMenuItem.Text = "取消选定行注释";
this.取消选定行注释ToolStripMenuItem.Click += new System.EventHandler(this.取消选定行注释ToolStripMenuItem_Click);
//
// 编码与解码ToolStripMenuItem
//
this.编码与解码ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.base64编码ToolStripMenuItem,
this.base64解码ToolStripMenuItem,
this.toolStripMenuItem1,
this.urlEncodeToolStripMenuItem,
this.urlDecodeUTF8ToolStripMenuItem,
this.toolStripMenuItem2,
this.urlEncodeGB2312ToolStripMenuItem,
this.urlDecodeGB2312ToolStripMenuItem});
this.编码与解码ToolStripMenuItem.Name = "编码与解码ToolStripMenuItem";
this.编码与解码ToolStripMenuItem.Size = new System.Drawing.Size(177, 22);
this.编码与解码ToolStripMenuItem.Text = "编码与解码";
//
// base64编码ToolStripMenuItem
//
this.base64编码ToolStripMenuItem.Name = "base64编码ToolStripMenuItem";
this.base64编码ToolStripMenuItem.Size = new System.Drawing.Size(191, 22);
this.base64编码ToolStripMenuItem.Text = "Base64编码";
this.base64编码ToolStripMenuItem.Click += new System.EventHandler(this.Base64编码ToolStripMenuItem_Click);
//
// base64解码ToolStripMenuItem
//
this.base64解码ToolStripMenuItem.Name = "base64解码ToolStripMenuItem";
this.base64解码ToolStripMenuItem.Size = new System.Drawing.Size(191, 22);
this.base64解码ToolStripMenuItem.Text = "Base64解码";
this.base64解码ToolStripMenuItem.Click += new System.EventHandler(this.Base64解码ToolStripMenuItem_Click);
//
// toolStripMenuItem1
//
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
this.toolStripMenuItem1.Size = new System.Drawing.Size(188, 6);
//
// urlEncodeToolStripMenuItem
//
this.urlEncodeToolStripMenuItem.Name = "urlEncodeToolStripMenuItem";
this.urlEncodeToolStripMenuItem.Size = new System.Drawing.Size(191, 22);
this.urlEncodeToolStripMenuItem.Text = "UrlEncode(UTF8)";
this.urlEncodeToolStripMenuItem.Click += new System.EventHandler(this.UrlEncodeToolStripMenuItem_Click);
//
// urlDecodeUTF8ToolStripMenuItem
//
this.urlDecodeUTF8ToolStripMenuItem.Name = "urlDecodeUTF8ToolStripMenuItem";
this.urlDecodeUTF8ToolStripMenuItem.Size = new System.Drawing.Size(191, 22);
this.urlDecodeUTF8ToolStripMenuItem.Text = "UrlDecode(UTF8)";
this.urlDecodeUTF8ToolStripMenuItem.Click += new System.EventHandler(this.UrlDecodeUTF8ToolStripMenuItem_Click);
//
// toolStripMenuItem2
//
this.toolStripMenuItem2.Name = "toolStripMenuItem2";
this.toolStripMenuItem2.Size = new System.Drawing.Size(188, 6);
//
// urlEncodeGB2312ToolStripMenuItem
//
this.urlEncodeGB2312ToolStripMenuItem.Name = "urlEncodeGB2312ToolStripMenuItem";
this.urlEncodeGB2312ToolStripMenuItem.Size = new System.Drawing.Size(191, 22);
this.urlEncodeGB2312ToolStripMenuItem.Text = "UrlEncode(GB2312)";
this.urlEncodeGB2312ToolStripMenuItem.Click += new System.EventHandler(this.UrlEncodeGB2312ToolStripMenuItem_Click);
//
// urlDecodeGB2312ToolStripMenuItem
//
this.urlDecodeGB2312ToolStripMenuItem.Name = "urlDecodeGB2312ToolStripMenuItem";
this.urlDecodeGB2312ToolStripMenuItem.Size = new System.Drawing.Size(191, 22);
this.urlDecodeGB2312ToolStripMenuItem.Text = "UrlDecode(GB2312)";
this.urlDecodeGB2312ToolStripMenuItem.Click += new System.EventHandler(this.UrlDecodeGB2312ToolStripMenuItem_Click);
//
// 美化ToolStripMenuItem
//
this.美化ToolStripMenuItem.Name = "美化ToolStripMenuItem";
this.美化ToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Alt)
| System.Windows.Forms.Keys.M)));
this.美化ToolStripMenuItem.Size = new System.Drawing.Size(177, 22);
this.美化ToolStripMenuItem.Text = "美化";
this.美化ToolStripMenuItem.Click += new System.EventHandler(this.美化ToolStripMenuItem_Click);
//
// 搜索ToolStripMenuItem
//
this.搜索ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.查找与替换ToolStripMenuItem,
this.替换ToolStripMenuItem,
this.在文件中查找ToolStripMenuItem,
this.跳到指定行ToolStripMenuItem});
this.搜索ToolStripMenuItem.Name = "搜索ToolStripMenuItem";
this.搜索ToolStripMenuItem.Size = new System.Drawing.Size(44, 21);
this.搜索ToolStripMenuItem.Text = "搜索";
//
// 查找与替换ToolStripMenuItem
//
this.查找与替换ToolStripMenuItem.Name = "查找与替换ToolStripMenuItem";
this.查找与替换ToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F)));
this.查找与替换ToolStripMenuItem.Size = new System.Drawing.Size(215, 22);
this.查找与替换ToolStripMenuItem.Text = "查找";
this.查找与替换ToolStripMenuItem.Click += new System.EventHandler(this.查找与替换ToolStripMenuItem_Click);
//
// 替换ToolStripMenuItem
//
this.替换ToolStripMenuItem.Name = "替换ToolStripMenuItem";
this.替换ToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.H)));
this.替换ToolStripMenuItem.Size = new System.Drawing.Size(215, 22);
this.替换ToolStripMenuItem.Text = "替换";
this.替换ToolStripMenuItem.Click += new System.EventHandler(this.替换ToolStripMenuItem_Click);
//
// 在文件中查找ToolStripMenuItem
//
this.在文件中查找ToolStripMenuItem.Name = "在文件中查找ToolStripMenuItem";
this.在文件中查找ToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Alt)
| System.Windows.Forms.Keys.F)));
this.在文件中查找ToolStripMenuItem.Size = new System.Drawing.Size(215, 22);
this.在文件中查找ToolStripMenuItem.Text = "在文件中查找";
this.在文件中查找ToolStripMenuItem.Click += new System.EventHandler(this.在文件中查找ToolStripMenuItem_Click);
//
// 跳到指定行ToolStripMenuItem
//
this.跳到指定行ToolStripMenuItem.Name = "跳到指定行ToolStripMenuItem";
this.跳到指定行ToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.G)));
this.跳到指定行ToolStripMenuItem.Size = new System.Drawing.Size(215, 22);
this.跳到指定行ToolStripMenuItem.Text = "跳到指定行";
this.跳到指定行ToolStripMenuItem.Click += new System.EventHandler(this.跳到指定行ToolStripMenuItem_Click);
//
// 编码ToolStripMenuItem
//
this.编码ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.使用ANSI编码ToolStripMenuItem,
this.使用UTF8编码ToolStripMenuItem,
this.使用UTF8BOM编码ToolStripMenuItem,
this.使用UTF16BigToolStripMenuItem,
this.使用UTF16LittleEndian编码ToolStripMenuItem});
this.编码ToolStripMenuItem.Name = "编码ToolStripMenuItem";
this.编码ToolStripMenuItem.Size = new System.Drawing.Size(44, 21);
this.编码ToolStripMenuItem.Text = "编码";
//
// 使用ANSI编码ToolStripMenuItem
//
this.使用ANSI编码ToolStripMenuItem.Name = "使用ANSI编码ToolStripMenuItem";
this.使用ANSI编码ToolStripMenuItem.Size = new System.Drawing.Size(247, 22);
this.使用ANSI编码ToolStripMenuItem.Text = "使用 ANSI 编码";
this.使用ANSI编码ToolStripMenuItem.Click += new System.EventHandler(this.使用ANSI编码ToolStripMenuItem_Click);
//
// 使用UTF8编码ToolStripMenuItem
//
this.使用UTF8编码ToolStripMenuItem.Name = "使用UTF8编码ToolStripMenuItem";
this.使用UTF8编码ToolStripMenuItem.Size = new System.Drawing.Size(247, 22);
this.使用UTF8编码ToolStripMenuItem.Text = "使用 UTF-8 编码";
this.使用UTF8编码ToolStripMenuItem.Click += new System.EventHandler(this.使用UTF8编码ToolStripMenuItem_Click);
//
// 使用UTF8BOM编码ToolStripMenuItem
//
this.使用UTF8BOM编码ToolStripMenuItem.Name = "使用UTF8BOM编码ToolStripMenuItem";
this.使用UTF8BOM编码ToolStripMenuItem.Size = new System.Drawing.Size(247, 22);
this.使用UTF8BOM编码ToolStripMenuItem.Text = "使用 UTF-8 BOM 编码";
this.使用UTF8BOM编码ToolStripMenuItem.Click += new System.EventHandler(this.使用UTF8BOM编码ToolStripMenuItem_Click);
//
// 使用UTF16BigToolStripMenuItem
//
this.使用UTF16BigToolStripMenuItem.Name = "使用UTF16BigToolStripMenuItem";
this.使用UTF16BigToolStripMenuItem.Size = new System.Drawing.Size(247, 22);
this.使用UTF16BigToolStripMenuItem.Text = "使用 UTF-16 Big Endian 编码 ";
this.使用UTF16BigToolStripMenuItem.Click += new System.EventHandler(this.使用UTF16BigToolStripMenuItem_Click);
//
// 使用UTF16LittleEndian编码ToolStripMenuItem
//
this.使用UTF16LittleEndian编码ToolStripMenuItem.Name = "使用UTF16LittleEndian编码ToolStripMenuItem";
this.使用UTF16LittleEndian编码ToolStripMenuItem.Size = new System.Drawing.Size(247, 22);
this.使用UTF16LittleEndian编码ToolStripMenuItem.Text = "使用 UTF-16 Little Endian 编码";
this.使用UTF16LittleEndian编码ToolStripMenuItem.Click += new System.EventHandler(this.使用UTF16LittleEndian编码ToolStripMenuItem_Click);
//
// 语言ToolStripMenuItem
//
this.语言ToolStripMenuItem.Name = "语言ToolStripMenuItem";
this.语言ToolStripMenuItem.Size = new System.Drawing.Size(44, 21);
this.语言ToolStripMenuItem.Text = "语言";
//
// 工具ToolStripMenuItem
//
this.工具ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.文件关联ToolStripMenuItem,
this.站点设置ToolStripMenuItem,
this.收藏管理ToolStripMenuItem});
this.工具ToolStripMenuItem.Name = "工具ToolStripMenuItem";
this.工具ToolStripMenuItem.Size = new System.Drawing.Size(44, 21);
this.工具ToolStripMenuItem.Text = "工具";
//
// 文件关联ToolStripMenuItem
//
this.文件关联ToolStripMenuItem.Name = "文件关联ToolStripMenuItem";
this.文件关联ToolStripMenuItem.Size = new System.Drawing.Size(169, 22);
this.文件关联ToolStripMenuItem.Text = "文件关联";
this.文件关联ToolStripMenuItem.Click += new System.EventHandler(this.文件关联ToolStripMenuItem_Click);
//
// 站点设置ToolStripMenuItem
//
this.站点设置ToolStripMenuItem.Name = "站点设置ToolStripMenuItem";
this.站点设置ToolStripMenuItem.Size = new System.Drawing.Size(169, 22);
this.站点设置ToolStripMenuItem.Text = "站点设置";
this.站点设置ToolStripMenuItem.Click += new System.EventHandler(this.站点设置ToolStripMenuItem_Click);
//
// 收藏管理ToolStripMenuItem
//
this.收藏管理ToolStripMenuItem.Name = "收藏管理ToolStripMenuItem";
this.收藏管理ToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.K)));
this.收藏管理ToolStripMenuItem.Size = new System.Drawing.Size(169, 22);
this.收藏管理ToolStripMenuItem.Text = "收藏管理";
this.收藏管理ToolStripMenuItem.Click += new System.EventHandler(this.TsFavView_Click);
//
// fTPToolStripMenuItem
//
this.fTPToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.上传当前文件ToolStripMenuItem,
this.上传所有站点当前位置文件ToolStripMenuItem,
this.上传全部FTP标签文件ToolStripMenuItem});
this.fTPToolStripMenuItem.Name = "fTPToolStripMenuItem";
this.fTPToolStripMenuItem.Size = new System.Drawing.Size(40, 21);
this.fTPToolStripMenuItem.Text = "FTP";
//
// 上传当前文件ToolStripMenuItem
//
this.上传当前文件ToolStripMenuItem.Enabled = false;
this.上传当前文件ToolStripMenuItem.Name = "上传当前文件ToolStripMenuItem";
this.上传当前文件ToolStripMenuItem.Size = new System.Drawing.Size(256, 22);
this.上传当前文件ToolStripMenuItem.Text = "上传当前文件";
this.上传当前文件ToolStripMenuItem.Click += new System.EventHandler(this.上传当前文件ToolStripMenuItem_Click);
//
// 上传所有站点当前位置文件ToolStripMenuItem
//
this.上传所有站点当前位置文件ToolStripMenuItem.Name = "上传所有站点当前位置文件ToolStripMenuItem";
this.上传所有站点当前位置文件ToolStripMenuItem.Size = new System.Drawing.Size(256, 22);
this.上传所有站点当前位置文件ToolStripMenuItem.Text = "上传当前相对位置文件到所有站点";
this.上传所有站点当前位置文件ToolStripMenuItem.Click += new System.EventHandler(this.上传所有站点当前位置文件ToolStripMenuItem_Click);
//
// 上传全部FTP标签文件ToolStripMenuItem
//
this.上传全部FTP标签文件ToolStripMenuItem.Name = "上传全部FTP标签文件ToolStripMenuItem";
this.上传全部FTP标签文件ToolStripMenuItem.Size = new System.Drawing.Size(256, 22);
this.上传全部FTP标签文件ToolStripMenuItem.Text = "上传全部FTP标签文件";
this.上传全部FTP标签文件ToolStripMenuItem.Click += new System.EventHandler(this.上传全部FTP标签文件ToolStripMenuItem_Click);
//
// statusStrip1
//
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.TsState,
this.toolStripStatusLabel2,
this.TsRowCol,
this.toolStripStatusLabel3,
this.TsFtpPath});
this.statusStrip1.Location = new System.Drawing.Point(0, 716);
this.statusStrip1.Name = "statusStrip1";
this.statusStrip1.Size = new System.Drawing.Size(977, 22);
this.statusStrip1.TabIndex = 7;
this.statusStrip1.Text = "statusStrip1";
//
// TsState
//
this.TsState.Name = "TsState";
this.TsState.Size = new System.Drawing.Size(813, 17);
this.TsState.Spring = true;
this.TsState.Text = "状态:准备就绪。";
this.TsState.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// toolStripStatusLabel2
//
this.toolStripStatusLabel2.ForeColor = System.Drawing.Color.Gray;
this.toolStripStatusLabel2.Name = "toolStripStatusLabel2";
this.toolStripStatusLabel2.Size = new System.Drawing.Size(11, 17);
this.toolStripStatusLabel2.Text = "|";
//
// TsRowCol
//
this.TsRowCol.Name = "TsRowCol";
this.TsRowCol.Size = new System.Drawing.Size(60, 17);
this.TsRowCol.Text = "行:0 列: 0";
//
// toolStripStatusLabel3
//
this.toolStripStatusLabel3.ForeColor = System.Drawing.Color.Gray;
this.toolStripStatusLabel3.Name = "toolStripStatusLabel3";
this.toolStripStatusLabel3.Size = new System.Drawing.Size(11, 17);
this.toolStripStatusLabel3.Text = "|";
//
// TsFtpPath
//
this.TsFtpPath.Name = "TsFtpPath";
this.TsFtpPath.Size = new System.Drawing.Size(67, 17);
this.TsFtpPath.Text = "FTP路径:无";
//
// dockPanel
//
this.dockPanel.Dock = System.Windows.Forms.DockStyle.Fill;
this.dockPanel.DockBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(41)))), ((int)(((byte)(57)))), ((int)(((byte)(85)))));
this.dockPanel.DockBottomPortion = 150D;
this.dockPanel.DockLeftPortion = 200D;
this.dockPanel.DockRightPortion = 200D;
this.dockPanel.DockTopPortion = 150D;
this.dockPanel.Font = new System.Drawing.Font("Tahoma", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.World, ((byte)(0)));
this.dockPanel.Location = new System.Drawing.Point(0, 52);
this.dockPanel.Name = "dockPanel";
this.dockPanel.Padding = new System.Windows.Forms.Padding(6);
this.dockPanel.RightToLeftLayout = true;
this.dockPanel.ShowAutoHideContentOnHover = false;
this.dockPanel.ShowDocumentIcon = true;
this.dockPanel.Size = new System.Drawing.Size(977, 686);
this.dockPanel.TabIndex = 2;
this.dockPanel.Theme = this.vS2015BlueTheme1;
this.dockPanel.ActiveContentChanged += new System.EventHandler(this.DockPanel_ActiveContentChanged);
//
// vsToolStripExtender1
//
this.vsToolStripExtender1.DefaultRenderer = null;
//
// PnlLoad
//
this.PnlLoad.BackColor = System.Drawing.Color.White;
this.PnlLoad.Controls.Add(this.label1);
this.PnlLoad.Location = new System.Drawing.Point(186, 120);
this.PnlLoad.Name = "PnlLoad";
this.PnlLoad.Size = new System.Drawing.Size(497, 193);
this.PnlLoad.TabIndex = 10;
this.PnlLoad.Visible = false;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label1.Location = new System.Drawing.Point(43, 110);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(126, 14);
this.label1.TabIndex = 0;
this.label1.Text = "正在初始化数据...";
//
// FrmMainEditor
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(977, 738);
this.Controls.Add(this.PnlLoad);
this.Controls.Add(this.statusStrip1);
this.Controls.Add(this.dockPanel);
this.Controls.Add(this.toolStrip1);
this.Controls.Add(this.menuStrip1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.IsMdiContainer = true;
this.Name = "FrmMainEditor";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "文本编辑器";
this.Deactivate += new System.EventHandler(this.FrmMainEditor_Deactivate);
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FrmMainEditor_FormClosing);
this.Load += new System.EventHandler(this.FrmMainEditor_Load);
this.Shown += new System.EventHandler(this.FrmMainEditor_Shown);
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout();
this.statusStrip1.ResumeLayout(false);
this.statusStrip1.PerformLayout();
this.PnlLoad.ResumeLayout(false);
this.PnlLoad.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.ToolStrip toolStrip1;
private System.Windows.Forms.MenuStrip menuStrip1;
private System.Windows.Forms.ToolStripMenuItem 文件ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 新建ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 打开ToolStripMenuItem;
private WeifenLuo.WinFormsUI.ThemeVS2015.VS2015BlueTheme vS2015BlueTheme1;
private WeifenLuo.WinFormsUI.Docking.VisualStudioToolStripExtender vsToolStripExtender1;
private System.Windows.Forms.ToolStripMenuItem 保存ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 保存全部ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 另存为ToolStripMenuItem;
private System.Windows.Forms.ToolStripButton TsNew;
private System.Windows.Forms.ToolStripButton TsOpen;
private System.Windows.Forms.ToolStripMenuItem 重新读取ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 编辑ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 行操作ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 删除重复行ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 删除空白行ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 编码ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 使用ANSI编码ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 使用UTF8编码ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 使用UTF8BOM编码ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 使用UTF16BigToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 使用UTF16LittleEndian编码ToolStripMenuItem;
private System.Windows.Forms.ToolStripButton TsSave;
private System.Windows.Forms.ToolStripButton TsSaveAll;
private System.Windows.Forms.ToolStripButton TsFTPUpload;
private System.Windows.Forms.StatusStrip statusStrip1;
private System.Windows.Forms.ToolStripStatusLabel TsState;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
private System.Windows.Forms.ToolStripTextBox TxtFind;
private System.Windows.Forms.ToolStripButton TsFind;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
private System.Windows.Forms.ToolStripButton TsFavView;
private System.Windows.Forms.ToolStripStatusLabel TsFtpPath;
private System.Windows.Forms.ToolStripMenuItem fTPToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 上传当前文件ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 上传所有站点当前位置文件ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 上传全部FTP标签文件ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 搜索ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 查找与替换ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 跳到指定行ToolStripMenuItem;
private System.Windows.Forms.ToolStripButton TsUndo;
private System.Windows.Forms.ToolStripButton TsRedo;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
private System.Windows.Forms.ToolStripMenuItem 大小写转换ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 转换为小写ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 转换为大写ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 单行注释ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 注释选定行ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 取消选定行注释ToolStripMenuItem;
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel2;
private System.Windows.Forms.ToolStripStatusLabel TsRowCol;
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel3;
private System.Windows.Forms.ToolStripMenuItem 替换ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 编码与解码ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem base64编码ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem base64解码ToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem urlEncodeToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem urlDecodeUTF8ToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem2;
private System.Windows.Forms.ToolStripMenuItem urlEncodeGB2312ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem urlDecodeGB2312ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 视图ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 文件浏览窗口ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 置顶显示ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 语言ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem fTP浏览器ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 在文件中查找ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 工具ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 文件关联ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 站点设置ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 收藏管理ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 文件浏览器ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 美化ToolStripMenuItem;
private System.Windows.Forms.Panel PnlLoad;
private System.Windows.Forms.Label label1;
public WeifenLuo.WinFormsUI.Docking.DockPanel dockPanel;
}
}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,377 @@
<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="TsNew.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACLSURBVFhH7dYhDoAwEETRHo1TYFAYFAaDIuFoHA1mRJMK
IN3uBsNM8l3TPNU0aQ/r0G6sR2Ej4GxoQCErAUdl+fyI3CsBNSsBbEKueQFsRs2LALAFNS0KwFZkXiSA
bci0aADjndWzAu4eptwngLcJIIAAAggggABuAD8bntyAqMyAu9+NJxPgL0vpAoJkz+uuCJ84AAAAAElF
TkSuQmCC
</value>
</data>
<data name="TsOpen.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFNSURBVFhHYxgFo2AUYAPpm8sd0rZU1ePCIHmoUtoAkAXp
W6r+48Qj3gGpWyr3E4vJcizBECAFjzqA2g7AFs/4MHUdsKniNFQJbQEuB6RtqnQGyWMrnEjFYItwAWwO
AGpaDpJL3VJthS5HKs7YXKkDtggXwOaAjA016hC5qqXocqTgtC2VS8CW4APoDkjbXNkCEk/bUu2BLE4O
TtpQygu2BB9AdkDS5sqXabvL+UHiqZurdiEbRiqGeYQgQHYAMOFlg8TSNlWHIxtGKk5cU/UObDgxAMkB
x6BCQN+XPUI2kGS8uTIVahRhAHNA6qaqYAi/KgfDQBIwMAedARtMLAA5AJha14HYISsLObEZSgpO3VLh
AjaYWAAOgY2V1iA20CGTsRlKPK5cBTaUFAByAIjO3FEtC3YMBThzS4US2FBSQOq2amUocxSMguEOGBgA
cVRz1KE1SXQAAAAASUVORK5CYII=
</value>
</data>
<data name="TsSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAwcSURBVGhD7Zh5UFRXFsY7JjWTzT9mKpPEmi0TkxjNmGhc
knGSuOMuQaNOXOMaDBINqKCMK4OCCgquqIka12hM1LgERXZRBJQd2fdu6G6g+zU09MY33312G8YiBLpm
quYPT9VXj37vdb/vd+85596H4lE8ikfxc7HtdYUiMJzHBCpRoQi58b9VaP5PcjxvyxmFImi43VBnguaf
CK18zuUW3vSuxNuUi28+Rq3Kk+Xim4eRvvfuyycXI4RW5sgaLrQiG8OElgtlYai3Q5kY4iWUgcFfCKXj
g1aSPy9LR68lpejuWYUXJmfisa7hFoK42o11NIKOvzA2BWsTgV1pwKbrNqTlFKKmtg71jc3QSs1Q65tQ
o2uCqr4JytomVGqNKNcYUaYWakSFrAZUau6rSmuQpaRUtZKs6lo9quv0UFMaHY+1tYi4HgWv0zrM/h6Y
cQ7ovkQFRZcdSXZjHYwuoSUfbNJj710gLAn41xUz0jPzoNdLMFkBowloaAYkI6BrBOobgDoDoNWDUFQ9
CMjPEs9T4rq4T9zf0ARwDOTfaDYDJgtg4W/aWgAz/7h29Sq8jmsx8xtgwVng/V1Al+eP1tuddTAeDy0f
EWzAzhQg5CYBfjQjIysfOp2EZj5QGBBG9DQkzNXTPAcUGgFA86o6cFbuH2UYQgm4Wt4n7tXxO3oCGVoB
CZjGJjOuXYskgAYDfaLQf+kZDNom4Ve/P6W3O+tgPB5W5hIsIfQ2EEyATRFmZGUXyjNg5mg1cfQcEBKN
CEMPIOwz0CYErwsIMVsyBAEcEPKsGglwNRLeJzR4Y1UyenhFYFBwA37d7YjO7qyDQYDRIRJ2EGDrDWDz
VTOy7xVBkgyw2u6PlgNCGBCjKQzJafRLEGImeM8DCHtqyb/VIACuYflJLVyPtGDSsRYM3W1zAuCJsLJx
OyQE3wKCEoDAqxbk5hfzAQZ7rraC4OjJ6UQjD2qhNQQBOgJhEL9BgMjISKw8pcWUY8D0k8DIvTY86QzA
hDAJ25g+m+MJEWlBXkEpjI18GkPMgkilhyHESDogWteE8udmgvc5akJ8V28wIyoqCr6nazH5a2AaIVz2
OQngulPCFgIExAJbrltQUFQOo/E+QAtnQUCIjtQ6nRw10eHC5nUHhJyGBIiOjsaqM7X48Agw5SgwKtxJ
ALfdEoK4DvjHsA4IUFRSgSY7gAgHxH+kk70mOlTYPOdotTIE76/TmxEbG4vV39bC9TDkWRiz30mAj/ZI
2Mz83xANbIuyoqS0Ck1NdNYqBITo4Q/XRIcLW0CImSCInHYEiI+Lg9/ZOkw8BHkWxh5wAuAxAkzdKyGA
+b/2OlspAcoqlGhuorOH4mEI0Q5/qbDbrAle1+osuJGQgDXf1WHcV5Ahxh10AqALAf4RLsE/DlgTycUs
xoqKSlWbACLarAk7REcLW5xX11uQeOMG1p2rx9gvgfGEmECA33R3AmDGAQkbWcB+14DtsVZUKmtgaqaj
n4kHEA/VRJuF3UY6iVlQ11lw82Yi1p+vx5iDTB9CuH5lw3OvdBLgcQLMOihhAwvY9yoQGmeFSqVuF0CE
DPFwTbRR2G3VRDX/rqm1IOnWTWwkgMsBdiDK7ZANv3vVCYA5X0pYxwL2+fE+QLVaC7OJbn4hHDMh6kLM
Brc3MDpmwl7crdNJjLyAUBGgutaK5KQk+P9Qj5HhXAP2A5MO2/C8MwDzDklYEwUsvwLsjLdBq62FudmI
FpuNsj6QzSGrRZaVsnAKTCYzmjgNRu5vxB5HbBP0BhN0kont0gRtvQmaOhNHvRkqbTOUmmZUVTcgNTkJ
ARd1GLEPGEGIyUdsePG1TgI8QYAFRyT8kx3I+zLfCRJsUGt1hKhDjaZOng1VtQZVTKtKZTUqqlTsUlUo
K69iu61AcUkZCotLufiVIL+gCHn5RcjNK0BObj6yc/KQmZWLjMxspGdkIS09C3fSMpByJw3JqXeQmpKC
wCsShhFAaOrXNnTr4QTAoq8lrGYH8r4kXmiAAzdbsO9GC/YKEWhPK+3mDAntonbGCVllhbH4HQplJxPa
IRRtxXZZFoRE/aRgLpjiHq/zLRi2Fxiyh9uJowR43QkA96MSfNmBlhPAi1r2A/D5BYrHJTx6nAcW863p
U2rRd/dfPuZ9C8w9A8zhy8hsauYpvlVxQ/bxCRo5ztHk3uYjbg8mcYV140orVtsJ7PXj2W1E1xnNnBd5
L9JnGM2/v5vfPUaAnp0FeCqszOOEBB92oNbmPalFNDibhmbSzAzqYxqaxhVzKvURDU1i73ajXGlqAk2N
ZycZS1Ojmc+jaGwkR3Y4jQ2jxLkxwrQ4z7+F8eG8PpTmh/D6e3wbm36cAL2cAPj8pITlETR/EVhKgKU8
zj3egrfm6zBptRpu1IcOrVLD1a6JrTTB1y4fNca3Fs+N89Xg5Rl6/HGaAS9PlzDAz4SRhBUjL1JnMAEG
7eRAnXAG4OmwsmXfSPBmCxXmxciL1JlyoAUrg8ugUZWjskJFKZ2SSqlCCYt83Ocq/NZFj5dc69F/RTNG
cDaE+Q9oXrwLvxMKzDrlJIDXaQlebKHC/BLmu8j7yQRYu7sEZqMGDQ0SGgwSGnl0qMGgh6EDajJKUNco
MW21En+YJOENzsTf/JoxjGnkMP9eGDBwB/DJNzZ0dwZg+RkJy9hCPc4Bn7FQF/M4aX8LVoUWo1GqgU6v
R11dHYwGNZoa1WiQNPLnep2OL//tS0BUVVZi+poqvDbDgAELJLy/zoTBzH+H+UFUvxCmLQFe6SzAU8+E
lfmclbCUBSzMu7PLuPPoFs4UCimATquUjWRkFmOuXyFmrSiFb3AeCgvLUFdbD42mtl0J0FKuFXM2VKHP
ggYM9jRgqL8J74nCZd4PYuq8S/UNZmc7Y8OrzgCs+k6CJwv3U5qXRYAPCeC9NZ81UIFarsyJSQVQ9K2B
4i969JpcgdzcIqaGFkqlul3V1GhQwHfsBQFVGORpxBifBrhsNuPvHH0x8sL8O9uBPtvYnr+1oYczAH7n
JHiwcBexv4sev5AQrmxzXwTeg7KiBDXVasQn3sNTg6qh6F2Pfh+XIjMzD8qqGpSXq9pVVWU1crLz4b6l
EsNXGjF5fSPGbDXjXYd55n5/pk/vreL5NvTsLMDTz4aVrTkvYTELdyEXp/l2TWCOegbkoLSokN1Ehesx
2XhSBtCh77QSpKbmoKxUiaKiynZVWlKFtLu58AypxMR1zZgV1IiJ2y1y0Qr15+j3Y/q8ESRm34ZenQV4
hgDrf5Dgzu4zjwuXLAKMZ4vz2JiFwtw8FNNIRGTGA4A+U4uRlJTJ1BCpVNau8vPKkZKcBa+wCkwLNGFR
aBPcdlrQj8YHcORF8fZl+vQMZPMQAP06CfAsAfwvSVjEzjP3tGhlFI/jWGTu6zOQm5lDE2W4eOUuFG+r
oejZgL9OKUVCwl3k5ohUKm5XOdklSExMh8+eCswNNWPZgWZM3WuVi1aM/Ns034fp89om0QUJ0N8JgIDL
EhaycIX52dzTiL3NWAIsXJOG9NQMZGYU49LlZExcnI6x7rlwX5OCqKgUpKcVMZUK2lXa3ULExtyB3/5y
eOy3YPUxE6YfsOItGhcjL8y/uQV4NUCsQQQY4AwAt7TzWbizaH4WN2SzCDCaAPNW38GNuNuIj8+k4VTE
RiUiLjoR0ddv8vMdxMVlIDY2vV3Fx2fgyhW+Oh4qx4qjVvifNWP2IatctG/Zzfdm/r9CAA+nALqGVWz6
0YBPmPczaX4GN2/TCTKKbW7OymREXI7FpUtJsi5f/kni88WLt3hsX+Les2ejEXCsHGvPtiDksgXzuW3u
RdMO86KAX9pIgAst6N37eOf+O92ly7bYL/YUwZO7UbEFFv+nnMLt8BB2iOnet5FxlynEXE5PL3JKWVkl
iI5KRtDJMmzmar8vxob5HKSX/O+njRj5P9N8T6aT7wUjXuy2u9BuraOxxe1Pr3wF//NabE6wwT+a4kP8
ImxYtysZkRExiIm5zZRJckqx/O75c9cRfqUUh1NtOJFmxVa+DH3GghU5L+RxwYZVFxsxcMT3UCiC1tqN
dSYC53TtGna3R79j9aKNyRpI9TpI7fiv6PVeh3VikRIrrfz7zPUHeueIrps88oEbFIrwp+2mHsWjeBSP
4v8qFIp/A2dkad2NL3U0AAAAAElFTkSuQmCC
</value>
</data>
<data name="TsSaveAll.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAA80SURBVGhDtZcJVFNnFsfb2ulRcFSWgIEYREgggGwCQbaw
y46AbAoEqIqiotVOC7ig1dYKWnWqxX2XVimilFprq05nOu2o1aqAK0gNai0IiDsM5s6938sLsTOdUznN
O+d3vveSvO+7//vdd/8vL6WmZtlMmf7G5Yzs6Wqk983Ckt6z5+t76+v1z7sr1vTmTp3Tmz25oDcsMulZ
Xt681nnzCuUvvcjh5eXnEBmb0iL3DQUif3YhXFf9DM+eqUGfR3dPL+yuqILk9NdhQtrrkJiSDfHx8U8i
IpJCNKH9vsNNHiCLiEpSJaflQmKyEmbMLmICep890yyln6O759+w55NqDD4XklJzIAHXjkMBgaExLypA
LhuHAtIypkLKxMkw841iaLpxGx4/6YYnT3v0xsPH3bB330Ft8PFJmRDbLwFunIDo+HQgZs2dD9eab+EC
T+Hx0269cf/hE7YD2uATJkFMfwUERSaqouLSgJg5pxguN7VA14PHTIS+6Lz/CHZVHOgLfvxEXL+/AsYl
qCJiUoDIx2eg4eoNaG2/D+2dD/TCXaS14z7s2PupTvBpuD4KCIzoh4Cg8arwqAlATJv1NtRd/okt0tn1
6Dnu3X/MdoaHrvsDZZ8StG1XpSbwFLZ2WGT8E78XFeDIBESpQiMSgcib8Rc419AELT+3w607HVpu4nXd
xUb41+kLjFNn6qH+UhNcutrcLy4iO/ZUQvbkmaDMzYesHGJ6d2FxSUFtba28srrah1FZ7bN27UYffDZ9
ps96yydvZpFvwbyFnmVlZYZaAYEoICQ8AYLDx8OU/DfhTF0j3LzTDj+3dnK03YPGn27C4qWlMDFrGkxS
ToOCuQvg9I8N8EtbO7S1d/SDTrjTehdu3r6j5RbS2tb++G5H5wMG1ltzW8eDqkO1D5TK2Q8ylTMeJCin
PczJKejIz58TrxUQgAKCwuIhMDQOXp82F06duwJNLb9A881Wxk+32uB8wzXImVIAcp8Q8PQOgsycGVCH
O9CrZ8Oj+Wu/OAapk6YwzyDDGz8hS43elaEVMFYRqVIExwCRM3UOfH/2Elz76Wcmgrje0go/1l9lAsgr
aAey8bzuchP8u1e/hkfzf37kBFtXxzPUYRHjdQQEjFP5B0aDf2AUKCcXwLc/XIQrzbeh8cYduIY0qn7B
srqC9TqLTZCcnsuEXsAdePDoKTxC09Mnn395gr1yYOZZ241LzNAR4OgmGzs2SOWriATfgAjIzJ0J35ys
gwtXVFB/tYXRcO0mfP9DA2TlzoDI2FRmePgShmXVyHr60+4evUGOXfvFcZZ9DJxvu+pgXQFyFDDWLxyI
Sdn5cPy781CHAi5i4MSlxpvwrzMNWPf5MC46mbW+7Cmz4WzdVejoeghdD7Gt6olObLs1h4+x2tfxDHVw
WGyfAC8U4O0bhg9oKKRnToOjfz8Lpy40wmnsRj8Q9U1w/J9nWe1Tv6a+rcRy+uH8Fc7w7qFB6Yk29KPq
2q9Y+dDOU/IiY1LUirAoToAEBbjKA1We3tRdgrHWJsPhE6dZ8GcarjPONjTD374/hy00j3kFiaAudPLH
SyigCzruPdQblKCqmqOsfKh8KXlYBWpFsK4AzwCVhzwIxngFQkJKDtQeP4070MQJqO8TkJ45lXkFiaBS
+w6fC9Vt7OXoGfqiBU10f/URVjpUvpxjJ6n9FLoCXMeq3DwCgCA/WF2+G/Yd+goqa75GuHHHxwdRnJJ9
TyLI0L49VcccW2t4eqAFRXxSdZiVDwbOkhcyLgEFRGgESBxlzijAxd0PXMf4M9w8A5hhefuFgY9/OOCP
sUONwzYbCUFodmR49P/hm+/PszbL+8UfDrZvoqKylpUOBs6Sh0l8XoCTq7dqtNtYcHbzAU6IH+6GP7h7
KlhZUXl5yAOZGN7wyFiO//NHZnjXcbE/nlY2UoJ276thpcO/LQSGxKp9/ML6BNg5e6kcnL3A0UUOo11R
iDsJ8QUXFEJiSBSJ88b/zGR2BNn6V/84AxebbjHT0xeXrt+GnVi+VDqUuICgaOJXApxcVTInD3Bw9kQ4
IU4ohMRQ5lPSlJCSrsQbObMjqC8f+dtpuHBZhf8f0Oz0AJloHbJtzwFWOhS8Hxouopb7BHMCrEiAnavK
zsEd7B3HgD0KkY3mhNAYHZcMNTWfQVVVFcSOT8VdCGOGR33582Mn4fzlG1rH1gfnMUGbd1ZS2bDgKXk+
/uPUHroCJChAYu8KEpkbSFGInUYInUfHTYBDh2rg00+r8D9rCniNDWGGR3350NHv4OT5a3CaTE8PMDPF
dr5xx34IwPKhxFECEbWHXKERYCWRiaXOKhupM9jYuYAtwoQgJCoyOgEOHDgA+/btg6jYCeyBJsOLikuH
qsN/Z4ucZWanH07XNcH6zRUs+5Q4SiDyKwG2TqqRNo5gbesEoySjgcSQEBrDI+Iw+P1QUVEBEdGJ2s5E
XaGy9huN4TXrjVN112EN+hJlnhLHdcQgtZuHn44AsZ1KbC0Dq1EOoCuEzkPDY2Dv3r2wa9cuCI8czzoS
GZ4cJ3yz+F34cOMezBCx9zk+2lIBH22tgPKtH0P5tk9gw2/AvkfY75Ffz7N2wy5Qvl7AkkZQApH/FiCy
ksKIkXbACyHoPCgkErZt2w6bNm2GEBQzmryCtVd/1qWo3ZJnjPFSgAf+U6MtpnaLDxprt/TwBWP/DkUT
IielnQsnR9WYUmBorLa7jEWfoTKhTHPBBrA27kpJw3NKHDNbD3+1i5tPnwCRWKKyENmA5QhbEImlwIsR
WdlhEGEY/CYoL9+ALhzFeQWKcMbAecOjyd1RAG96FADBP/A8/BsvP/J4EVxta8ukL+MYNK5BSaNk0bro
UyhA3icAA1cNt7AGoeUoICEWKMRyhATPbcHXPxjKN2yAdevWgSIogrVWzie8tUKY6TGzw8mRvtcSLmtu
bNspGA4+uL4gFVx2NRnm7qF7aQ4ucFqL1tSsrXZy0REgsBSrzIZbgblwJJAQXgyN3j4KFvyaNWtxm8NY
i+V9gqBJiTFyBUydVgBvzCuEufOK4M235sNbhQvh7aJFUFhcwsa3i0qgqHgxFM9fAsULOIrwvBA/K8Tv
6Dd0T0h4LJAvUSe0kdKz6MA6Iu9NOKIAD07A8OFWMoFArDI1E4HAXMzgxdDoJfeD1atXw8qVK7GuQ1iL
5X2CTYbQGBQaje22Go4dO8ZMb87cv8DMgjdg1uy5MGPmHFi5ajV8+eWXjCNHjjD466NHj2o59vXXkDe9
QLsOCRklccKqsGFratZW45sDJ8DIyGiokalwl4nAQm1sagEmAkswNRvBhNDo4eWrXrFiBSx7913cjUDm
FZQNyg7v3jQGBEfCJ9huKaBNm7fgtvs8Z4jZuXnw2WefoSkegoMHDzLonL+msaamhv1mct4M7U4TUgc3
9nwyb0JwVEud3DgBeAwaMGBAooGBUaOJqRBMBRbPjI2NnxKDBgm6Rju7NC5btuxZSUkJPlz+rMXyPsG7
N43+inBstxVw+PBhfGY24kPnq90lCiYrZwpUVx9gpkg7RGN1dfVz0GckJHfydG4HWBm5s7VoB3hvwvXU
KEIrYCDi+corrywyNByy3dDQcOvAgQPXGRgYrEfWicXi9XFxcTtiYmI+lkjcOn5teDxUXjt37sIM1sC6
9eX40HlrX0somEmZubB//35GZWUlvpp8ykb+M4Lcnj7Lyp6Cc3IJoqBpLWouVEqatdW2UhetADr+hAzF
4M28vb0tU1NTRxYUFEjeeecdR3yAXdGF3UpLS0Pt7F0aR4y0R4943vRo9PYNgq1bt7Lsrln7V3DEN1t+
lyiY9ElK5uZkioTuObFnzx7YvXs3Oyex/E7zhioUjWIPs2ZdFOD0nADtAQB/Qgar1WpjRIhY47X9kSNf
B0mlztcsxRLmDySENz0aPb0D4KPychZAaelKkDmN0e4SBZOSlskCJHbu3MnYsWOHFromt6fv0yYq2ZwU
OCG2tmcdkeahpJAAPP9NAa8gr2Hgg5A/47kRYoo74WhtI7sk5H2CCSHT4wzP3dMXPvzwQxbA8vdXYO26
aneJgkmckI6Ovk0L7daWLVueG4nt27ej2Aw2JwVOiaJ1zFEAzUVJwQpQW1vL/rcAOjDglzWQGOJluTzY
3EIsqeM9ggnRiCHDc3X3Rq9YgwFsgyVLloIt9m9+lyiY+IRk2ICGWI67ROPGjRsZdM5fk+OTiJTUDDYv
vRVQouicF0DzWdvSDvwfAf/rEAqlpkKh1YXfMjxnV0/0ilWYzc1QUrIEF3FgixNCFBgTlwjr169npqgL
7RpB5/Q9CUnC3aI5KUGUqOG4Bq3Lz4evPmqxtfTFBFhYWJiYmYvOkuFxPjGCTcrjONodli9/nwWxcGEJ
SO2dwQpLYCQ+8GJ8r4obP4EZIrF27Vq2Wx988IH2M7qmz0lIPP6W5iQRvKGSL9E5JQxHtaXY9sUE4PGq
kZHgrcGDLR71GR7n3iRIKBT2oFeoV61aBWVlZbBwUQnMX7AIFiA0Llv2HnNzXeh3BH9N95KYmNgErZnq
Qmtq1kUBNpmauH738RoSjN7wrbGJoHvo0KFPjIzNOo1MzDqGDjNutbKyqisqKnqIInoWL17cvWTJEgad
89c05ufn/xf8dzQuXbq0W6FQdJsIBN0CwkzYIzAX9gzHBJkKhD3GpsIeQ0OLh6bmFmlcWL//GIDYIJkD
BxosMjAYXIJiiocMGTJ/2LBhC0Qi0aLg4OClUVFR78THxy9NSEhYlpyc/F5KSsry9PT0FRkZGaWZmZll
2dnZKwmlUrmK0JyXZWVlldJv0INWBgQErnZycl4tkzmuspVKy0ZYWZWKRFbvW1iIlgsE5suMjEzy8E1B
xKJ6weNl5DVzc3NDDG4obr8Ztk1RbW3tqBMnTtifO3fOqbm52bWlpUV+69Yt/7t374a2t7dHdnR0xHV2
dibdu3cvFZnY1dWVwYPXk5A0JBl/k9DW1haL90fduHEj9MqVKwEXL170xnndTp486Yhr2KJRitC1h+L5
q9QdubD6ceDNNIEBMgz9whxHMY4SZDTigfgiwUgEEockIanIJCRThwwkHe9PxjEBiUbCkABEjp+74ijD
cRSOFggZ7CC8poro/4ETkE+QiIE4oSEyRDO5ACEHH4HfjcTRBpEiMsQRcUJIpLMGOqfPHRA7RIL3jUIo
IZaIOWKC18OQwchARJP9l176D+MZ6SSNTfFRAAAAAElFTkSuQmCC
</value>
</data>
<data name="TsFTPUpload.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGgSURBVFhH7ZW9TsMwFIX7CGwICV6AASEhtU1U1A5sJK4Q
YmAGdWDjCfoYTZVWDEwg8Qz8iIGBJmnYeQN2ttbHvQZTomInLkIoRzry3732Z9dxK6X+pPr94XkQDLq2
TNPqiwNMbLrXC1s0tZ6QlIt8Tli4BCgMUNuPW6rrXtr83hd99LnteLvZjleQawXAZUmXe+L4ye3MaQdt
1QCQMaJkyQVyrQLIHYoALvRhDHUJgLqAZNEN6ks5ARHAlQVAvnb88TH6rQKIAUW0GAGkAkA9IcgagLpz
Kfq9RQwWRnspAEX0fwAwgYkpzQ4ASrRNLHMlQBBcrqGtLXUSSO5M18iZv5BGmgcwleNFZ1X29N5g6R51
makIgOslh/RG8Cf5+bXmj7ZoSF8qAC8d1LMchuGOSCCJF9EfvUkA8mPNT1cpRE9fAYYdtLM9OBIJXA0W
bWIx14vv6ZHii8d3dT964H9OVxSmJ0wuAfLoE2D2UhqrBMgDsNt+2Vjk6sF4nUJ/1uyC6Rs5rhed0q4z
bQSAm48T0LH8EvhtP1lkI4BSv6dKZQqeXNeBw/l5/gAAAABJRU5ErkJggg==
</value>
</data>
<data name="TsUndo.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGlSURBVFhHxZa9TsMwFIW7VYCdDqgDEgMSSBUkNr8TE0/A
xoiEGNgYeAJGVAkR2Y4Q7GXhAYANCRh4ExbgFcAOJxC1TuJGjfmkq+ReX/uc/KdVh0DyU+z6x4gHin8h
9Usm/i8G8uLeDQyLezVgE/dmoEjcBFqao0zcxIwKd7IgcbiMaZOhStwa5/xdb+90HAfJ+hKWGp9a4pag
kl93BNvEsm5MSjwfHcWOsHw5TYhnQQV7hEwxTRpII+ExpIpp2oTTPdHopdA3JmTKadKE85NRZcL0dOLV
BfMiopIdpP0yerb15oMqdpYKuFBmAi0jTF9tzNGE72szr7Z5RPAbtLpRZALDhcz2e5RIPhiZq42hxR2b
CQxVQmV0mZ/XlvwDQ+MxbALlSmjMeu0L/vk7N+ZvGBqfvAmUnMjPIzK6R7ke2WJIndDfg73MgI4+yvUx
JrDrxJRg85kB/YQcouyPbrJC/s5AtIWyPwIRLqZHr/gtSn6hItz+McB2UfKLflWfBIq9IPUPEdGD85/R
pDE/qPr0PyH1D1F8QMRaF6lfzNGbLyNSC63WN4IOJgR9G8D7AAAAAElFTkSuQmCC
</value>
</data>
<data name="TsRedo.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGhSURBVFhHxZa9SgQxFIW3W3STbCEKgoWgsOhMIv5UVj6B
naUgFnYWPoGlLIpDkkG0XxsfQO0EtfBNbNRX0NzhRvYnOpmd2ckHBzaZ3HPP7ITMNKqCKXGKP8PAtPgO
GiILEDLEb4BQIQYChAgxEqDuEM4AoEmFIEm00tLRjpWzuVUVIVi6vmzMjo3u2YX4GGjgo3FDtCXfpErc
OE2LqmiItuZHTqMy8g1BJX9yGlShvBAsFYmzsCr9FwCeubOoKuXdfWUbzqW85hO9e5/NRzU/cxb3S8Uv
YEYVP4ADqJ2sLUKtc62VT3OASHHrNojfaCr2p6835nHpCM46kG9zABoNGxAlejPdDsUlfzJcl6lIc6Cp
xGe/AVXxFV7Kpb8uU9HmAEvEuzVoXoovmvAOXsqldHOAqPhhXJPSzQFj0LVG5j2wh9NelG4OmJ1+aANM
Sb6A016Ubg4wHW/ZALPpKsHpeqFa3GUhZLSEU/ViTsNdCEBltI1T9cM0fzVH7QkO6we+hIiMH3EYBvMY
nuFDFIf10zoXc0SLHg7DAG/Ayf4LjcYPlIcl/KjyoYIAAAAASUVORK5CYII=
</value>
</data>
<data name="TsFind.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKoSURBVFhH7Vc9aBRBGJ3KKoJNCtHCQotcGbsDudwPd4ek
kKQIIgSraJSAks4Erkh2ESxSXScEwUAQTfA22SZKIIUgpDwM1naCaQWb+L7b9yXj3u1lfy5pzIOPmX3z
fW/e7szNJOYCaVCr1a5Wq9XbpVJptF6vD5M+O+RyuUuVSuV+uVxeRXsUDhj5ibaJ8SmWDA4Qf1EsFr+F
JxUOYwdhHib2ETMszwYIfrXEvyAeY+J8oVAYYopB/wq4Esbm+SU0f50p6WAJSbwm3RfYFzeRu6t1+BLb
HEoGFL5TEbzVHdKxgfo5rUc0SMeDrLlVfIt0YsDErOqgP0m6P2S3WxvuGenUgMZ7au2R6g84nWbBDqlM
gM4INA9FU7RJRwNJG5KMZXhKKjOgtUYDG6SiIYlMHiOVGdBaVF1SvSHHqybm8/nLpDMDBsZVV+Yg3Q05
25n4ndRAYL+YzEG6G1irUUlCe0BqILANyBykuyG3mibK8Uo6gO/k2EsM6N1V3VNvTjjsnOVytpMKJvec
ttlyJsgkAvQWRFO0SUUDiU1JRsyTMsZbGjOee9SJlvOIbGxg4g/UbJKKBnbslCSLW7lYSBtMvHNiYnnB
+C+vc6QvoPOQk8tPO97fCkjcZ9EuqQCe2zox0fgDU5+Nt/yKoz2BvfSLWj6p0wEDMywS13OkA7Tchtl0
fx8b+ej8a9IC3v6T6qCf7EZF0bplYpZ0AN8ZNlvuExhYjTKAujdW/QrpZEDhtoog5FYb4VAkkFND/GCN
RhtfIN3PGMUNFYKhQwitoV1EjMsBg+drGJtALCE2NVcCOc/Rtvmc3gSEJiGwR6E44euay6R4zm5CACPT
iM51HQ7u9rcYf8D0YwzUhEI+f5J/TMImYPgGh84Ptgn075E+X8ib91qm/xnG/AUHzJ/gTsLVCAAAAABJ
RU5ErkJggg==
</value>
</data>
<data name="TsFavView.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAObSURBVFhH1VZJTxRBFH6ogQzKZlziftDgHgIcjCHxB3jy
aOLJgx6MJw6eNFy8SIyiQk+jGI0IidsIQRM0sqiDJAKyaSKi4K64BReEma6e9r3yVTMzNmMPMCZ+yZfM
VL33fa+qX3U1/LcIeSHH0sEihnTI4+F/B1OHI6oA0wsaD/8bWOWw/JMOY6qAoVIIhE5CNk8nHiENDpDx
2HH4SJS7oEMJTycWVinMGdHhq1x9zdxmszariX5/1+AH7kwGhyUO2Hx7pXk5DAef5r8JPst/bZXAMO/C
IQ5LHMa88IHMhC/9tvWxwCKavsxGGhvV4QuHJQa4+l1kNOyFn8G+jc9VAUZ/7uC3wzBCc3gkCzl8+hHU
4JVc/ZXx1SuaV9JkLwR0GOLwySNUAYtxJZux27fjqvfhsy3Ds36NDPqLQBiPNzyJLsB4kvOY5iiGYimH
cqUGaaEmy0cCJzdhwlGzDHyY3K6O1UQUF9LuRJsryjmHHEXWbicv8sQCCyA6KJzB8qSX1rnkZtOXUW82
Lm2wOte0OxmHUzzI7hA3l7QIX0arOJPcGyhPGnLSVqRX6gX1x7w2r0m0rWoxXuQNOIlPhYGB3Pfi/so2
8rD90Fs+BtyOSnuwBl8sDgLTwpqsZtsHPaW5AlZz2p6kjnYSmALF5XS7P8iLbSNhauBVQdbFtGYnoclQ
XEq7a5ujB9s5A7fmmAoWVakTdrxbiupUv22O2mwTGxhYPF6Ex+8k7IbivKclzLyY5d0Bn9NBu4irmfed
DGLRrJtfZ5ujFsvGB6FDlyyg0nPPySQW5c5Rrhc6WS5+0JeOFLm+IO5eMOsX3qJc+nJiufgQOgVzSUAW
0Layy8kkFkVHdqvKtzTIYln3wDtiixII9OW8czKJxeBgnrw5iXQZsax74EWxR5qfSHrrZGB0r34kKmZ0
Svau63CKCWpJsggsYCfLugfeWCcoWZxNjhA3etb24SXTo1aniHF+6+G6iMsKx+QxjPsIEjDphhSuzZIN
KI2rUjoiTL3QIjSw33JE87ynQfSul0XjvSIbEY9hHcu6h6HDoDTxr/CL6tnjDYU0vNCPH6XbOJQe11Y8
st3hMWa1p5FyOf4Zh7qDVQSzwsVs/v763c1hfwAL2aEK/4MXYSaH/R3YNBujBXBsP0/HBBlhbOFoKXyO
yNdgA4e4g0rE2+t46Bik8LBr0DcgNd+gDgbp8LB74CoWhcpgGf+dNFAnj7T4bxQAfgH5yZY48wlUiAAA
AABJRU5ErkJggg==
</value>
</data>
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>127, 17</value>
</metadata>
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>591, 17</value>
</metadata>
<metadata name="vS2015BlueTheme1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>247, 17</value>
</metadata>
<metadata name="vsToolStripExtender1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>414, 17</value>
</metadata>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAICAAAAAAIACnAQAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAgAAAAIAgGAAAAc3p69AAAAARn
QU1BAACxjwv8YQUAAAFeSURBVFhHYwACpgHGqAJ/V7o0/F/l8h+Gd6zy/6+5Kvm/4Ko0qmGBlWkNSHai
OuDfSpcDyA7oWBWK1RCK8MrUA0h2jjoAwviz0skXZDkxDlhw99D/w69uEoW3P73432R7LaoZ2ByAbjEu
B/ju7/lPKui4sgnFDOwhsNwlCpQDCIWA9Lrc/zUXVoMNJRaDHI1sxmgiHJwOeDnbWfz3UmdHYhxgsaMe
HK/EYlC6QTEDmwP+rXLZjGwxLgc47m6Fpm3iASjRIpuB1QGwHEAoBFQ3FoPzNrY8jwuHHZ6EYsZoIhx1
AEWJUGNT6f85d/ZjTWwgDJIDqUHWg4GxOmCFyzRki3E5AFQGEAIgNch6MDA2B7xZ6CRNbEEEKguwFTgg
DJJDV4+BRxPhoHTAn1Uu3sQ0SKiCsTkA3WK6O+D3Ukd3kCNGbhqA4VEHoHdO967y/a+/Kgm7QWRivJ1T
+mIGJgAuN5QLZkIuvQAAAABJRU5ErkJggg==
</value>
</data>
</root>
@@ -0,0 +1,61 @@
namespace SuperDesign.Tools.SmartEditor
{
partial class FrmResultText
{
/// <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()
{
this.findAllResultsPanel1 = new ScintillaNET_FindReplaceDialog.FindAllResults.FindAllResultsPanel();
this.SuspendLayout();
//
// findAllResultsPanel1
//
this.findAllResultsPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.findAllResultsPanel1.Location = new System.Drawing.Point(1, 1);
this.findAllResultsPanel1.Name = "findAllResultsPanel1";
this.findAllResultsPanel1.Size = new System.Drawing.Size(800, 446);
this.findAllResultsPanel1.TabIndex = 0;
this.findAllResultsPanel1.OnResultClick += new ScintillaNET_FindReplaceDialog.FindAllResults.FindAllResultsPanel.ResultEventHandler(this.FindAllResultsPanel1_OnResultClick);
//
// FrmResultText
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(800, 450);
this.Controls.Add(this.findAllResultsPanel1);
this.Name = "FrmResultText";
this.Text = "查找结果";
this.ResumeLayout(false);
}
#endregion
public ScintillaNET_FindReplaceDialog.FindAllResults.FindAllResultsPanel findAllResultsPanel1;
}
}
@@ -0,0 +1,35 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using WeifenLuo.WinFormsUI.Docking;
using 开发辅助工具.Tools.SmartEditor;
namespace SuperDesign.Tools.SmartEditor
{
public partial class FrmResultText : DockContent
{
public FrmResultText()
{
InitializeComponent();
}
private void FindAllResultsPanel1_OnResultClick(object sender, ScintillaNET_FindReplaceDialog.FindAllResults.FindResult r)
{
var frm= FrmMainEditor.MainEditor.OpenFile(r.Path);
if (frm.IsDisposed) { return; }
if (frm.highlightEditor1.Editor.GetColumn(r.Result.CpMin) < frm.highlightEditor1.Editor.GetColumn(r.Result.CpMax))
{
frm.highlightEditor1.Editor.GotoPosition(r.Result.CpMax);
}
frm.highlightEditor1.Editor.SetSelection(r.Result.CpMin, r.Result.CpMax);
frm.highlightEditor1.Editor.ScrollCaret();
frm.highlightEditor1.Editor.Focus();
}
}
}
@@ -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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
+119
View File
@@ -0,0 +1,119 @@
namespace SuperDesign.Tools.SmartEditor
{
partial class FrmSaveMsg
{
/// <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(FrmSaveMsg));
this.BtnCancel = new ryControls.ButtonEx();
this.BtnNoSave = new ryControls.ButtonEx();
this.BtnSave = new ryControls.ButtonEx();
this.labelTx1 = new ryControls.LabelTx();
this.SuspendLayout();
//
// BtnCancel
//
this.BtnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.BtnCancel.BaseColor = System.Drawing.Color.Gray;
this.BtnCancel.ColorGradient = true;
this.BtnCancel.Location = new System.Drawing.Point(314, 147);
this.BtnCancel.Name = "BtnCancel";
this.BtnCancel.Size = new System.Drawing.Size(88, 31);
this.BtnCancel.TabIndex = 3;
this.BtnCancel.Text = "取消";
this.BtnCancel.UseDefSkin = false;
this.BtnCancel.UseVisualStyleBackColor = true;
this.BtnCancel.Click += new System.EventHandler(this.BtnCancel_Click);
//
// BtnNoSave
//
this.BtnNoSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.BtnNoSave.BaseColor = System.Drawing.Color.Red;
this.BtnNoSave.ColorGradient = true;
this.BtnNoSave.Location = new System.Drawing.Point(220, 147);
this.BtnNoSave.Name = "BtnNoSave";
this.BtnNoSave.Size = new System.Drawing.Size(88, 31);
this.BtnNoSave.TabIndex = 2;
this.BtnNoSave.Text = "不保存";
this.BtnNoSave.UseDefSkin = false;
this.BtnNoSave.UseVisualStyleBackColor = true;
this.BtnNoSave.Click += new System.EventHandler(this.BtnNoSave_Click);
//
// BtnSave
//
this.BtnSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.BtnSave.BaseColor = System.Drawing.Color.Green;
this.BtnSave.ColorGradient = true;
this.BtnSave.Location = new System.Drawing.Point(126, 147);
this.BtnSave.Name = "BtnSave";
this.BtnSave.Size = new System.Drawing.Size(88, 31);
this.BtnSave.TabIndex = 1;
this.BtnSave.Text = "保存";
this.BtnSave.UseDefSkin = false;
this.BtnSave.UseVisualStyleBackColor = true;
this.BtnSave.Click += new System.EventHandler(this.BtnSave_Click);
//
// labelTx1
//
this.labelTx1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.labelTx1.LineDistance = 5;
this.labelTx1.Location = new System.Drawing.Point(13, 9);
this.labelTx1.Name = "labelTx1";
this.labelTx1.Size = new System.Drawing.Size(392, 19);
this.labelTx1.TabIndex = 0;
this.labelTx1.Text = "提示文本";
//
// FrmSaveMsg
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(418, 190);
this.Controls.Add(this.BtnCancel);
this.Controls.Add(this.BtnNoSave);
this.Controls.Add(this.BtnSave);
this.Controls.Add(this.labelTx1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "FrmSaveMsg";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "是否保存?";
this.TopMost = true;
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FrmSaveMsg_FormClosing);
this.ResumeLayout(false);
}
#endregion
private ryControls.ButtonEx BtnSave;
private ryControls.ButtonEx BtnNoSave;
private ryControls.ButtonEx BtnCancel;
public ryControls.LabelTx labelTx1;
}
}
@@ -0,0 +1,43 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace SuperDesign.Tools.SmartEditor
{
public partial class FrmSaveMsg : Form
{
public FrmSaveMsg()
{
InitializeComponent();
}
private void BtnCancel_Click(object sender, EventArgs e)
{
DialogResult= DialogResult.Cancel;
}
private void BtnSave_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.Yes;
}
private void BtnNoSave_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.No;
}
private void FrmSaveMsg_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.UserClosing)
{
e.Cancel = true;
}
}
}
}
@@ -0,0 +1,133 @@
<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.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>
AAABAAEAICAAAAAAIADCAQAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAgAAAAIAgGAAAAc3p69AAAAARn
QU1BAACxjwv8YQUAAAF5SURBVFhHYxgFhMCEkz9DScUTT313hmqnHEw49fM/KXjZ1d//J576+Z1qjsBm
CT68+sav/zvu/wE64hfQEb/Jc4TT0m+rYBibJfgwyAEPv/4DOwLI/0GWIyCWf/0PwugWEMIwB1DkCGo5
ANkR/cd/uECNJwwodcCx539RMNgRp3+ughpPGFDiAJx4WDogY92b/27TH/43774NpnM2vMOqDoyp7YC8
Te/+S5ZdAlsOwiC2RsP1/51HvmFVT3UH+Mx8BLa0aMt7MD96yQswP3vDWwy1YEzrNBCy4BnYAQkrXmKV
p6kDavZ+/q/bchPsgMLNkBDBwLRyQNfR7/9NOiFpAJQosakBY1o5IHb5S7DloCjAJg/HtHKAw6T7YAdU
7vqIVR6OaZ0ICWJaOSB51av/njMeYZVDwbRyAKw8aNj3Bas8HNMyCloO4Sj9kPGwTQNE4yHrgLJ9PyjC
IIthGGo8YYDsAEox1EjSwCBwwOdQamGokaMAB2BgAABfGBs0y2lIZwAAAABJRU5ErkJggg==
</value>
</data>
</root>
@@ -0,0 +1,91 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data.SqlTypes;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Linq;
using static System.Net.WebRequestMethods;
namespace SuperDesign.Tools.SmartEditor
{
public class MyFileSystemInfo
{
public MyFileSystemInfo(FileSystemInfo fileSystemInfo,string name)
{
if (fileSystemInfo == null) throw new ArgumentNullException("fileSystemInfo");
ReLoad(fileSystemInfo,name);
}
public void ReLoad()
{
ReLoad(FullName);
}
public void ReLoad(string path)
{
if(System.IO.File.Exists(path))
{
ReLoad(new FileInfo(path), "");
}
else if (System.IO.Directory.Exists(path))
{
ReLoad(new DirectoryInfo(path), "");
}
}
public void ReLoad(FileSystemInfo fileSystemInfo)
{
ReLoad(fileSystemInfo, "");
}
public void ReLoad(FileSystemInfo fileSystemInfo, string name)
{
var info = fileSystemInfo;
if (name.Length == 0)
{
this.Name = info.Name;
}
else { this.Name = name; }
Extension = info.Extension;
LastWriteTime = info.LastWriteTime;
CreationTime = info.CreationTime;
FullName = info.FullName;
Attributes = info.Attributes;
AsDirectory = info as DirectoryInfo;
AsFile = info as FileInfo;
IsDirectory = this.AsDirectory != null;
Length = IsDirectory ? -1 : AsFile.Length;
}
public bool IsDirectory { get;private set; }
public DirectoryInfo AsDirectory { get; private set; }
public FileInfo AsFile { get; private set; }
public string Name{get; set;} = "";
public string Extension { get; private set; } = "";
public DateTime LastWriteTime { get; private set; }
public DateTime CreationTime { get; private set; }
public string FullName { get; private set; } = "";
public FileAttributes Attributes { get;private set; }
public long Length { get; private set; } = 0;
public IEnumerable GetFileSystemInfos()
{
ArrayList children = new ArrayList();
if (this.IsDirectory)
{
if (this.AsDirectory.Exists) {
foreach (var x in this.AsDirectory.GetDirectories()) {
children.Add(new MyFileSystemInfo(x, ""));
}
foreach (var x in this.AsDirectory.GetFiles()) {
children.Add(new MyFileSystemInfo(x, ""));
}
}
}
return children;
}
}
}
@@ -0,0 +1,313 @@
/*
* [File purpose]
* Author: Phillip Piper
* Date: 1 May 2007 7:44 PM
*
* CHANGE LOG:
* 2009-07-08 JPP Don't cache the image collections
* 1 May 2007 JPP Initial Version
*/
using System;
using System.Drawing;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using BrightIdeasSoftware;
namespace ObjectListViewDemo
{
/// <summary>
/// This helper class allows listviews and tree views to use image from the system image list.
/// </summary>
/// <remarks>Instances of this helper class know how to retrieve icon from the Windows shell for
/// a given file path. These icons are then added to the imagelist on the given control. ListViews need
/// special handling since they have two image lists which need to be kept in sync.</remarks>
public class SysImageListHelper
{
private SysImageListHelper()
{
}
protected ImageList.ImageCollection SmallImageCollection {
get {
if (this.listView != null)
return this.listView.SmallImageList.Images;
if (this.treeView != null)
return this.treeView.ImageList.Images;
return null;
}
}
protected ImageList.ImageCollection LargeImageCollection {
get {
if (this.listView != null)
return this.listView.LargeImageList.Images;
return null;
}
}
protected ImageList SmallImageList {
get {
if (this.listView != null)
return this.listView.SmallImageList;
if (this.treeView != null)
return this.treeView.ImageList;
return null;
}
}
protected ImageList LargeImageList {
get {
if (this.listView != null)
return this.listView.LargeImageList;
return null;
}
}
/// <summary>
/// Create a SysImageListHelper that will fetch images for the given tree control
/// </summary>
/// <param name="treeView">The tree view that will use the images</param>
public SysImageListHelper(TreeView treeView)
{
if (treeView.ImageList == null) {
treeView.ImageList = new ImageList();
treeView.ImageList.ImageSize = new Size(16, 16);
}
this.treeView = treeView;
}
protected TreeView treeView;
/// <summary>
/// Create a SysImageListHelper that will fetch images for the given listview control.
/// </summary>
/// <param name="listView">The listview that will use the images</param>
/// <remarks>Listviews manage two image lists, but each item can only have one image index.
/// This means that the image for an item must occur at the same index in the two lists.
/// SysImageListHelper instances handle this requirement. However, if the listview already
/// has image lists installed, they <b>must</b> be of the same length.</remarks>
public SysImageListHelper(ObjectListView listView)
{
if (listView.SmallImageList == null) {
listView.SmallImageList = new ImageList();
listView.SmallImageList.ColorDepth = ColorDepth.Depth32Bit;
listView.SmallImageList.ImageSize = new Size(16, 16);
}
if (listView.LargeImageList == null) {
listView.LargeImageList = new ImageList();
listView.LargeImageList.ColorDepth = ColorDepth.Depth32Bit;
listView.LargeImageList.ImageSize = new Size(32, 32);
}
//if (listView.SmallImageList.Images.Count != listView.LargeImageList.Images.Count)
// throw new ArgumentException("Small and large image lists must have the same number of items.");
this.listView = listView;
}
protected ObjectListView listView;
/// <summary>
/// Return the index of the image that has the Shell Icon for the given file/directory.
/// </summary>
/// <param name="path">The full path to the file/directory</param>
/// <returns>The index of the image or -1 if something goes wrong.</returns>
public int GetImageIndex(string path)
{
if (path.Length <= 3)
{
path = "C:\\";
}
else if (System.IO.Directory.Exists(path))
path = System.Environment.SystemDirectory; // optimization! give all directories the same image
else
if (System.IO.Path.HasExtension(path))
path = System.IO.Path.GetExtension(path);
if (this.SmallImageCollection.ContainsKey(path))
return this.SmallImageCollection.IndexOfKey(path);
try {
this.AddImageToCollection(path, this.SmallImageList, ShellUtilities.GetFileIcon(path, true, true));
this.AddImageToCollection(path, this.LargeImageList, ShellUtilities.GetFileIcon(path, false, true));
} catch (ArgumentNullException) {
return -1;
}
return this.SmallImageCollection.IndexOfKey(path);
}
private void AddImageToCollection(string key, ImageList imageList, Icon image) {
if (imageList == null)
return;
if (imageList.ImageSize == image.Size) {
imageList.Images.Add(key, image);
return;
}
using (Bitmap imageAsBitmap = image.ToBitmap()) {
Bitmap bm = new Bitmap(imageList.ImageSize.Width, imageList.ImageSize.Height);
Graphics g = Graphics.FromImage(bm);
g.Clear(imageList.TransparentColor);
Size size = imageAsBitmap.Size;
int x = Math.Max(0, (bm.Size.Width - size.Width) / 2);
int y = Math.Max(0, (bm.Size.Height - size.Height) / 2);
g.DrawImage(imageAsBitmap, x, y, size.Width, size.Height);
imageList.Images.Add(key, bm);
}
}
}
/// <summary>
/// ShellUtilities contains routines to interact with the Windows Shell.
/// </summary>
public static class ShellUtilities
{
/// <summary>
/// Execute the default verb on the file or directory identified by the given path.
/// For documents, this will open them with their normal application. For executables,
/// this will cause them to run.
/// </summary>
/// <param name="path">The file or directory to be executed</param>
/// <returns>Values &lt; 31 indicate some sort of error. See ShellExecute() documentation for specifics.</returns>
/// <remarks>The same effect can be achieved by <code>System.Diagnostics.Process.Start(path)</code>.</remarks>
public static int Execute(string path)
{
return ShellUtilities.Execute(path, "");
}
/// <summary>
/// Execute the given operation on the file or directory identified by the given path.
/// Example operations are "edit", "print", "explore".
/// </summary>
/// <param name="path">The file or directory to be operated on</param>
/// <param name="operation">What operation should be performed</param>
/// <returns>Values &lt; 31 indicate some sort of error. See ShellExecute() documentation for specifics.</returns>
public static int Execute(string path, string operation)
{
IntPtr result = ShellUtilities.ShellExecute(0, operation, path, "", "", SW_SHOWNORMAL);
return result.ToInt32();
}
/// <summary>
/// Get the string that describes the file's type.
/// </summary>
/// <param name="path">The file or directory whose type is to be fetched</param>
/// <returns>A string describing the type of the file, or an empty string if something goes wrong.</returns>
public static String GetFileType(string path)
{
SHFILEINFO shfi = new SHFILEINFO();
int flags = SHGFI_TYPENAME;
IntPtr result = ShellUtilities.SHGetFileInfo(path, 0, out shfi, Marshal.SizeOf(shfi), flags);
if (result.ToInt32() == 0)
return String.Empty;
else
return shfi.szTypeName;
}
/// <summary>
/// Return the icon for the given file/directory.
/// </summary>
/// <param name="path">The full path to the file whose icon is to be returned</param>
/// <param name="isSmallImage">True if the small (16x16) icon is required, otherwise the 32x32 icon will be returned</param>
/// <param name="useFileType">If this is true, only the file extension will be considered</param>
/// <returns>The icon of the given file, or null if something goes wrong</returns>
public static Icon GetFileIcon(string path, bool isSmallImage, bool useFileType)
{
int flags = SHGFI_ICON;
if (isSmallImage)
flags |= SHGFI_SMALLICON;
int fileAttributes = 0;
if (useFileType) {
flags |= SHGFI_USEFILEATTRIBUTES;
if (System.IO.Directory.Exists(path))
fileAttributes = FILE_ATTRIBUTE_DIRECTORY;
else
fileAttributes = FILE_ATTRIBUTE_NORMAL;
}
SHFILEINFO shfi = new SHFILEINFO();
try
{
IntPtr result = ShellUtilities.SHGetFileInfo(path, fileAttributes, out shfi, Marshal.SizeOf(shfi), flags);
if (result.ToInt32() == 0)
return null;
else
return Icon.FromHandle(shfi.hIcon);
}
catch { return null; }
}
/// <summary>
/// Return the index into the system image list of the image that represents the given file.
/// </summary>
/// <param name="path">The full path to the file or directory whose icon is required</param>
/// <returns>The index of the icon, or -1 if something goes wrong</returns>
/// <remarks>This is only useful if you are using the system image lists directly. Since there is
/// no way to do that in .NET, it isn't a very useful.</remarks>
public static int GetSysImageIndex(string path)
{
SHFILEINFO shfi = new SHFILEINFO();
int flags = SHGFI_ICON | SHGFI_SYSICONINDEX;
IntPtr result = ShellUtilities.SHGetFileInfo(path, 0, out shfi, Marshal.SizeOf(shfi), flags);
if (result.ToInt32() == 0)
return -1;
else
return shfi.iIcon;
}
#region Native methods
private const int SHGFI_ICON = 0x00100; // get icon
private const int SHGFI_DISPLAYNAME = 0x00200; // get display name
private const int SHGFI_TYPENAME = 0x00400; // get type name
private const int SHGFI_ATTRIBUTES = 0x00800; // get attributes
private const int SHGFI_ICONLOCATION = 0x01000; // get icon location
private const int SHGFI_EXETYPE = 0x02000; // return exe type
private const int SHGFI_SYSICONINDEX = 0x04000; // get system icon index
private const int SHGFI_LINKOVERLAY = 0x08000; // put a link overlay on icon
private const int SHGFI_SELECTED = 0x10000; // show icon in selected state
private const int SHGFI_ATTR_SPECIFIED = 0x20000; // get only specified attributes
private const int SHGFI_LARGEICON = 0x00000; // get large icon
private const int SHGFI_SMALLICON = 0x00001; // get small icon
private const int SHGFI_OPENICON = 0x00002; // get open icon
private const int SHGFI_SHELLICONSIZE = 0x00004; // get shell size icon
private const int SHGFI_PIDL = 0x00008; // pszPath is a pidl
private const int SHGFI_USEFILEATTRIBUTES = 0x00010; // use passed dwFileAttribute
//if (_WIN32_IE >= 0x0500)
private const int SHGFI_ADDOVERLAYS = 0x00020; // apply the appropriate overlays
private const int SHGFI_OVERLAYINDEX = 0x00040; // Get the index of the overlay
private const int FILE_ATTRIBUTE_NORMAL = 0x00080; // Normal file
private const int FILE_ATTRIBUTE_DIRECTORY = 0x00010; // Directory
private const int MAX_PATH = 260;
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
private struct SHFILEINFO
{
public IntPtr hIcon;
public int iIcon;
public int dwAttributes;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=MAX_PATH)]
public string szDisplayName;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=80)]
public string szTypeName;
}
private const int SW_SHOWNORMAL = 1;
[DllImport("shell32.dll", CharSet = CharSet.Auto)]
private static extern IntPtr ShellExecute(int hwnd, string lpOperation, string lpFile,
string lpParameters, string lpDirectory, int nShowCmd);
[DllImport("shell32.dll", CharSet = CharSet.Auto)]
private static extern IntPtr SHGetFileInfo(string pszPath, int dwFileAttributes,
out SHFILEINFO psfi, int cbFileInfo, int uFlags);
#endregion
}
}