### 2023-02-21更新
------ #### SuperDesign V3.0.2302.2101 - *.[新增]全新文本编辑器,支持高亮、FTP查看和编辑、目录浏览,历史版本等众多功能。
This commit is contained in:
1 parent
c7b33920bd
commit
03bcb8c5fd
406 files changed
+312053
-48889
No files matched your search
+390
@@ -0,0 +1,390 @@
|
||||
namespace 开发辅助工具.Tools
|
||||
{
|
||||
partial class APIEditor
|
||||
{
|
||||
/// <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(APIEditor));
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.TxtUrl = new ryControls.TextBoxEx2();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.TxtName = new ryControls.TextBoxEx2();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.LvPostData = new BrightIdeasSoftware.ObjectListView();
|
||||
this.OlvParamName = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
|
||||
this.OlvTitle = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
|
||||
this.OlvParamValue = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
|
||||
this.OlvDesc = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
|
||||
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.设置时间戳ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.添加参数ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.删除参数ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.BtnCancel = new ryControls.ButtonEx();
|
||||
this.BtnOK = new ryControls.ButtonEx();
|
||||
this.BtnAddPost = new ryControls.ButtonEx();
|
||||
this.BtnDelPost = new ryControls.ButtonEx();
|
||||
this.TxtAPIName = new ryControls.TextBoxEx2();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.TxtDesc = new ryControls.TextBoxEx2();
|
||||
((System.ComponentModel.ISupportInitialize)(this.LvPostData)).BeginInit();
|
||||
this.contextMenuStrip1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(9, 48);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(23, 12);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "Url";
|
||||
//
|
||||
// TxtUrl
|
||||
//
|
||||
this.TxtUrl.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.TxtUrl.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
|
||||
this.TxtUrl.EmptyText = "";
|
||||
this.TxtUrl.Location = new System.Drawing.Point(41, 40);
|
||||
this.TxtUrl.MaxLength = 999999999;
|
||||
this.TxtUrl.Multiline = false;
|
||||
this.TxtUrl.Name = "TxtUrl";
|
||||
this.TxtUrl.OnlyNumeric = false;
|
||||
this.TxtUrl.PasswordChar = '\0';
|
||||
this.TxtUrl.ReadOnly = true;
|
||||
this.TxtUrl.SelectedText = "";
|
||||
this.TxtUrl.SelectionLength = 0;
|
||||
this.TxtUrl.SelectionStart = 0;
|
||||
this.TxtUrl.Size = new System.Drawing.Size(652, 27);
|
||||
this.TxtUrl.TabIndex = 1;
|
||||
this.TxtUrl.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
|
||||
this.TxtUrl.ToolTip = "";
|
||||
this.TxtUrl.WordWrap = true;
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(9, 14);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(29, 12);
|
||||
this.label2.TabIndex = 2;
|
||||
this.label2.Text = "名称";
|
||||
//
|
||||
// TxtName
|
||||
//
|
||||
this.TxtName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.TxtName.BackColor = System.Drawing.Color.White;
|
||||
this.TxtName.EmptyText = "请输入名称";
|
||||
this.TxtName.Location = new System.Drawing.Point(41, 7);
|
||||
this.TxtName.MaxLength = 999999999;
|
||||
this.TxtName.Multiline = false;
|
||||
this.TxtName.Name = "TxtName";
|
||||
this.TxtName.OnlyNumeric = false;
|
||||
this.TxtName.PasswordChar = '\0';
|
||||
this.TxtName.ReadOnly = false;
|
||||
this.TxtName.SelectedText = "";
|
||||
this.TxtName.SelectionLength = 0;
|
||||
this.TxtName.SelectionStart = 0;
|
||||
this.TxtName.Size = new System.Drawing.Size(352, 27);
|
||||
this.TxtName.TabIndex = 0;
|
||||
this.TxtName.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
|
||||
this.TxtName.ToolTip = "";
|
||||
this.TxtName.WordWrap = true;
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(9, 92);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(29, 12);
|
||||
this.label3.TabIndex = 4;
|
||||
this.label3.Text = "参数";
|
||||
//
|
||||
// LvPostData
|
||||
//
|
||||
this.LvPostData.AllColumns.Add(this.OlvParamName);
|
||||
this.LvPostData.AllColumns.Add(this.OlvTitle);
|
||||
this.LvPostData.AllColumns.Add(this.OlvParamValue);
|
||||
this.LvPostData.AllColumns.Add(this.OlvDesc);
|
||||
this.LvPostData.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.LvPostData.CellEditActivation = BrightIdeasSoftware.ObjectListView.CellEditActivateMode.DoubleClick;
|
||||
this.LvPostData.CellEditUseWholeCell = false;
|
||||
this.LvPostData.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.OlvParamName,
|
||||
this.OlvTitle,
|
||||
this.OlvParamValue,
|
||||
this.OlvDesc});
|
||||
this.LvPostData.ContextMenuStrip = this.contextMenuStrip1;
|
||||
this.LvPostData.Cursor = System.Windows.Forms.Cursors.Default;
|
||||
this.LvPostData.Font = new System.Drawing.Font("Consolas", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.LvPostData.FullRowSelect = true;
|
||||
this.LvPostData.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
|
||||
this.LvPostData.HideSelection = false;
|
||||
this.LvPostData.Location = new System.Drawing.Point(41, 92);
|
||||
this.LvPostData.MultiSelect = false;
|
||||
this.LvPostData.Name = "LvPostData";
|
||||
this.LvPostData.RowHeight = 25;
|
||||
this.LvPostData.Size = new System.Drawing.Size(653, 292);
|
||||
this.LvPostData.TabIndex = 5;
|
||||
this.LvPostData.UseCellFormatEvents = true;
|
||||
this.LvPostData.UseCompatibleStateImageBehavior = false;
|
||||
this.LvPostData.View = System.Windows.Forms.View.Details;
|
||||
this.LvPostData.CellEditFinishing += new BrightIdeasSoftware.CellEditEventHandler(this.LvPostData_CellEditFinishing);
|
||||
//
|
||||
// OlvParamName
|
||||
//
|
||||
this.OlvParamName.Text = "参数名";
|
||||
this.OlvParamName.Width = 120;
|
||||
//
|
||||
// OlvTitle
|
||||
//
|
||||
this.OlvTitle.IsEditable = true;
|
||||
this.OlvTitle.Text = "标题";
|
||||
this.OlvTitle.Width = 100;
|
||||
//
|
||||
// OlvParamValue
|
||||
//
|
||||
this.OlvParamValue.IsEditable = true;
|
||||
this.OlvParamValue.Text = "参数值";
|
||||
this.OlvParamValue.Width = 210;
|
||||
//
|
||||
// OlvDesc
|
||||
//
|
||||
this.OlvDesc.IsEditable = true;
|
||||
this.OlvDesc.Text = "备注";
|
||||
this.OlvDesc.Width = 200;
|
||||
//
|
||||
// contextMenuStrip1
|
||||
//
|
||||
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.设置时间戳ToolStripMenuItem,
|
||||
this.toolStripMenuItem1,
|
||||
this.添加参数ToolStripMenuItem,
|
||||
this.删除参数ToolStripMenuItem});
|
||||
this.contextMenuStrip1.Name = "contextMenuStrip1";
|
||||
this.contextMenuStrip1.Size = new System.Drawing.Size(137, 76);
|
||||
//
|
||||
// 设置时间戳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);
|
||||
//
|
||||
// toolStripMenuItem1
|
||||
//
|
||||
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
|
||||
this.toolStripMenuItem1.Size = new System.Drawing.Size(133, 6);
|
||||
//
|
||||
// 添加参数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);
|
||||
//
|
||||
// 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(618, 509);
|
||||
this.BtnCancel.Name = "BtnCancel";
|
||||
this.BtnCancel.Size = new System.Drawing.Size(75, 30);
|
||||
this.BtnCancel.TabIndex = 7;
|
||||
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(537, 509);
|
||||
this.BtnOK.Name = "BtnOK";
|
||||
this.BtnOK.Size = new System.Drawing.Size(75, 30);
|
||||
this.BtnOK.TabIndex = 6;
|
||||
this.BtnOK.Text = "确定";
|
||||
this.BtnOK.UseVisualStyleBackColor = true;
|
||||
this.BtnOK.Click += new System.EventHandler(this.BtnOK_Click);
|
||||
//
|
||||
// BtnAddPost
|
||||
//
|
||||
this.BtnAddPost.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
|
||||
this.BtnAddPost.Location = new System.Drawing.Point(41, 68);
|
||||
this.BtnAddPost.Name = "BtnAddPost";
|
||||
this.BtnAddPost.Size = new System.Drawing.Size(30, 23);
|
||||
this.BtnAddPost.TabIndex = 8;
|
||||
this.BtnAddPost.Text = "+";
|
||||
this.BtnAddPost.UseVisualStyleBackColor = true;
|
||||
this.BtnAddPost.Click += new System.EventHandler(this.BtnAddPost_Click);
|
||||
//
|
||||
// BtnDelPost
|
||||
//
|
||||
this.BtnDelPost.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
|
||||
this.BtnDelPost.Location = new System.Drawing.Point(77, 68);
|
||||
this.BtnDelPost.Name = "BtnDelPost";
|
||||
this.BtnDelPost.Size = new System.Drawing.Size(30, 23);
|
||||
this.BtnDelPost.TabIndex = 9;
|
||||
this.BtnDelPost.Text = "-";
|
||||
this.BtnDelPost.UseVisualStyleBackColor = true;
|
||||
this.BtnDelPost.Click += new System.EventHandler(this.BtnDel_Click);
|
||||
//
|
||||
// TxtAPIName
|
||||
//
|
||||
this.TxtAPIName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.TxtAPIName.BackColor = System.Drawing.Color.White;
|
||||
this.TxtAPIName.EmptyText = "请输入API名称";
|
||||
this.TxtAPIName.Location = new System.Drawing.Point(448, 7);
|
||||
this.TxtAPIName.MaxLength = 999999999;
|
||||
this.TxtAPIName.Multiline = false;
|
||||
this.TxtAPIName.Name = "TxtAPIName";
|
||||
this.TxtAPIName.OnlyNumeric = false;
|
||||
this.TxtAPIName.PasswordChar = '\0';
|
||||
this.TxtAPIName.ReadOnly = false;
|
||||
this.TxtAPIName.SelectedText = "";
|
||||
this.TxtAPIName.SelectionLength = 0;
|
||||
this.TxtAPIName.SelectionStart = 0;
|
||||
this.TxtAPIName.Size = new System.Drawing.Size(245, 27);
|
||||
this.TxtAPIName.TabIndex = 11;
|
||||
this.TxtAPIName.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
|
||||
this.TxtAPIName.ToolTip = "";
|
||||
this.TxtAPIName.WordWrap = true;
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(395, 14);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(47, 12);
|
||||
this.label4.TabIndex = 10;
|
||||
this.label4.Text = "API名称";
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(9, 391);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(29, 12);
|
||||
this.label5.TabIndex = 12;
|
||||
this.label5.Text = "备注";
|
||||
//
|
||||
// TxtDesc
|
||||
//
|
||||
this.TxtDesc.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.TxtDesc.BackColor = System.Drawing.Color.White;
|
||||
this.TxtDesc.EmptyText = "";
|
||||
this.TxtDesc.Location = new System.Drawing.Point(41, 391);
|
||||
this.TxtDesc.MaxLength = 999999999;
|
||||
this.TxtDesc.Multiline = true;
|
||||
this.TxtDesc.Name = "TxtDesc";
|
||||
this.TxtDesc.OnlyNumeric = false;
|
||||
this.TxtDesc.PasswordChar = '\0';
|
||||
this.TxtDesc.ReadOnly = false;
|
||||
this.TxtDesc.SelectedText = "";
|
||||
this.TxtDesc.SelectionLength = 0;
|
||||
this.TxtDesc.SelectionStart = 0;
|
||||
this.TxtDesc.Size = new System.Drawing.Size(652, 112);
|
||||
this.TxtDesc.TabIndex = 13;
|
||||
this.TxtDesc.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
|
||||
this.TxtDesc.ToolTip = "";
|
||||
this.TxtDesc.WordWrap = true;
|
||||
//
|
||||
// APIEditor
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(709, 549);
|
||||
this.Controls.Add(this.TxtDesc);
|
||||
this.Controls.Add(this.label5);
|
||||
this.Controls.Add(this.TxtAPIName);
|
||||
this.Controls.Add(this.label4);
|
||||
this.Controls.Add(this.BtnDelPost);
|
||||
this.Controls.Add(this.BtnAddPost);
|
||||
this.Controls.Add(this.BtnCancel);
|
||||
this.Controls.Add(this.BtnOK);
|
||||
this.Controls.Add(this.LvPostData);
|
||||
this.Controls.Add(this.label3);
|
||||
this.Controls.Add(this.TxtName);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.TxtUrl);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "APIEditor";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "API编辑器";
|
||||
this.Load += new System.EventHandler(this.APIEditor_Load);
|
||||
this.Shown += new System.EventHandler(this.APIEditor_Shown);
|
||||
((System.ComponentModel.ISupportInitialize)(this.LvPostData)).EndInit();
|
||||
this.contextMenuStrip1.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Label label1;
|
||||
private ryControls.TextBoxEx2 TxtUrl;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private ryControls.TextBoxEx2 TxtName;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private BrightIdeasSoftware.ObjectListView LvPostData;
|
||||
private BrightIdeasSoftware.OLVColumn OlvParamName;
|
||||
private BrightIdeasSoftware.OLVColumn OlvTitle;
|
||||
private BrightIdeasSoftware.OLVColumn OlvParamValue;
|
||||
private BrightIdeasSoftware.OLVColumn OlvDesc;
|
||||
private ryControls.ButtonEx BtnCancel;
|
||||
private ryControls.ButtonEx BtnOK;
|
||||
private ryControls.ButtonEx BtnAddPost;
|
||||
private ryControls.ButtonEx BtnDelPost;
|
||||
private ryControls.TextBoxEx2 TxtAPIName;
|
||||
private System.Windows.Forms.Label label4;
|
||||
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.Label label5;
|
||||
private ryControls.TextBoxEx2 TxtDesc;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,450 @@
|
||||
using Newtonsoft.Json.Linq;
|
||||
using ryCommon;
|
||||
using ryCommonDb;
|
||||
using 开发辅助工具.Controls;
|
||||
using 开发辅助工具.Tools.API;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using 开发辅助工具.Manager;
|
||||
using 开发辅助工具.Tools;
|
||||
|
||||
namespace 开发辅助工具.Tools
|
||||
{
|
||||
public partial class APIEditor : Form
|
||||
{
|
||||
public APIEditor()
|
||||
{
|
||||
InitializeComponent();
|
||||
OlvTitle.AspectGetter = delegate (object x) { return ((PostInfo)x).Title; };
|
||||
OlvParamName.AspectGetter = delegate (object x) { return ((PostInfo)x).ParamName; };
|
||||
OlvParamValue.AspectGetter = delegate (object x) { return ((PostInfo)x).ParamValue; };
|
||||
OlvParamValue.AspectToStringConverter = delegate (object rowdata,object x) {
|
||||
var row = (PostInfo)rowdata;
|
||||
if (row.ParamValue.IsInt())
|
||||
{
|
||||
long time = row.ParamValue.ToInt64();
|
||||
if (time <= 100000) { return row.ParamValue; }
|
||||
var dt = time.ToDateTime();
|
||||
if (dt == DateTime.MinValue || dt<=new DateTime(2000,1,1) || dt >= new DateTime(2100, 1, 1)) { return row.ParamValue; }
|
||||
if (dt == dt.Date) {return dt.ToString("yyyy-MM-dd"); }
|
||||
return dt.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
}
|
||||
return row.ParamValue;
|
||||
};
|
||||
OlvDesc.AspectGetter = delegate (object x) { return ((PostInfo)x).Desc; };
|
||||
LvPostData.FormatCell += LvPostData_FormatCell;
|
||||
}
|
||||
Font bold_font = new Font("Consolas",9,FontStyle.Bold);
|
||||
private void LvPostData_FormatCell(object sender, BrightIdeasSoftware.FormatCellEventArgs e)
|
||||
{
|
||||
if(e.Column ==OlvParamName)
|
||||
{
|
||||
e.SubItem.Font = bold_font;
|
||||
e.SubItem.BackColor = Color.FromArgb(255, 255, 192);
|
||||
}
|
||||
else if (e.Column == OlvTitle || e.Column==OlvDesc)
|
||||
{
|
||||
e.SubItem.ForeColor = Color.Gray;
|
||||
}
|
||||
}
|
||||
|
||||
public void LoadData(Uri uri,string postdata,bool isGetMode=false)
|
||||
{
|
||||
var host = uri.Host.ToLower();
|
||||
if (host.IndexOfEx("www.87g") == 0 || host.IndexOfEx("www.3h3") == 0
|
||||
|| host.IndexOfEx("www.downxia") == 0 || host.IndexOfEx("www.downbank") == 0)
|
||||
{
|
||||
if (isGetMode)
|
||||
{
|
||||
TxtUrl.Text = "<site>" + uri.AbsolutePath;
|
||||
}
|
||||
else
|
||||
{
|
||||
TxtUrl.Text = "<site>" + uri.PathAndQuery;
|
||||
}
|
||||
var urlparam = RyWeb.WebDecode.UrlToData(uri.OriginalString);
|
||||
TxtAPIName.Text = urlparam.Get("a");
|
||||
if (TxtAPIName.Text.Length==0)
|
||||
{
|
||||
TxtAPIName.Text = urlparam.Get("api");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (isGetMode)
|
||||
{
|
||||
TxtUrl.Text = uri.Scheme+"://" +uri.Host+(uri.Port==80?"":(":"+uri.Port))+ uri.AbsolutePath;
|
||||
}
|
||||
else
|
||||
{
|
||||
TxtUrl.Text = uri.OriginalString;
|
||||
}
|
||||
}
|
||||
LvPostData.ClearObjects();
|
||||
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
|
||||
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1)
|
||||
{
|
||||
RyQuickSQL mySQL = new RyQuickSQL("api");
|
||||
mySQL.AddField("Name", TxtName.Text);
|
||||
mySQL.AddField("Url", TxtUrl.Text);
|
||||
DataSet ds = db.ReadData("select * from api where Url=@Url", mySQL);
|
||||
var json_post = "";
|
||||
if (ds.HaveData())
|
||||
{
|
||||
var row = ds.GetFirstRowData();
|
||||
TxtName.Text = row["Name"].ToString();
|
||||
TxtAPIName.Text = row["APIName"].ToString();
|
||||
TxtDesc.Text = row["desc"].ToString();
|
||||
json_post = row["Postdata"].ToString();
|
||||
}
|
||||
JObject jo;
|
||||
if (json_post.Length == 0) { jo = new JObject(); }
|
||||
else { jo = JObject.Parse(json_post); }
|
||||
Dictionary<string, PostInfo> dict_post = new Dictionary<string, PostInfo>();
|
||||
if (jo.ContainsKey("list"))
|
||||
{
|
||||
JArray jarr = JArray.Parse(jo["list"].ToString());
|
||||
for (int i = 0; i < jarr.Count; i++)
|
||||
{
|
||||
var item = jarr[i];
|
||||
var param_name = item["paramname"].ToString();
|
||||
if (!dict_post.ContainsKey(param_name))
|
||||
{
|
||||
dict_post.Add(param_name, new PostInfo()
|
||||
{
|
||||
Title = item["title"].ToString(),
|
||||
ParamName = param_name,
|
||||
Desc = item["desc"].ToString(),
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
var post = RyWeb.WebDecode.UrlToData(isGetMode?uri.OriginalString:("f?" + postdata));
|
||||
List<KeyValuePair<string, string>> post_list;
|
||||
if (post.Item2 == null)
|
||||
{
|
||||
post_list = new List<KeyValuePair<string, string>>();
|
||||
}
|
||||
else
|
||||
{
|
||||
post_list = post.Item2.ToList();
|
||||
}
|
||||
List<PostInfo> list = new List<PostInfo>();
|
||||
if (post_list.Count > 0)
|
||||
{
|
||||
for (int i = 0; i < post_list.Count; i++)
|
||||
{
|
||||
var item = post_list[i];
|
||||
var title = "";
|
||||
var desc = "";
|
||||
if (dict_post.ContainsKey(item.Key))
|
||||
{
|
||||
var value = dict_post[item.Key];
|
||||
title = value.Title;
|
||||
desc= value.Desc;
|
||||
}
|
||||
else
|
||||
{
|
||||
switch(item.Key.ToLower())
|
||||
{
|
||||
case "starttime":
|
||||
title = "开始时间";
|
||||
break;
|
||||
case "endtime":
|
||||
title = "结束时间";
|
||||
break;
|
||||
case "page":
|
||||
title = "页码";
|
||||
break;
|
||||
case "pagesize":
|
||||
title = "每页数量";
|
||||
break;
|
||||
case "title":
|
||||
title = "标题";
|
||||
break;
|
||||
case "name":
|
||||
title = "名称";
|
||||
break;
|
||||
case "id":
|
||||
title = "id编号";
|
||||
break;
|
||||
case "modelid":
|
||||
title = "资源类型";
|
||||
break;
|
||||
case "packagename":
|
||||
case "pkgname":
|
||||
title = "包名";
|
||||
break;
|
||||
case "filename":
|
||||
title = "文件名";
|
||||
break;
|
||||
case "url":
|
||||
title = "网址";
|
||||
break;
|
||||
case "username":
|
||||
title = "用户名";
|
||||
break;
|
||||
case "realname":
|
||||
title = "真实姓名";
|
||||
break;
|
||||
case "cooperid":
|
||||
title = "合作包id";
|
||||
break;
|
||||
}
|
||||
}
|
||||
list.Add(new PostInfo() { ParamName = item.Key, ParamValue = item.Value,Title=title,Desc=desc });
|
||||
}
|
||||
}
|
||||
LvPostData.AddObjects(list);
|
||||
}
|
||||
db.Free();
|
||||
}
|
||||
private void BtnCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
DialogResult= DialogResult.Cancel;
|
||||
}
|
||||
|
||||
public string SelectedPostDatas { get; set; } = "";
|
||||
private void BtnOK_Click(object sender, EventArgs e)
|
||||
{
|
||||
if(LvPostData.GetItemCount()==0)
|
||||
{
|
||||
MessageBox.Show("POST内容为空", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
return;
|
||||
}
|
||||
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
|
||||
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1)
|
||||
{
|
||||
RyQuickSQL mySQL = new RyQuickSQL("api");
|
||||
mySQL.AddField("Name", TxtName.Text);
|
||||
mySQL.AddField("Url", TxtUrl.Text);
|
||||
mySQL.AddField("desc", TxtDesc.Text);
|
||||
DataSet ds = db.ReadData("select * from api where Url=@Url", mySQL);
|
||||
var json_post = "";
|
||||
if(ds.HaveData())
|
||||
{
|
||||
json_post = ds.GetFirstRowData()["Postdata"].ToString();
|
||||
}
|
||||
mySQL.AddField("APIName",TxtAPIName.Text);
|
||||
JObject jo;
|
||||
if (json_post.Length == 0) { jo = new JObject(); }
|
||||
else { jo = JObject.Parse(json_post); }
|
||||
Dictionary<string,PostInfo> dict_post = new Dictionary<string, PostInfo>();
|
||||
if(jo.ContainsKey("list"))
|
||||
{
|
||||
JArray jarr = JArray.Parse(jo["list"].ToString());
|
||||
for (int i = 0; i < jarr.Count; i++)
|
||||
{
|
||||
var item = jarr[i];
|
||||
var param_name = item["paramname"].ToString("");
|
||||
if (!dict_post.ContainsKey(param_name))
|
||||
{
|
||||
dict_post.Add(param_name, new PostInfo()
|
||||
{
|
||||
Title = item["title"].ToString(""),
|
||||
ParamName = param_name,
|
||||
Desc = item["desc"].ToString(""),
|
||||
ParamValue = item["paramvalue"].ToString(""),
|
||||
IsAdd = false
|
||||
}) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
var list = LvPostData.ObjectsList;
|
||||
var post = "";
|
||||
for (int i = 0; i < list.Count; i++)
|
||||
{
|
||||
var item = (PostInfo)list[i];
|
||||
if (post.Length > 0) { post += "&"; }
|
||||
if (item.ParamValue.IsEngOrNum())
|
||||
{
|
||||
post += item.ParamName + "=" + item.ParamValue;
|
||||
}
|
||||
else
|
||||
{
|
||||
post += item.ParamName + "=" +RyWeb.WebDecode.UrlEncode(item.ParamValue);
|
||||
}
|
||||
if(dict_post.ContainsKey(item.ParamName))
|
||||
{
|
||||
item.ParamValue = dict_post[item.ParamName].ParamValue;
|
||||
dict_post[item.ParamName] = item;
|
||||
}
|
||||
else
|
||||
{
|
||||
dict_post.Add(item.ParamName,item);
|
||||
}
|
||||
}
|
||||
SelectedPostDatas = post;
|
||||
JObject jo_new=new JObject();
|
||||
JArray jarr_new=new JArray();
|
||||
foreach (var item in dict_post)
|
||||
{
|
||||
JObject jo_item = new JObject
|
||||
{
|
||||
{ "paramname", item.Value.ParamName },
|
||||
{ "title", item.Value.Title },
|
||||
{ "paramvalue", item.Value.ParamValue },
|
||||
{ "desc", item.Value.Desc }
|
||||
};
|
||||
jarr_new.Add(jo_item);
|
||||
}
|
||||
jo_new.Add("list",jarr_new);
|
||||
mySQL.AddField("Postdata", jo_new.ToString());
|
||||
if (db.ExecuteNonQuery(mySQL.GetUpdateSQL() + " where Url=@Url", mySQL) == 0)
|
||||
{
|
||||
mySQL.AddField("ClickCount", 0);//点击次数
|
||||
mySQL.AddField("editTime", DateTime.Now);
|
||||
mySQL.AddField("addTime", DateTime.Now);
|
||||
db.Insert(mySQL);
|
||||
}
|
||||
}
|
||||
db.Free();
|
||||
DialogResult = DialogResult.OK;
|
||||
}
|
||||
|
||||
private void LvPostData_CellEditFinishing(object sender, BrightIdeasSoftware.CellEditEventArgs e)
|
||||
{
|
||||
if (e.Cancel) { return; }
|
||||
var row = (PostInfo)e.RowObject;
|
||||
if (e.Column==OlvTitle)
|
||||
{
|
||||
row.Title = e.NewValue.ToString();
|
||||
}
|
||||
else if (e.Column == OlvParamValue)
|
||||
{
|
||||
row.ParamValue = e.NewValue.ToString();
|
||||
}
|
||||
else if (e.Column == OlvDesc)
|
||||
{
|
||||
row.Desc = e.NewValue.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
private void BtnDel_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (LvPostData.SelectedObject == null) { return; }
|
||||
switch (MessageBox.Show("是否要删除选定项", "询问", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2))
|
||||
{
|
||||
case DialogResult.Yes:
|
||||
LvPostData.RemoveObjects(LvPostData.SelectedObjects);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void APIEditor_Shown(object sender, EventArgs e)
|
||||
{
|
||||
TxtName.SelectionLength = 0;
|
||||
}
|
||||
|
||||
private void BtnAddPost_Click(object sender, EventArgs e)
|
||||
{
|
||||
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
|
||||
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1)
|
||||
{
|
||||
RyQuickSQL mySQL = new RyQuickSQL("api");
|
||||
mySQL.AddField("Url", TxtUrl.Text);
|
||||
DataSet ds = db.ReadData("select * from api where Url=@Url", mySQL);
|
||||
var json_post = "";
|
||||
if (ds.HaveData())
|
||||
{
|
||||
var row = ds.GetFirstRowData();
|
||||
json_post = row["Postdata"].ToString();
|
||||
}
|
||||
JObject jo;
|
||||
if (json_post.Length == 0) { jo = new JObject(); }
|
||||
else { jo = JObject.Parse(json_post); }
|
||||
Dictionary<string, PostInfo> dict_post = new Dictionary<string, PostInfo>();
|
||||
List<PostInfo> list = new List<PostInfo>();
|
||||
var list_lv = LvPostData.ObjectsList;
|
||||
for (int i = 0; i < list_lv.Count; i++)
|
||||
{
|
||||
var item = (PostInfo)list_lv[i];
|
||||
dict_post[item.ParamName] = item;
|
||||
}
|
||||
if (jo.ContainsKey("list"))
|
||||
{
|
||||
JArray jarr = JArray.Parse(jo["list"].ToString());
|
||||
for (int i = 0; i < jarr.Count; i++)
|
||||
{
|
||||
var item = jarr[i];
|
||||
var param_name = item["paramname"].ToString();
|
||||
if (!dict_post.ContainsKey(param_name))
|
||||
{
|
||||
list.Add(new PostInfo()
|
||||
{
|
||||
ParamName = param_name,
|
||||
Title = item["title"].ToString(),
|
||||
Desc = item["desc"].ToString(),
|
||||
ParamValue = item["paramvalue"].ToString()
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
FrmAddPostParam frm = new FrmAddPostParam();
|
||||
frm.Url = TxtUrl.Text;
|
||||
frm.LvPostData.AddObjects(list);
|
||||
if (frm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
var item = frm.SelectedItem;
|
||||
item.IsAdd = false;
|
||||
LvPostData.AddObject(item);
|
||||
}
|
||||
frm.Dispose();
|
||||
}
|
||||
db.Free();
|
||||
}
|
||||
|
||||
private void APIEditor_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void 添加参数ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
BtnAddPost.PerformClick();
|
||||
}
|
||||
|
||||
private void 删除参数ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
BtnDelPost.PerformClick();
|
||||
}
|
||||
|
||||
private void 设置时间戳ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (LvPostData.SelectedObject == null) { return; }
|
||||
var item = (PostInfo)LvPostData.SelectedObject;
|
||||
FrmInsertUnixTime frm = new FrmInsertUnixTime();
|
||||
frm.Icon = Icon;
|
||||
var text = item.ParamValue;
|
||||
if (text.Length > 4 && text.IsInt())
|
||||
{
|
||||
frm.dateTimePickerEX1.Value = RyDate.UnixTimeToDateTime(text);
|
||||
}
|
||||
if (frm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
item.ParamValue= RyDate.DateTimeToUnixTime(frm.dateTimePickerEX1.Value).ToString();
|
||||
LvPostData.RefreshObject(item);
|
||||
}
|
||||
frm.Dispose();
|
||||
}
|
||||
}
|
||||
public class PostInfo
|
||||
{
|
||||
public string Title { get; set; } = "";
|
||||
public string ParamName { get; set; } = "";
|
||||
public string ParamValue { get; set; } = "";
|
||||
public string Desc { get; set; } = "";
|
||||
/// <summary>
|
||||
/// 是否是json新增的内容
|
||||
/// </summary>
|
||||
public bool IsAdd { get; set; } = true;
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
+149
@@ -0,0 +1,149 @@
|
||||
namespace 开发辅助工具.Tools.API
|
||||
{
|
||||
partial class FrmAddPostParam
|
||||
{
|
||||
/// <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(FrmAddPostParam));
|
||||
this.LvPostData = new BrightIdeasSoftware.ObjectListView();
|
||||
this.OlvParamName = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
|
||||
this.OlvTitle = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
|
||||
this.OlvParamValue = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
|
||||
this.OlvDesc = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
|
||||
this.BtnCancel = new ryControls.ButtonEx();
|
||||
this.BtnOK = new ryControls.ButtonEx();
|
||||
((System.ComponentModel.ISupportInitialize)(this.LvPostData)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// LvPostData
|
||||
//
|
||||
this.LvPostData.AllColumns.Add(this.OlvParamName);
|
||||
this.LvPostData.AllColumns.Add(this.OlvTitle);
|
||||
this.LvPostData.AllColumns.Add(this.OlvParamValue);
|
||||
this.LvPostData.AllColumns.Add(this.OlvDesc);
|
||||
this.LvPostData.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.LvPostData.CellEditActivation = BrightIdeasSoftware.ObjectListView.CellEditActivateMode.DoubleClick;
|
||||
this.LvPostData.CellEditUseWholeCell = false;
|
||||
this.LvPostData.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.OlvParamName,
|
||||
this.OlvTitle,
|
||||
this.OlvParamValue,
|
||||
this.OlvDesc});
|
||||
this.LvPostData.Cursor = System.Windows.Forms.Cursors.Default;
|
||||
this.LvPostData.Font = new System.Drawing.Font("Consolas", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.LvPostData.FullRowSelect = true;
|
||||
this.LvPostData.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
|
||||
this.LvPostData.HideSelection = false;
|
||||
this.LvPostData.Location = new System.Drawing.Point(12, 12);
|
||||
this.LvPostData.MultiSelect = false;
|
||||
this.LvPostData.Name = "LvPostData";
|
||||
this.LvPostData.RowHeight = 25;
|
||||
this.LvPostData.Size = new System.Drawing.Size(653, 443);
|
||||
this.LvPostData.TabIndex = 6;
|
||||
this.LvPostData.UseCellFormatEvents = true;
|
||||
this.LvPostData.UseCompatibleStateImageBehavior = false;
|
||||
this.LvPostData.View = System.Windows.Forms.View.Details;
|
||||
this.LvPostData.CellEditFinishing += new BrightIdeasSoftware.CellEditEventHandler(this.LvPostData_CellEditFinishing);
|
||||
this.LvPostData.CellClick += new System.EventHandler<BrightIdeasSoftware.CellClickEventArgs>(this.LvPostData_CellClick);
|
||||
this.LvPostData.DoubleClick += new System.EventHandler(this.LvPostData_DoubleClick);
|
||||
//
|
||||
// OlvParamName
|
||||
//
|
||||
this.OlvParamName.Text = "参数名";
|
||||
this.OlvParamName.Width = 100;
|
||||
//
|
||||
// OlvTitle
|
||||
//
|
||||
this.OlvTitle.IsEditable = true;
|
||||
this.OlvTitle.Text = "标题";
|
||||
this.OlvTitle.Width = 100;
|
||||
//
|
||||
// OlvParamValue
|
||||
//
|
||||
this.OlvParamValue.IsEditable = true;
|
||||
this.OlvParamValue.Text = "参数默认值";
|
||||
this.OlvParamValue.Width = 110;
|
||||
//
|
||||
// OlvDesc
|
||||
//
|
||||
this.OlvDesc.IsEditable = true;
|
||||
this.OlvDesc.Text = "备注";
|
||||
this.OlvDesc.Width = 200;
|
||||
//
|
||||
// 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(589, 461);
|
||||
this.BtnCancel.Name = "BtnCancel";
|
||||
this.BtnCancel.Size = new System.Drawing.Size(75, 30);
|
||||
this.BtnCancel.TabIndex = 9;
|
||||
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(508, 461);
|
||||
this.BtnOK.Name = "BtnOK";
|
||||
this.BtnOK.Size = new System.Drawing.Size(75, 30);
|
||||
this.BtnOK.TabIndex = 8;
|
||||
this.BtnOK.Text = "确定";
|
||||
this.BtnOK.UseVisualStyleBackColor = true;
|
||||
this.BtnOK.Click += new System.EventHandler(this.BtnOK_Click);
|
||||
//
|
||||
// FrmAddPostParam
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(677, 501);
|
||||
this.Controls.Add(this.BtnCancel);
|
||||
this.Controls.Add(this.BtnOK);
|
||||
this.Controls.Add(this.LvPostData);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "FrmAddPostParam";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "添加参数";
|
||||
((System.ComponentModel.ISupportInitialize)(this.LvPostData)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
private BrightIdeasSoftware.OLVColumn OlvParamName;
|
||||
private BrightIdeasSoftware.OLVColumn OlvTitle;
|
||||
private BrightIdeasSoftware.OLVColumn OlvDesc;
|
||||
private ryControls.ButtonEx BtnCancel;
|
||||
private ryControls.ButtonEx BtnOK;
|
||||
public BrightIdeasSoftware.ObjectListView LvPostData;
|
||||
private BrightIdeasSoftware.OLVColumn OlvParamValue;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,135 @@
|
||||
using Newtonsoft.Json.Linq;
|
||||
using ryCommon;
|
||||
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.API
|
||||
{
|
||||
public partial class FrmAddPostParam : Form
|
||||
{
|
||||
public FrmAddPostParam()
|
||||
{
|
||||
InitializeComponent();
|
||||
OlvTitle.AspectGetter = delegate (object x) { return ((PostInfo)x).Title; };
|
||||
OlvParamName.AspectGetter = delegate (object x) { return ((PostInfo)x).ParamName; };
|
||||
OlvParamValue.AspectGetter = delegate (object x) { return ((PostInfo)x).ParamValue; };
|
||||
OlvDesc.AspectGetter = delegate (object x) { return ((PostInfo)x).Desc; };
|
||||
}
|
||||
public string Url { get; set; } = "";
|
||||
private void BtnCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
DialogResult = DialogResult.Cancel;
|
||||
}
|
||||
public PostInfo SelectedItem { get; set; } = null;
|
||||
private void BtnOK_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (LvPostData.SelectedObject == null) { return; }
|
||||
SelectedItem = (PostInfo)LvPostData.SelectedObject;
|
||||
DialogResult= DialogResult.OK;
|
||||
}
|
||||
|
||||
private void LvPostData_DoubleClick(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void LvPostData_CellEditFinishing(object sender, BrightIdeasSoftware.CellEditEventArgs e)
|
||||
{
|
||||
var row = (PostInfo)e.RowObject;
|
||||
if (e.Cancel) { return; }
|
||||
if (e.Column == OlvTitle)
|
||||
{
|
||||
row.Title = e.NewValue.ToString();
|
||||
}
|
||||
else if (e.Column == OlvParamValue)
|
||||
{
|
||||
row.ParamValue = e.NewValue.ToString();
|
||||
}
|
||||
else if (e.Column == OlvDesc)
|
||||
{
|
||||
row.Desc = e.NewValue.ToString();
|
||||
}
|
||||
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
|
||||
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1)
|
||||
{
|
||||
RyQuickSQL mySQL = new RyQuickSQL("api");
|
||||
mySQL.AddField("Url",Url);
|
||||
DataSet ds = db.ReadData("select * from api where Url=@Url", mySQL);
|
||||
var json_post = "";
|
||||
if (ds.HaveData())
|
||||
{
|
||||
json_post = ds.GetFirstRowData()["Postdata"].ToString();
|
||||
}
|
||||
JObject jo;
|
||||
if (json_post.Length == 0) { jo = new JObject(); }
|
||||
else { jo = JObject.Parse(json_post); }
|
||||
Dictionary<string, PostInfo> dict_post = new Dictionary<string, PostInfo>();
|
||||
if (jo.ContainsKey("list"))
|
||||
{
|
||||
JArray jarr = JArray.Parse(jo["list"].ToString());
|
||||
for (int i = 0; i < jarr.Count; i++)
|
||||
{
|
||||
var item = jarr[i];
|
||||
var param_name = item["paramname"].ToString("");
|
||||
if (!dict_post.ContainsKey(param_name))
|
||||
{
|
||||
dict_post.Add(param_name, new PostInfo()
|
||||
{
|
||||
Title = item["title"].ToString(""),
|
||||
ParamName = param_name,
|
||||
Desc = item["desc"].ToString(""),
|
||||
ParamValue = item["paramvalue"].ToString(""),
|
||||
IsAdd = false
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
if (dict_post.ContainsKey(row.ParamName))
|
||||
{
|
||||
dict_post[row.ParamName] = row;
|
||||
}
|
||||
else
|
||||
{
|
||||
dict_post.Add(row.ParamName, row);
|
||||
}
|
||||
JObject jo_new = new JObject();
|
||||
JArray jarr_new = new JArray();
|
||||
foreach (var item in dict_post)
|
||||
{
|
||||
JObject jo_item = new JObject
|
||||
{
|
||||
{ "paramname", item.Value.ParamName },
|
||||
{ "title", item.Value.Title },
|
||||
{ "paramvalue", item.Value.ParamValue },
|
||||
{ "desc", item.Value.Desc }
|
||||
};
|
||||
jarr_new.Add(jo_item);
|
||||
}
|
||||
jo_new.Add("list", jarr_new);
|
||||
mySQL.AddField("Postdata", jo_new.ToString());
|
||||
if (db.ExecuteNonQuery(mySQL.GetUpdateSQL() + " where Url=@Url", mySQL) == 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
db.Free();
|
||||
}
|
||||
|
||||
private void LvPostData_CellClick(object sender, BrightIdeasSoftware.CellClickEventArgs e)
|
||||
{
|
||||
if(e.ClickCount==2 && e.Column==OlvParamName)
|
||||
{
|
||||
BtnOK.PerformClick();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
@@ -167,7 +167,7 @@ namespace 开发辅助工具.Tools
|
||||
|
||||
if (!System.IO.File.Exists(full_path + "\\.gitignore")) //复制git忽略规则
|
||||
{
|
||||
RyFiles.CopyFile(Application.StartupPath+ "\\SysDb\\.gitignore", full_path + "\\.gitignore");
|
||||
RyFiles.CopyBigFile(Application.StartupPath+ "\\SysDb\\.gitignore", full_path + "\\.gitignore");
|
||||
}
|
||||
#endregion
|
||||
if (!ChkUnCreateProject.Checked)
|
||||
@@ -177,7 +177,7 @@ namespace 开发辅助工具.Tools
|
||||
{
|
||||
ryCommon.RyFiles.DeleteFile(full_path + "\\Bin\\Debug\\CommonControls");
|
||||
var source_folder = full_path + "\\Source\\" + project_Eng_name;
|
||||
ryCommon.RyFiles.CopyFile(CshapeBasePath + "\\*", source_folder);
|
||||
ryCommon.RyFiles.CopyFileOrFolder(CshapeBasePath, source_folder);
|
||||
ryCommon.RyFiles.DeleteFile(source_folder + "\\Bin");
|
||||
ryCommon.RyFiles.DeleteFile(source_folder + "\\obj");
|
||||
if (System.IO.File.Exists(source_folder + "\\Itrycn_Project.csproj"))
|
||||
|
||||
+122
@@ -0,0 +1,122 @@
|
||||
namespace 开发辅助工具.Tools
|
||||
{
|
||||
partial class FrmImageToIcon
|
||||
{
|
||||
/// <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(FrmImageToIcon));
|
||||
this.TxtImagePath = new ryControls.TextBoxEx2();
|
||||
this.BtnConvert = new ryControls.ButtonEx();
|
||||
this.superPictureBox1 = new ryControls.SuperPictureBox();
|
||||
this.BtnBrowser = new ryControls.ButtonEx();
|
||||
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
|
||||
((System.ComponentModel.ISupportInitialize)(this.superPictureBox1)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// TxtImagePath
|
||||
//
|
||||
this.TxtImagePath.BackColor = System.Drawing.Color.White;
|
||||
this.TxtImagePath.EmptyText = "";
|
||||
this.TxtImagePath.Location = new System.Drawing.Point(45, 117);
|
||||
this.TxtImagePath.MaxLength = 999999999;
|
||||
this.TxtImagePath.Multiline = false;
|
||||
this.TxtImagePath.Name = "TxtImagePath";
|
||||
this.TxtImagePath.OnlyNumeric = false;
|
||||
this.TxtImagePath.PasswordChar = '\0';
|
||||
this.TxtImagePath.ReadOnly = true;
|
||||
this.TxtImagePath.SelectedText = "";
|
||||
this.TxtImagePath.SelectionLength = 0;
|
||||
this.TxtImagePath.SelectionStart = 0;
|
||||
this.TxtImagePath.Size = new System.Drawing.Size(594, 32);
|
||||
this.TxtImagePath.TabIndex = 0;
|
||||
this.TxtImagePath.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
|
||||
this.TxtImagePath.ToolTip = "";
|
||||
this.TxtImagePath.WordWrap = true;
|
||||
//
|
||||
// BtnConvert
|
||||
//
|
||||
this.BtnConvert.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
|
||||
this.BtnConvert.Location = new System.Drawing.Point(253, 227);
|
||||
this.BtnConvert.Name = "BtnConvert";
|
||||
this.BtnConvert.Size = new System.Drawing.Size(195, 61);
|
||||
this.BtnConvert.TabIndex = 1;
|
||||
this.BtnConvert.Text = "立即转换";
|
||||
this.BtnConvert.UseVisualStyleBackColor = true;
|
||||
this.BtnConvert.Click += new System.EventHandler(this.BtnConvert_Click);
|
||||
//
|
||||
// superPictureBox1
|
||||
//
|
||||
this.superPictureBox1.ImageDomain = null;
|
||||
this.superPictureBox1.ImageResFolder = null;
|
||||
this.superPictureBox1.Location = new System.Drawing.Point(263, 307);
|
||||
this.superPictureBox1.Name = "superPictureBox1";
|
||||
this.superPictureBox1.Size = new System.Drawing.Size(176, 156);
|
||||
this.superPictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
|
||||
this.superPictureBox1.TabIndex = 2;
|
||||
this.superPictureBox1.TabStop = false;
|
||||
//
|
||||
// BtnBrowser
|
||||
//
|
||||
this.BtnBrowser.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
|
||||
this.BtnBrowser.Location = new System.Drawing.Point(645, 117);
|
||||
this.BtnBrowser.Name = "BtnBrowser";
|
||||
this.BtnBrowser.Size = new System.Drawing.Size(41, 32);
|
||||
this.BtnBrowser.TabIndex = 3;
|
||||
this.BtnBrowser.Text = "...";
|
||||
this.BtnBrowser.UseVisualStyleBackColor = true;
|
||||
this.BtnBrowser.Click += new System.EventHandler(this.BtnBrowser_Click);
|
||||
//
|
||||
// openFileDialog1
|
||||
//
|
||||
this.openFileDialog1.Filter = "图片文件|*.png;*.jpg;*.bmp;*.jpeg";
|
||||
//
|
||||
// FrmImageToIcon
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(744, 533);
|
||||
this.Controls.Add(this.BtnBrowser);
|
||||
this.Controls.Add(this.superPictureBox1);
|
||||
this.Controls.Add(this.BtnConvert);
|
||||
this.Controls.Add(this.TxtImagePath);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "FrmImageToIcon";
|
||||
this.Text = "图片转Icon";
|
||||
((System.ComponentModel.ISupportInitialize)(this.superPictureBox1)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private ryControls.TextBoxEx2 TxtImagePath;
|
||||
private ryControls.ButtonEx BtnConvert;
|
||||
private ryControls.SuperPictureBox superPictureBox1;
|
||||
private ryControls.ButtonEx BtnBrowser;
|
||||
private System.Windows.Forms.OpenFileDialog openFileDialog1;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
using ryCommon;
|
||||
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 WeifenLuo.WinFormsUI.Docking;
|
||||
|
||||
namespace 开发辅助工具.Tools
|
||||
{
|
||||
public partial class FrmImageToIcon : DockContent
|
||||
{
|
||||
public FrmImageToIcon()
|
||||
{
|
||||
InitializeComponent();
|
||||
RyFiles.AddDropDrag(TxtImagePath.Handle).ElevatedDragDrop += FrmImageToIcon_ElevatedDragDrop; ;
|
||||
}
|
||||
|
||||
private void FrmImageToIcon_ElevatedDragDrop(object sender, ElevatedDragDropArgs e)
|
||||
{
|
||||
LoadImage(e.Files[0]);
|
||||
}
|
||||
|
||||
private void LoadImage(string path)
|
||||
{
|
||||
superPictureBox1.Image = RyImage.LoadPic(path);
|
||||
TxtImagePath.Text = path;
|
||||
BtnConvert.Text = "立即转换";
|
||||
}
|
||||
private void BtnBrowser_Click(object sender, EventArgs e)
|
||||
{
|
||||
if(openFileDialog1.ShowDialog()==DialogResult.OK)
|
||||
{
|
||||
LoadImage(openFileDialog1.FileName);
|
||||
}
|
||||
}
|
||||
|
||||
private void BtnConvert_Click(object sender, EventArgs e)
|
||||
{
|
||||
var path = TxtImagePath.Text;
|
||||
var icon= RyImage.ConvertToIcon(RyImage.LoadPic(path), true);
|
||||
if (icon == null)
|
||||
{
|
||||
superPictureBox1.Image = null;
|
||||
BtnConvert.Text = "转换失败";
|
||||
return;
|
||||
}
|
||||
BtnConvert.Enabled = false;
|
||||
//superPictureBox1.Image = icon.ToBitmap();
|
||||
BtnConvert.Text = "转换成功";
|
||||
var icon_path = System.IO.Path.GetDirectoryName(path) + "\\"+System.IO.Path.GetFileNameWithoutExtension(path) + ".ico";
|
||||
try
|
||||
{
|
||||
FileStream fileStream = new FileStream(icon_path, FileMode.Create);
|
||||
icon.Save(fileStream);
|
||||
fileStream.Close();
|
||||
RyFiles.OpenFolderGotoFile(icon_path);
|
||||
}
|
||||
catch
|
||||
{
|
||||
BtnConvert.Text = "保存失败";
|
||||
}
|
||||
BtnConvert.Enabled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,137 @@
|
||||
<?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="openFileDialog1.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="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAICAAAAAAIAD+AQAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAgAAAAIAgGAAAAc3p69AAAAARn
|
||||
QU1BAACxjwv8YQUAAAG1SURBVFhH7VexSgNBEJ3OylYUbLWwMlraCH5DQBBBGxtL01hZG0jWTZSAnVUg
|
||||
IHYqWASsbCQI6dNbKChqYbG+3Ux0M3fmLibnCWbgsbtv3u28u50LFxrFnwqjaQXYBPYSwropUYbLdYcT
|
||||
HJD5BbwYRctcth0gs0KUPEo0x+WdgbuAIHlUuLwzECZIGnUuH8tAPYQbFLEMtMwhzTqNpkWsGyI/CGIY
|
||||
ULTBEhfgVEDzc8R6AqcscYH1ucj7qMHwmtmncVOmJayrIi8RswcU5Zym9+9EzWnwfmNed1pFUxhXhc5H
|
||||
X03YE7zHieCb9l23xyj4DoZmIM93HswpunL7a7oIyQ/FQIOvvxS8jyJrWoKPNPAKNHEXT4L/QvuMdwK8
|
||||
hD0G5RrT53saKOL8pjltH+E2uEehqZoKTWB8F3wQmh64H3Ie/62BLMRjGI94XTMFyuDieczPmLOdPoPx
|
||||
htfR0HTNtY6ZCzWQRaEFm/Q4i2dssOu0eZpkg2WhiYamAvbvNGyIAU1bGO8/10E0Aftkbj2uP2h643lk
|
||||
EyaNkYEuA6l/EaX7TWgD3ZneV3EnYCK9/wWj+KdB9AE8n+bbcJtXxQAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
Generated
-9
@@ -189,20 +189,11 @@
|
||||
//
|
||||
// highlightEditor1
|
||||
//
|
||||
this.highlightEditor1.AutoCMaxHeight = 9;
|
||||
this.highlightEditor1.BiDirectionality = ScintillaNET.BiDirectionalDisplayType.Disabled;
|
||||
this.highlightEditor1.CaretLineBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
|
||||
this.highlightEditor1.CaretLineVisible = true;
|
||||
this.highlightEditor1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.highlightEditor1.LexerName = null;
|
||||
this.highlightEditor1.Location = new System.Drawing.Point(0, 0);
|
||||
this.highlightEditor1.Name = "highlightEditor1";
|
||||
this.highlightEditor1.ScrollWidth = 88;
|
||||
this.highlightEditor1.Size = new System.Drawing.Size(400, 491);
|
||||
this.highlightEditor1.TabIndents = true;
|
||||
this.highlightEditor1.TabIndex = 0;
|
||||
this.highlightEditor1.UseRightToLeftReadingLayout = false;
|
||||
this.highlightEditor1.WrapMode = ScintillaNET.WrapMode.None;
|
||||
//
|
||||
// FrmJson
|
||||
//
|
||||
|
||||
@@ -42,7 +42,7 @@ namespace 开发辅助工具.Tools
|
||||
barCodeWriter.Options.Margin = 0;
|
||||
ZXing.Common.BitMatrix bm = barCodeWriter.Encode(strMessage);
|
||||
result = barCodeWriter.Write(bm);
|
||||
Bitmap qr_bg = (Bitmap)ryCommon.RyFiles.LoadPicFromFile(Application.StartupPath + "\\mod\\qr_bg.jpg");
|
||||
Bitmap qr_bg = (Bitmap)ryCommon.RyImage.LoadPic(Application.StartupPath + "\\mod\\qr_bg.jpg");
|
||||
Graphics g = Graphics.FromImage(qr_bg);
|
||||
g.DrawImage(result, new Rectangle(25, 25, qr_bg.Width - 50, qr_bg.Height - 50));
|
||||
result = qr_bg;
|
||||
@@ -71,7 +71,7 @@ namespace 开发辅助工具.Tools
|
||||
{
|
||||
string path = TxtQrCodePath.Text;
|
||||
if (!System.IO.File.Exists(path)) { Init(); return; }
|
||||
var img = ryCommon.RyFiles.LoadPicFromFile(path);
|
||||
var img = ryCommon.RyImage.LoadPic(path);
|
||||
if (img == null) { Init(); return; }
|
||||
Bitmap bmap;
|
||||
try
|
||||
|
||||
-10
@@ -64,20 +64,10 @@
|
||||
this.highlightEditor1.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.highlightEditor1.AutoCAutoHide = false;
|
||||
this.highlightEditor1.AutoCMaxHeight = 9;
|
||||
this.highlightEditor1.BiDirectionality = ScintillaNET.BiDirectionalDisplayType.Disabled;
|
||||
this.highlightEditor1.CaretLineBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
|
||||
this.highlightEditor1.CaretLineVisible = true;
|
||||
this.highlightEditor1.LexerName = null;
|
||||
this.highlightEditor1.Location = new System.Drawing.Point(12, 216);
|
||||
this.highlightEditor1.Name = "highlightEditor1";
|
||||
this.highlightEditor1.ScrollWidth = 88;
|
||||
this.highlightEditor1.Size = new System.Drawing.Size(812, 258);
|
||||
this.highlightEditor1.TabIndents = true;
|
||||
this.highlightEditor1.TabIndex = 31;
|
||||
this.highlightEditor1.UseRightToLeftReadingLayout = false;
|
||||
this.highlightEditor1.WrapMode = ScintillaNET.WrapMode.None;
|
||||
//
|
||||
// FrmStrCount
|
||||
//
|
||||
|
||||
@@ -37,7 +37,6 @@ namespace 开发辅助工具.Tools
|
||||
|
||||
private void FrmStrCount_Load(object sender, EventArgs e)
|
||||
{
|
||||
highlightEditor1.SetFocus();
|
||||
}
|
||||
}
|
||||
}
|
||||
-11
@@ -106,20 +106,10 @@
|
||||
this.highlightEditor1.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.highlightEditor1.AutoCAutoHide = false;
|
||||
this.highlightEditor1.AutoCMaxHeight = 9;
|
||||
this.highlightEditor1.BiDirectionality = ScintillaNET.BiDirectionalDisplayType.Disabled;
|
||||
this.highlightEditor1.CaretLineBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
|
||||
this.highlightEditor1.CaretLineVisible = true;
|
||||
this.highlightEditor1.LexerName = null;
|
||||
this.highlightEditor1.Location = new System.Drawing.Point(12, 238);
|
||||
this.highlightEditor1.Name = "highlightEditor1";
|
||||
this.highlightEditor1.ScrollWidth = 88;
|
||||
this.highlightEditor1.Size = new System.Drawing.Size(812, 245);
|
||||
this.highlightEditor1.TabIndents = true;
|
||||
this.highlightEditor1.TabIndex = 32;
|
||||
this.highlightEditor1.UseRightToLeftReadingLayout = false;
|
||||
this.highlightEditor1.WrapMode = ScintillaNET.WrapMode.None;
|
||||
//
|
||||
// FrmStrToCode
|
||||
//
|
||||
@@ -146,7 +136,6 @@
|
||||
private System.Windows.Forms.RadioButton RbStrToJS;
|
||||
private System.Windows.Forms.RadioButton RbStrToQuickJS;
|
||||
private System.Windows.Forms.RadioButton RbStrToASP;
|
||||
private ryPaiban.Model.MenuRight menuRight1;
|
||||
private ryControls.Controls.RichTextBox2 TxtFromCode;
|
||||
private ryControls.HighlightEditor highlightEditor1;
|
||||
}
|
||||
|
||||
@@ -85,7 +85,6 @@ namespace 开发辅助工具.Tools
|
||||
|
||||
private void FrmStrToCode_Load(object sender, EventArgs e)
|
||||
{
|
||||
highlightEditor1.SetFocus();
|
||||
}
|
||||
}
|
||||
}
|
||||
+45
-65
@@ -44,10 +44,9 @@
|
||||
this.RichHeader = new ryControls.Controls.RichTextBox2();
|
||||
this.tabPreview = new System.Windows.Forms.TabPage();
|
||||
this.extendedWebBrowser1 = new ExtendedWebBrowser2.ExtendedWebBrowser();
|
||||
this.groupBox3 = new System.Windows.Forms.GroupBox();
|
||||
this.tabControl1 = new System.Windows.Forms.TabControl();
|
||||
this.tabPage1 = new System.Windows.Forms.TabPage();
|
||||
this.TxtPost = new ryControls.Controls.RichTextBox2();
|
||||
this.TxtPost = new ryControls.HighlightEditor();
|
||||
this.tabPage2 = new System.Windows.Forms.TabPage();
|
||||
this.TxtCookie = new ryControls.Controls.RichTextBox2();
|
||||
this.tabPage7 = new System.Windows.Forms.TabPage();
|
||||
@@ -98,7 +97,6 @@
|
||||
this.tabPage5.SuspendLayout();
|
||||
this.tabPage6.SuspendLayout();
|
||||
this.tabPreview.SuspendLayout();
|
||||
this.groupBox3.SuspendLayout();
|
||||
this.tabControl1.SuspendLayout();
|
||||
this.tabPage1.SuspendLayout();
|
||||
this.tabPage2.SuspendLayout();
|
||||
@@ -121,10 +119,10 @@
|
||||
this.tabControl2.Controls.Add(this.tabPage5);
|
||||
this.tabControl2.Controls.Add(this.tabPage6);
|
||||
this.tabControl2.Controls.Add(this.tabPreview);
|
||||
this.tabControl2.Location = new System.Drawing.Point(8, 314);
|
||||
this.tabControl2.Location = new System.Drawing.Point(8, 288);
|
||||
this.tabControl2.Name = "tabControl2";
|
||||
this.tabControl2.SelectedIndex = 0;
|
||||
this.tabControl2.Size = new System.Drawing.Size(889, 306);
|
||||
this.tabControl2.Size = new System.Drawing.Size(889, 332);
|
||||
this.tabControl2.TabIndex = 108;
|
||||
//
|
||||
// tabPage3
|
||||
@@ -134,7 +132,7 @@
|
||||
this.tabPage3.Location = new System.Drawing.Point(4, 22);
|
||||
this.tabPage3.Name = "tabPage3";
|
||||
this.tabPage3.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabPage3.Size = new System.Drawing.Size(881, 280);
|
||||
this.tabPage3.Size = new System.Drawing.Size(881, 306);
|
||||
this.tabPage3.TabIndex = 0;
|
||||
this.tabPage3.Text = "HTML";
|
||||
this.tabPage3.UseVisualStyleBackColor = true;
|
||||
@@ -144,7 +142,7 @@
|
||||
this.pictureBox1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pictureBox1.Location = new System.Drawing.Point(3, 3);
|
||||
this.pictureBox1.Name = "pictureBox1";
|
||||
this.pictureBox1.Size = new System.Drawing.Size(875, 274);
|
||||
this.pictureBox1.Size = new System.Drawing.Size(875, 300);
|
||||
this.pictureBox1.TabIndex = 1;
|
||||
this.pictureBox1.TabStop = false;
|
||||
this.pictureBox1.Visible = false;
|
||||
@@ -160,7 +158,7 @@
|
||||
this.RichHtml.Location = new System.Drawing.Point(3, 3);
|
||||
this.RichHtml.Name = "RichHtml";
|
||||
this.RichHtml.OnlyInputText = true;
|
||||
this.RichHtml.Size = new System.Drawing.Size(875, 274);
|
||||
this.RichHtml.Size = new System.Drawing.Size(875, 300);
|
||||
this.RichHtml.TabIndex = 3;
|
||||
this.RichHtml.Text = "";
|
||||
this.RichHtml.WordWrap = false;
|
||||
@@ -171,31 +169,25 @@
|
||||
this.tabPage12.Location = new System.Drawing.Point(4, 22);
|
||||
this.tabPage12.Name = "tabPage12";
|
||||
this.tabPage12.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabPage12.Size = new System.Drawing.Size(881, 280);
|
||||
this.tabPage12.Size = new System.Drawing.Size(881, 306);
|
||||
this.tabPage12.TabIndex = 4;
|
||||
this.tabPage12.Text = "HTML格式化";
|
||||
this.tabPage12.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// highlightEditor1
|
||||
//
|
||||
this.highlightEditor1.AutoCAutoHide = false;
|
||||
this.highlightEditor1.AutoCMaxHeight = 9;
|
||||
this.highlightEditor1.BiDirectionality = ScintillaNET.BiDirectionalDisplayType.Disabled;
|
||||
this.highlightEditor1.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.highlightEditor1.CaretLineBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
|
||||
this.highlightEditor1.CaretLineVisible = true;
|
||||
this.highlightEditor1.AutoMark = true;
|
||||
this.highlightEditor1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.highlightEditor1.Font = new System.Drawing.Font("Consolas", 11.25F);
|
||||
this.highlightEditor1.LexerName = null;
|
||||
this.highlightEditor1.LineNumberOn = true;
|
||||
this.highlightEditor1.Location = new System.Drawing.Point(3, 3);
|
||||
this.highlightEditor1.Name = "highlightEditor1";
|
||||
this.highlightEditor1.ReadOnly = true;
|
||||
this.highlightEditor1.ScrollWidth = 1;
|
||||
this.highlightEditor1.Size = new System.Drawing.Size(875, 274);
|
||||
this.highlightEditor1.TabIndents = true;
|
||||
this.highlightEditor1.SelectedText = "";
|
||||
this.highlightEditor1.Size = new System.Drawing.Size(875, 300);
|
||||
this.highlightEditor1.TabIndex = 0;
|
||||
this.highlightEditor1.UseRightToLeftReadingLayout = false;
|
||||
this.highlightEditor1.WrapMode = ScintillaNET.WrapMode.None;
|
||||
this.highlightEditor1.UseCustomGotoLine = false;
|
||||
this.highlightEditor1.UseCustomShowFindReplace = false;
|
||||
//
|
||||
// tabPage4
|
||||
//
|
||||
@@ -203,7 +195,7 @@
|
||||
this.tabPage4.Location = new System.Drawing.Point(4, 22);
|
||||
this.tabPage4.Name = "tabPage4";
|
||||
this.tabPage4.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabPage4.Size = new System.Drawing.Size(881, 280);
|
||||
this.tabPage4.Size = new System.Drawing.Size(881, 306);
|
||||
this.tabPage4.TabIndex = 1;
|
||||
this.tabPage4.Text = "Cookie";
|
||||
this.tabPage4.UseVisualStyleBackColor = true;
|
||||
@@ -219,7 +211,7 @@
|
||||
this.RichCookie.Location = new System.Drawing.Point(3, 3);
|
||||
this.RichCookie.Name = "RichCookie";
|
||||
this.RichCookie.OnlyInputText = true;
|
||||
this.RichCookie.Size = new System.Drawing.Size(875, 274);
|
||||
this.RichCookie.Size = new System.Drawing.Size(875, 300);
|
||||
this.RichCookie.TabIndex = 4;
|
||||
this.RichCookie.Text = "";
|
||||
this.RichCookie.WordWrap = false;
|
||||
@@ -230,7 +222,7 @@
|
||||
this.tabPage5.Location = new System.Drawing.Point(4, 22);
|
||||
this.tabPage5.Name = "tabPage5";
|
||||
this.tabPage5.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabPage5.Size = new System.Drawing.Size(881, 280);
|
||||
this.tabPage5.Size = new System.Drawing.Size(881, 306);
|
||||
this.tabPage5.TabIndex = 2;
|
||||
this.tabPage5.Text = "Status";
|
||||
this.tabPage5.UseVisualStyleBackColor = true;
|
||||
@@ -246,7 +238,7 @@
|
||||
this.RichStatus.Location = new System.Drawing.Point(3, 3);
|
||||
this.RichStatus.Name = "RichStatus";
|
||||
this.RichStatus.OnlyInputText = true;
|
||||
this.RichStatus.Size = new System.Drawing.Size(875, 274);
|
||||
this.RichStatus.Size = new System.Drawing.Size(875, 300);
|
||||
this.RichStatus.TabIndex = 5;
|
||||
this.RichStatus.Text = "";
|
||||
this.RichStatus.WordWrap = false;
|
||||
@@ -257,7 +249,7 @@
|
||||
this.tabPage6.Location = new System.Drawing.Point(4, 22);
|
||||
this.tabPage6.Name = "tabPage6";
|
||||
this.tabPage6.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabPage6.Size = new System.Drawing.Size(881, 280);
|
||||
this.tabPage6.Size = new System.Drawing.Size(881, 306);
|
||||
this.tabPage6.TabIndex = 3;
|
||||
this.tabPage6.Text = "Header";
|
||||
this.tabPage6.UseVisualStyleBackColor = true;
|
||||
@@ -273,7 +265,7 @@
|
||||
this.RichHeader.Location = new System.Drawing.Point(3, 3);
|
||||
this.RichHeader.Name = "RichHeader";
|
||||
this.RichHeader.OnlyInputText = true;
|
||||
this.RichHeader.Size = new System.Drawing.Size(875, 274);
|
||||
this.RichHeader.Size = new System.Drawing.Size(875, 300);
|
||||
this.RichHeader.TabIndex = 6;
|
||||
this.RichHeader.Text = "";
|
||||
this.RichHeader.WordWrap = false;
|
||||
@@ -284,7 +276,7 @@
|
||||
this.tabPreview.Location = new System.Drawing.Point(4, 22);
|
||||
this.tabPreview.Name = "tabPreview";
|
||||
this.tabPreview.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabPreview.Size = new System.Drawing.Size(881, 280);
|
||||
this.tabPreview.Size = new System.Drawing.Size(881, 306);
|
||||
this.tabPreview.TabIndex = 5;
|
||||
this.tabPreview.Text = "预览";
|
||||
this.tabPreview.UseVisualStyleBackColor = true;
|
||||
@@ -297,33 +289,20 @@
|
||||
this.extendedWebBrowser1.MinimumSize = new System.Drawing.Size(20, 20);
|
||||
this.extendedWebBrowser1.Name = "extendedWebBrowser1";
|
||||
this.extendedWebBrowser1.ScriptErrorsSuppressed = true;
|
||||
this.extendedWebBrowser1.Size = new System.Drawing.Size(875, 274);
|
||||
this.extendedWebBrowser1.Size = new System.Drawing.Size(875, 300);
|
||||
this.extendedWebBrowser1.TabIndex = 2;
|
||||
//
|
||||
// groupBox3
|
||||
//
|
||||
this.groupBox3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.groupBox3.Controls.Add(this.tabControl1);
|
||||
this.groupBox3.Location = new System.Drawing.Point(10, 170);
|
||||
this.groupBox3.Name = "groupBox3";
|
||||
this.groupBox3.Size = new System.Drawing.Size(887, 138);
|
||||
this.groupBox3.TabIndex = 107;
|
||||
this.groupBox3.TabStop = false;
|
||||
this.groupBox3.Text = "高级输入参数";
|
||||
//
|
||||
// tabControl1
|
||||
//
|
||||
this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.tabControl1.Controls.Add(this.tabPage1);
|
||||
this.tabControl1.Controls.Add(this.tabPage2);
|
||||
this.tabControl1.Controls.Add(this.tabPage7);
|
||||
this.tabControl1.Location = new System.Drawing.Point(4, 17);
|
||||
this.tabControl1.Location = new System.Drawing.Point(10, 171);
|
||||
this.tabControl1.Name = "tabControl1";
|
||||
this.tabControl1.SelectedIndex = 0;
|
||||
this.tabControl1.Size = new System.Drawing.Size(876, 115);
|
||||
this.tabControl1.Size = new System.Drawing.Size(887, 115);
|
||||
this.tabControl1.TabIndex = 6;
|
||||
//
|
||||
// tabPage1
|
||||
@@ -332,7 +311,7 @@
|
||||
this.tabPage1.Location = new System.Drawing.Point(4, 22);
|
||||
this.tabPage1.Name = "tabPage1";
|
||||
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabPage1.Size = new System.Drawing.Size(868, 89);
|
||||
this.tabPage1.Size = new System.Drawing.Size(879, 89);
|
||||
this.tabPage1.TabIndex = 0;
|
||||
this.tabPage1.Text = "Post数据";
|
||||
this.tabPage1.UseVisualStyleBackColor = true;
|
||||
@@ -342,18 +321,19 @@
|
||||
this.TxtPost.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.TxtPost.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.TxtPost.DetectUrls = false;
|
||||
this.TxtPost.EmptyText = "请填写Post数据";
|
||||
this.TxtPost.Font = new System.Drawing.Font("Courier New", 10F);
|
||||
this.TxtPost.ForeColor = System.Drawing.Color.Black;
|
||||
this.TxtPost.Location = new System.Drawing.Point(2, 3);
|
||||
this.TxtPost.AutoMark = true;
|
||||
this.TxtPost.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.TxtPost.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.TxtPost.ImeMode = System.Windows.Forms.ImeMode.Close;
|
||||
this.TxtPost.LineNumberOn = true;
|
||||
this.TxtPost.Location = new System.Drawing.Point(3, 3);
|
||||
this.TxtPost.Name = "TxtPost";
|
||||
this.TxtPost.OnlyInputText = true;
|
||||
this.TxtPost.Size = new System.Drawing.Size(862, 83);
|
||||
this.TxtPost.TabIndex = 2;
|
||||
this.TxtPost.Text = "";
|
||||
this.TxtPost.WordWrap = false;
|
||||
this.TxtPost.ReadOnly = false;
|
||||
this.TxtPost.SelectedText = "";
|
||||
this.TxtPost.Size = new System.Drawing.Size(873, 83);
|
||||
this.TxtPost.TabIndex = 3;
|
||||
this.TxtPost.UseCustomGotoLine = false;
|
||||
this.TxtPost.UseCustomShowFindReplace = false;
|
||||
this.TxtPost.TextChanged += new System.EventHandler(this.TxtPost_TextChanged);
|
||||
this.TxtPost.DoubleClick += new System.EventHandler(this.TxtPost_DoubleClick);
|
||||
//
|
||||
@@ -363,7 +343,7 @@
|
||||
this.tabPage2.Location = new System.Drawing.Point(4, 22);
|
||||
this.tabPage2.Name = "tabPage2";
|
||||
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabPage2.Size = new System.Drawing.Size(868, 89);
|
||||
this.tabPage2.Size = new System.Drawing.Size(879, 89);
|
||||
this.tabPage2.TabIndex = 1;
|
||||
this.tabPage2.Text = "Cookie";
|
||||
this.tabPage2.UseVisualStyleBackColor = true;
|
||||
@@ -386,7 +366,7 @@
|
||||
this.TxtCookie.Text = "";
|
||||
this.TxtCookie.WordWrap = false;
|
||||
this.TxtCookie.TextChanged += new System.EventHandler(this.TxtCookie_TextChanged);
|
||||
this.TxtCookie.DoubleClick += new System.EventHandler(this.TxtPost_DoubleClick);
|
||||
this.TxtCookie.DoubleClick += new System.EventHandler(this.TxtCookie_DoubleClick);
|
||||
//
|
||||
// tabPage7
|
||||
//
|
||||
@@ -394,7 +374,7 @@
|
||||
this.tabPage7.Location = new System.Drawing.Point(4, 22);
|
||||
this.tabPage7.Name = "tabPage7";
|
||||
this.tabPage7.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabPage7.Size = new System.Drawing.Size(868, 89);
|
||||
this.tabPage7.Size = new System.Drawing.Size(879, 89);
|
||||
this.tabPage7.TabIndex = 2;
|
||||
this.tabPage7.Text = "Header";
|
||||
this.tabPage7.UseVisualStyleBackColor = true;
|
||||
@@ -417,7 +397,7 @@
|
||||
this.TxtInputHeader.Text = "";
|
||||
this.TxtInputHeader.WordWrap = false;
|
||||
this.TxtInputHeader.TextChanged += new System.EventHandler(this.TxtInputHeader_TextChanged);
|
||||
this.TxtInputHeader.DoubleClick += new System.EventHandler(this.TxtPost_DoubleClick);
|
||||
this.TxtInputHeader.DoubleClick += new System.EventHandler(this.TxtCookie_DoubleClick);
|
||||
//
|
||||
// groupBox2
|
||||
//
|
||||
@@ -690,6 +670,7 @@
|
||||
this.RbPost.TabIndex = 103;
|
||||
this.RbPost.Text = "Post";
|
||||
this.RbPost.UseVisualStyleBackColor = true;
|
||||
this.RbPost.CheckedChanged += new System.EventHandler(this.RbPost_CheckedChanged);
|
||||
//
|
||||
// RbGet
|
||||
//
|
||||
@@ -702,6 +683,7 @@
|
||||
this.RbGet.TabStop = true;
|
||||
this.RbGet.Text = "Get";
|
||||
this.RbGet.UseVisualStyleBackColor = true;
|
||||
this.RbGet.CheckedChanged += new System.EventHandler(this.RbGet_CheckedChanged);
|
||||
//
|
||||
// label2
|
||||
//
|
||||
@@ -863,11 +845,11 @@
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(909, 620);
|
||||
this.Controls.Add(this.tabControl1);
|
||||
this.Controls.Add(this.BtnMore);
|
||||
this.Controls.Add(this.TxtUrl);
|
||||
this.Controls.Add(this.BtnCtreateCShape);
|
||||
this.Controls.Add(this.tabControl2);
|
||||
this.Controls.Add(this.groupBox3);
|
||||
this.Controls.Add(this.groupBox2);
|
||||
this.Controls.Add(this.groupBox1);
|
||||
this.Controls.Add(this.BtnRunHtml);
|
||||
@@ -889,7 +871,6 @@
|
||||
this.tabPage5.ResumeLayout(false);
|
||||
this.tabPage6.ResumeLayout(false);
|
||||
this.tabPreview.ResumeLayout(false);
|
||||
this.groupBox3.ResumeLayout(false);
|
||||
this.tabControl1.ResumeLayout(false);
|
||||
this.tabPage1.ResumeLayout(false);
|
||||
this.tabPage2.ResumeLayout(false);
|
||||
@@ -914,7 +895,6 @@
|
||||
private System.Windows.Forms.TabPage tabPage4;
|
||||
private System.Windows.Forms.TabPage tabPage5;
|
||||
private System.Windows.Forms.TabPage tabPage6;
|
||||
private System.Windows.Forms.GroupBox groupBox3;
|
||||
private System.Windows.Forms.GroupBox groupBox2;
|
||||
private ryControls.RyComboBox CbbReferer;
|
||||
private ryControls.RyComboBox CbbIp;
|
||||
@@ -944,7 +924,6 @@
|
||||
private System.Windows.Forms.TabPage tabPage1;
|
||||
private System.Windows.Forms.TabPage tabPage2;
|
||||
private System.Windows.Forms.TabPage tabPage7;
|
||||
private ryControls.Controls.RichTextBox2 TxtPost;
|
||||
private ryControls.Controls.RichTextBox2 TxtCookie;
|
||||
private ryControls.Controls.RichTextBox2 TxtInputHeader;
|
||||
private System.Windows.Forms.TabPage tabPreview;
|
||||
@@ -967,5 +946,6 @@
|
||||
private ryControls.SuperPictureBox BtnMore;
|
||||
private System.Windows.Forms.ContextMenuStrip MenuMore;
|
||||
private System.Windows.Forms.ToolTip toolTip1;
|
||||
private ryControls.HighlightEditor TxtPost;
|
||||
}
|
||||
}
|
||||
@@ -8,8 +8,8 @@ using ryControls;
|
||||
using ryProcessManager.hezuo;
|
||||
using ScintillaNET;
|
||||
using Sheng.Winform.Controls.PopupControl;
|
||||
using SuperDesign.Controls;
|
||||
using SuperDesign.Tools;
|
||||
using 开发辅助工具.Controls;
|
||||
using 开发辅助工具.Tools;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
@@ -25,6 +25,7 @@ using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
using System.Xml;
|
||||
using VPKSoft.ScintillaLexers;
|
||||
using WeifenLuo.WinFormsUI.Docking;
|
||||
using 开发辅助工具.Manager;
|
||||
@@ -105,6 +106,7 @@ namespace 开发辅助工具.Tools
|
||||
new UserAgentInfo() { name = "安卓", useragent = "Mozilla/5.0 (Linux; Android 4.1.1; Nexus 7 Build/JRO03S) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19" },
|
||||
});
|
||||
TxtPost.AddSeparatorMenu();
|
||||
|
||||
TxtPost.AddMenu("将选定项进行Url编码(UTF8)", "").Click += new EventHandler((object sender2, EventArgs e2) =>
|
||||
{
|
||||
RyWeb.QuickWeb web = new RyWeb.QuickWeb();
|
||||
@@ -131,7 +133,7 @@ namespace 开发辅助工具.Tools
|
||||
});
|
||||
TxtPost.AddMenu("插入时间戳", "").Click += new EventHandler((object sender2, EventArgs e2) =>
|
||||
{
|
||||
SuperDesign.Controls.FrmInsertUnixTime frm = new SuperDesign.Controls.FrmInsertUnixTime
|
||||
开发辅助工具.Controls.FrmInsertUnixTime frm = new 开发辅助工具.Controls.FrmInsertUnixTime
|
||||
{
|
||||
Icon = Icon
|
||||
};
|
||||
@@ -214,7 +216,7 @@ namespace 开发辅助工具.Tools
|
||||
JObject jo = (JObject)JsonConvert.DeserializeObject(PostData);
|
||||
PostData = Newtonsoft.Json.JsonConvert.SerializeObject(jo, new Newtonsoft.Json.JsonSerializerSettings() { StringEscapeHandling = Newtonsoft.Json.StringEscapeHandling.EscapeNonAscii });
|
||||
}
|
||||
catch (Exception ex)
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -326,7 +328,34 @@ namespace 开发辅助工具.Tools
|
||||
else
|
||||
{
|
||||
this.RichHtml.Text = result.Html;
|
||||
if (Manager.Json.IsJson(result.Html))
|
||||
if(result.Html.IndexOfEx("<xml")==0 || result.Html.IndexOfEx("<?xml") == 0)
|
||||
{
|
||||
IndentLibrary.HtmlIndent indent = new IndentLibrary.HtmlIndent();
|
||||
try
|
||||
{
|
||||
XmlDocument doc = new XmlDocument();
|
||||
doc.LoadXml(result.Html);
|
||||
StringBuilder sb = new StringBuilder();
|
||||
XmlWriterSettings settings = new XmlWriterSettings
|
||||
{
|
||||
Indent = true,
|
||||
IndentChars = " ",
|
||||
NewLineChars="\r\n",
|
||||
NewLineHandling = NewLineHandling.Replace
|
||||
};
|
||||
using (XmlWriter writer = XmlWriter.Create(sb, settings))
|
||||
{
|
||||
doc.Save(writer);
|
||||
highlightEditor1.SetHightlightText(sb.ToString(), "xml");
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
highlightEditor1.SetHightlightText(indent.Beautify(result.Html), "xml");
|
||||
}
|
||||
AddUrl("", TxtUrl.Text);
|
||||
}
|
||||
else if (Manager.Json.IsJson(result.Html))
|
||||
{
|
||||
highlightEditor1.SetHightlightText(Manager.Json.ConvertJsonString(result.Html), "json");
|
||||
AddUrl("", TxtUrl.Text);
|
||||
@@ -473,8 +502,10 @@ namespace 开发辅助工具.Tools
|
||||
}
|
||||
private void FrmWebGet_Load(object sender, EventArgs e)
|
||||
{
|
||||
highlightEditor1.SetFocus();
|
||||
//TxtPost.AutoWordSelection = false;
|
||||
List<string> autoc_list = new List<string>();
|
||||
autoc_list.AddRange(RyFiles.ReadAllLines(Application.StartupPath + "\\SysDb\\AutoComplete\\post.txt"));
|
||||
TxtPost.SetAutoCompleteList(autoc_list);
|
||||
//TxtPost.AutoWordSelection = false;
|
||||
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; //加上这一句
|
||||
var highlight_menu = (ContextMenuStripHighlightText2)highlightEditor1.ContextMenuStrip;
|
||||
highlight_menu.AddSeparatorMenu();
|
||||
@@ -511,7 +542,7 @@ namespace 开发辅助工具.Tools
|
||||
ContextMenuStrip menu =(ContextMenuStrip) (((ToolStripMenuItem)sender).Owner);
|
||||
switch(menu.SourceControl)
|
||||
{
|
||||
case HighlightEditor rich_txt:
|
||||
case ScintillaNET.Scintilla rich_txt:
|
||||
var SelectedText= rich_txt.SelectedText;
|
||||
if (SelectedText == "") { SelectedText = rich_txt.Text; }
|
||||
//if (Manager.Json.IsJson(SelectedText))
|
||||
@@ -637,6 +668,11 @@ namespace 开发辅助工具.Tools
|
||||
mode = url.Replace("?", "&").GetStr("&Action=", "");
|
||||
if (mode.IndexOf("&") > 0) { mode = mode.GetStr("", "&"); }
|
||||
}
|
||||
if (mode.Length == 0)
|
||||
{
|
||||
mode = url.Replace("?", "&").GetStr("&api=", "");
|
||||
if (mode.IndexOf("&") > 0) { mode = mode.GetStr("", "&"); }
|
||||
}
|
||||
_title = mode;
|
||||
}
|
||||
RyQuickSQL mySQL = new RyQuickSQL("Urls");
|
||||
@@ -689,11 +725,15 @@ namespace 开发辅助工具.Tools
|
||||
{
|
||||
DataRow row = ds.Tables[0].Rows[0];
|
||||
SetValueByRich(TxtCookie,"Cookie");
|
||||
SetValueByRich(TxtPost, "Postdata");
|
||||
SetValueByHightlight(TxtPost, "Postdata");
|
||||
SetValueByRich(TxtInputHeader, "Header");
|
||||
SetValue2(CbbReferer, "Referer");
|
||||
SetValue2(CbbContentType, "ContentType");
|
||||
SetValue2(CbbEncoding, "Encoding");
|
||||
if (TxtCookie.Text != "") { tabPage2.Text = "Cookie(有数据)"; }
|
||||
else { tabPage2.Text = "Cookie"; }
|
||||
if (TxtInputHeader.Text != "") { tabPage7.Text = "Header(有数据)"; }
|
||||
else { tabPage7.Text = "Header"; }
|
||||
if (row["Method"].ToString().Length>0)
|
||||
{
|
||||
if(row["Method"].ToString()=="post")
|
||||
@@ -706,6 +746,10 @@ namespace 开发辅助工具.Tools
|
||||
{
|
||||
if (row[Field].ToString().Length > 0) { txt.Text = row[Field].ToString(); txt.Refresh(); }
|
||||
}
|
||||
void SetValueByHightlight(HighlightEditor txt, string Field)
|
||||
{
|
||||
if (row[Field].ToString().Length > 0) { txt.Text = row[Field].ToString(); txt.Refresh(); }
|
||||
}
|
||||
void SetValue2(ryControls.RyComboBox cbb, string Field)
|
||||
{
|
||||
if (row[Field].ToString().Length>0) { cbb.Text = row[Field].ToString(); }
|
||||
@@ -812,15 +856,51 @@ namespace 开发辅助工具.Tools
|
||||
|
||||
private void TxtPost_DoubleClick(object sender, EventArgs e)
|
||||
{
|
||||
ryControls.Controls.RichTextBox2 txt = (ryControls.Controls.RichTextBox2)sender;
|
||||
开发辅助工具.Controls.FrmText frm = new Controls.FrmText
|
||||
//Start();
|
||||
new Thread(Start).Start();
|
||||
void Start()
|
||||
{
|
||||
Icon = Icon
|
||||
};
|
||||
frm.richTextBox1.Text = txt.Text;
|
||||
if (frm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
txt.Text = frm.richTextBox1.Text;
|
||||
Thread.Sleep(100);
|
||||
this.Invoke(new Action(() =>
|
||||
{
|
||||
var post = TxtPost.Text;
|
||||
if (post.StartsWith("{", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
开发辅助工具.Controls.FrmText frm = new Controls.FrmText
|
||||
{
|
||||
Icon = Icon
|
||||
};
|
||||
frm.highlightEditor1.Visible = true;
|
||||
frm.richTextBox1.Visible = false;
|
||||
try
|
||||
{
|
||||
frm.highlightEditor1.SetHightlightText(Manager.Json.ConvertJsonString(post), "json");
|
||||
}
|
||||
catch
|
||||
{
|
||||
frm.highlightEditor1.SetHightlightText(post, "txt");
|
||||
}
|
||||
if (frm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
try
|
||||
{
|
||||
JObject jo = (JObject)JsonConvert.DeserializeObject(frm.highlightEditor1.Text);
|
||||
var aa = Newtonsoft.Json.JsonConvert.SerializeObject(jo, new Newtonsoft.Json.JsonSerializerSettings() { StringEscapeHandling = Newtonsoft.Json.StringEscapeHandling.EscapeNonAscii });
|
||||
TxtPost.Text = aa;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.Message, "出错", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
ShowAPIDialog();
|
||||
}
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -899,7 +979,7 @@ namespace 开发辅助工具.Tools
|
||||
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
|
||||
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1)
|
||||
{
|
||||
SuperDesign.Controls.FrmTitle frm = new SuperDesign.Controls.FrmTitle();
|
||||
开发辅助工具.Controls.FrmTitle frm = new 开发辅助工具.Controls.FrmTitle();
|
||||
frm.TxtTitle.Text = item.Des;
|
||||
if (frm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
@@ -919,7 +999,6 @@ namespace 开发辅助工具.Tools
|
||||
Point p = new Point(0, btn.Height);
|
||||
MenuMore.Items.Clear();
|
||||
AddMenu("API编辑器", "api");
|
||||
AddMenu("-", "");
|
||||
try
|
||||
{
|
||||
var uri = new Uri(TxtUrl.Text);
|
||||
@@ -941,6 +1020,7 @@ namespace 开发辅助工具.Tools
|
||||
new MenuTag() { Title = "切换到【下银网】downbank.cn", Site = "https://www.downbank.cn" },
|
||||
new MenuTag() { Title = "切换到【下银网】downbank.cc", Site = "http://www.downbank.cc" }
|
||||
};
|
||||
AddMenu("-", "");
|
||||
for (int i = 0; i < list.Count; i++)
|
||||
{
|
||||
if (list[i].Title=="-")
|
||||
@@ -964,7 +1044,49 @@ namespace 开发辅助工具.Tools
|
||||
item.Click += Item_Click;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 显示API编辑器
|
||||
/// </summary>
|
||||
private void ShowAPIDialog()
|
||||
{
|
||||
var have_error = false;
|
||||
Uri uri = null;
|
||||
try
|
||||
{
|
||||
uri = new Uri(TxtUrl.Text);
|
||||
}
|
||||
catch { have_error = true; }
|
||||
try
|
||||
{
|
||||
if (RbPost.Checked)
|
||||
{
|
||||
var post = RyWeb.WebDecode.UrlToData("f?" + TxtPost.Text);
|
||||
}
|
||||
}
|
||||
catch { have_error = true; }
|
||||
if (have_error)
|
||||
{
|
||||
MessageBox.Show("API编辑器不支持当前内容。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
return;
|
||||
}
|
||||
if (uri != null)
|
||||
{
|
||||
APIEditor frm = new APIEditor();
|
||||
frm.LoadData(uri, TxtPost.Text, RbGet.Checked);
|
||||
if (frm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
if (RbGet.Checked)
|
||||
{
|
||||
TxtUrl.Text = uri.Scheme + "://" + uri.Host + (uri.Port == 80 ? "" : (":" + uri.Port)) + uri.AbsolutePath + "?" + frm.SelectedPostDatas;
|
||||
}
|
||||
else
|
||||
{
|
||||
TxtPost.Text = frm.SelectedPostDatas;
|
||||
}
|
||||
}
|
||||
frm.Dispose();
|
||||
}
|
||||
}
|
||||
private void Item_Click(object sender, EventArgs e)
|
||||
{
|
||||
if(sender is ToolStripItem item)
|
||||
@@ -973,24 +1095,10 @@ namespace 开发辅助工具.Tools
|
||||
{
|
||||
if(menuTag.Site=="api")
|
||||
{
|
||||
Uri uri = null;
|
||||
try
|
||||
{
|
||||
uri = new Uri(TxtUrl.Text);
|
||||
}
|
||||
catch { }
|
||||
if (uri != null)
|
||||
{
|
||||
APIEditor frm = new APIEditor();
|
||||
frm.LoadData(uri, TxtPost.Text);
|
||||
if(frm.ShowDialog()==DialogResult.OK)
|
||||
{
|
||||
TxtPost.Text = frm.SelectedPostDatas;
|
||||
}
|
||||
frm.Dispose();
|
||||
}
|
||||
ShowAPIDialog();
|
||||
return;
|
||||
}
|
||||
if (menuTag.Site.Length == 0) { return; }
|
||||
var url = TxtUrl.Text;
|
||||
var pos = url.IndexOfEx("//");
|
||||
if(pos>=0)
|
||||
@@ -1010,6 +1118,31 @@ namespace 开发辅助工具.Tools
|
||||
public string Title { get; set; }
|
||||
public string Site { get; set; }
|
||||
}
|
||||
|
||||
private void RbGet_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
if(RbGet.Checked) TxtPost.Enabled = false;
|
||||
}
|
||||
|
||||
private void RbPost_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (RbPost.Checked) TxtPost.Enabled = true;
|
||||
}
|
||||
|
||||
private void TxtCookie_DoubleClick(object sender, EventArgs e)
|
||||
{
|
||||
ryControls.Controls.RichTextBox2 txt = (ryControls.Controls.RichTextBox2)sender;
|
||||
开发辅助工具.Controls.FrmText frm = new Controls.FrmText
|
||||
{
|
||||
Icon = Icon
|
||||
};
|
||||
frm.richTextBox1.Text = txt.Text;
|
||||
if (frm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
txt.Text = frm.richTextBox1.Text;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
public class UrlInfo
|
||||
{
|
||||
|
||||
@@ -146,78 +146,21 @@
|
||||
</metadata>
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAAAAAAAAAAAAAAAAAAAA
|
||||
AACBemwQgXpsiIF6bO+Bemz/gXps+4F6bPqBemz6gXps+oF6bPqBemz6gXps+oF6bPqBemz6gXps+oF6
|
||||
bPqBemz6gXps+oF6bPqBemz6gXps+oF6bPqBemz6gXps/4F6bPmBemyqgXpsIYF6bACBemwAAAAAAAAA
|
||||
AAAAAAAAAAAAAIF6bImBemz8gXps14F6bHmBemxTgXpsUIF6bFCBemxQgXpsUIF6bFCBemxQgXpsUIF6
|
||||
bFCBemxQgXpsUIF6bFCBemxQgXpsUIF6bFCBemxQgXpsUIF6bFCBemxpgXpswIF6bP+BemyogXpsCoF6
|
||||
bAAAAAAAAAAAAAAAAAAAAAAAgXps74F6bNeBemwvgXpsAIF6bACBemwAgXpsAIF6bACBemwAgXpsAIF6
|
||||
bACBemwAgXpsAIF6bACBemwAgXpsAIF6bACBemwAgXpsAIF6bACBemwAgXpsAIF6bACBemwSgXpssIF6
|
||||
bPKBemwygXpsAIF6bACBemwAgXpsAIF6bACBemz/gXpseIF6bACBemwAgXpsAIF6bACBemwXgXpsNIF6
|
||||
bDeBemw2gXpsNoF6bDaBemw2gXpsNoF6bDaBemw2gXpsNoF6bDaBemw2gXpsNoF6bDaBemw2gXpsN4F6
|
||||
bDKBemxzgXps9YF6bG6BemwzgXpsN4F6bCiBemwFgXpsAIF6bPuBemxTgXpsAIF6bACBemwAgXpsVIF6
|
||||
bM+BemzwgXps8oF6bPGBemzxgXps8oF6bPKBemzxgXps8YF6bPKBemzxgXps8YF6bPKBemzygXps8oF6
|
||||
bPKBemzxgXps8oF6bPOBemz+gXps9oF6bPKBemzygXps54F6bJiBemwagXps+oF6bFCBemwAgXpsAIF6
|
||||
bDKBemzlgXps/4F6bP6Bemz1gXps/YF6bP+Bemz2gXps+oF6bP+Bemz+gXps9YF6bP6Bemz/gXps+oF6
|
||||
bPiBemz8gXps9oF6bP2Bemz1gXps/oF6bPWBemzxgXps8YF6bPKBemz+gXps/4F6bKGBemz6gXpsUYF6
|
||||
bACBemwAgXpsdIF6bP+Bemz/gXps5IF6bFyBemzagXps/oF6bHOBemysgXps/4F6bOCBemxcgXps3oF6
|
||||
bP+BemyngXpsiIF6bKiBemxcgXpsxYF6bGiBemzqgXpsbYF6bEGBemxMgXpsWoF6bN+Bemz/gXps84F6
|
||||
bPqBemxRgXpsAIF6bACBemyFgXps/4F6bP+BemzcgXpsLoF6bNOBemz/gXpsTIF6bJSBemz/gXps2IF6
|
||||
bC2BemzUgXps/4F6bI6BemxhgXpsYoF6bBGBemyWgXpsP4F6bOOBemxEgXpsgoF6bNWBemzVgXps94F6
|
||||
bP+Bemz/gXps+oF6bFGBemwAgXpsAIF6bISBemz/gXps/4F6bN6BemwngXpsboF6bIeBemwpgXpsmIF6
|
||||
bP+BemzYgXpsMIF6bNWBemz/gXpskIF6bFCBemxJgXpsP4F6bGWBemxCgXps5IF6bEaBemyjgXps/4F6
|
||||
bP+Bemz/gXps/4F6bP+Bemz6gXpsUYF6bACBemwAgXpshIF6bP+Bemz/gXps3oF6bCeBemxqgXpsgoF6
|
||||
bCeBemyYgXps/4F6bNyBemwxgXps2IF6bP+BemySgXpsK4F6bFKBemyXgXpsMYF6bD2BemzkgXpsRoF6
|
||||
bKGBemz/gXps/4F6bP+Bemz/gXps/4F6bPqBemxRgXpsAIF6bACBemyFgXps/4F6bP+BemzcgXpsLYF6
|
||||
bNKBemz/gXpsS4F6bJOBemzMgXpsi4F6bByBemyJgXpsyoF6bJCBemwAgXpsd4F6bNeBemwZgXpsLYF6
|
||||
bOSBemxDgXpsn4F6bP+Bemz/gXps/4F6bP+Bemz/gXps+oF6bFGBemwAgXpsAIF6bIKBemz/gXps/4F6
|
||||
bOqBemx8gXps4YF6bP6BemyPgXpsvIF6bJyBemxegXpsX4F6bF6BemyYgXpsuYF6bF2BemzEgXps+IF6
|
||||
bH2Bemx6gXps74F6bJKBemzIgXps/4F6bP+Bemz/gXps/4F6bP6Bemz6gXpsUYF6bACBemwAgXpsXIF6
|
||||
bP2Bemz/gXps/4F6bP+Bemz/gXps/4F6bP+Bemz/gXps/4F6bP6Bemz+gXps/oF6bP6Bemz/gXps/4F6
|
||||
bP+Bemz/gXps/4F6bP+Bemz/gXps/4F6bP+Bemz/gXps/4F6bP+Bemz/gXps3IF6bPqBemxRgXpsAIF6
|
||||
bACBemwUgXpss4F6bP+Bemz/gXps/4F6bP+Bemz/gXps/4F6bP+Bemz/gXps/4F6bP+Bemz/gXps/4F6
|
||||
bP+Bemz/gXps/4F6bP+Bemz/gXps/4F6bP+Bemz/gXps/4F6bP+Bemz/gXps/4F6bOuBemxhgXps+oF6
|
||||
bFGBemwAgXpsAIF6bACBemwZgXpsdoF6bKmBemywgXpssYF6bLGBemyxgXpssYF6bLGBemyxgXpssYF6
|
||||
bLGBemyxgXpssYF6bLGBemyxgXpssYF6bLGBemywgXpsvIF6bPWBemzHgXpssIF6bLCBemyYgXpsRIF6
|
||||
bAKBemz6gXpsUYF6bACBemwAgXpsAIF6bACBemwAgXpsDYF6bAuBemwEgXpsBIF6bASBemwEgXpsBIF6
|
||||
bASBemwEgXpsBIF6bASBemwEgXpsBIF6bASBemwEgXpsBIF6bAKBemwogXps34F6bEuBemwAgXpsBIF6
|
||||
bACBemwAgXpsAIF6bPqBemxRgXpsAAAAAACBemwAgXpsAIF6bACBemxmgXpsW4F6bACBemwAgXpsAIF6
|
||||
bACBemwAgXpsAIF6bACBemwAgXpsAIF6bACBemwAgXpsAIF6bACBemwAgXpsAIF6bCSBemzegXpsSIF6
|
||||
bACBemwAgXpsAIF6bACBemwAgXps+oF6bFGBemwAgXpsAIF6bACBemwAgXpsGIF6bG2BemyHgXpsAIF6
|
||||
bBqBemwKgXpsAIF6bACBemwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBemwAgXpsJYF6
|
||||
bN6BemxIgXpsAAAAAAAAAAAAAAAAAAAAAACBemz6gXpsUYF6bACBemwAgXpsA4F6bGCBemykgXpsWYF6
|
||||
bJuBemwAgXpsb4F6bJmBemwWgXpsAIF6bACBemwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIF6
|
||||
bACBemwlgXps3oF6bEiBemwAAAAAAAAAAAAAAAAAAAAAAIF6bPqBemxRgXpsAIF6bA2BemyCgXps+YF6
|
||||
bLqBemw9gXpsq4F6bAaBemxrgXps/4F6bLuBemwtgXpsAIF6bACBemwAgXpsAIF6bACBemwAgXpsAIF6
|
||||
bACBemwAgXpsAIF6bCSBemzegXpsSIF6bAAAAAAAAAAAAAAAAAAAAAAAgXps+oF6bE+BemwagXpsqIF6
|
||||
bP6BemzAgXpsNoF6bB+BemyygXpsF4F6bBOBemyKgXps9oF6bNmBemxKgXpsAYF6bACBemwAgXpsCIF6
|
||||
bBCBemwQgXpsEIF6bBCBemwOgXpsMoF6bOCBemxIgXpsAAAAAAAAAAAAAAAAAAAAAACBemz6gXpsTYF6
|
||||
bHeBemz8gXpsjoF6bBWBemwAgXpsD4F6bLCBemwqgXpsAIF6bAOBemxTgXps4YF6bMqBemwOgXpsBoF6
|
||||
bGCBemy7gXps0YF6bM+BemzOgXpszoF6bMyBemzUgXps9YF6bEiBemwAAAAAAAAAAAAAAAAAAAAAAIF6
|
||||
bPqBemxNgXpsfIF6bPqBemx2gXpsCoF6bACBemwFgXpspIF6bEGBemwAgXpsAIF6bECBemzZgXpsz4F6
|
||||
bA+BemxpgXps+oF6bOmBemyVgXpsboF6bGyBemxpgXpskoF6bPqBemzWgXpsJoF6bAAAAAAAAAAAAAAA
|
||||
AAAAAAAAgXps+oF6bE+BemwmgXpsvIF6bPyBemyrgXpsKoF6bACBemyRgXpsWoF6bAqBemx2gXps7YF6
|
||||
bOWBemxZgXpsEoF6bM2BemzjgXpsQIF6bACBemwAgXpsAIF6bBuBemy8gXps4IF6bECBemwAgXpsAAAA
|
||||
AAAAAAAAAAAAAAAAAACBemz6gXpsUYF6bACBemwXgXpsmIF6bP+Bemy2gXpsBYF6bHiBemxygXpsYoF6
|
||||
bP+BemzKgXpsO4F6bACBemwegXps4oF6bIKBemwAgXpsAIF6bACBemwagXpst4F6bOqBemxMgXpsAIF6
|
||||
bACBemwAAAAAAAAAAAAAAAAAAAAAAIF6bPqBemxRgXpsAIF6bACBemwIgXpsdYF6bLOBemwJgXpsXYF6
|
||||
bIyBemxxgXpsqYF6bCCBemwAgXpsAIF6bB+BemzdgXpsVYF6bACBemwAgXpsFYF6bK6BemzvgXpsWYF6
|
||||
bACBemwAgXpsAAAAAAAAAAAAAAAAAAAAAAAAAAAAgXps+oF6bFCBemwAgXpsAIF6bACBemwCgXpsKYF6
|
||||
bAOBemxEgXpso4F6bCWBemwPgXpsAIF6bACBemwAgXpsH4F6bNyBemxRgXpsAIF6bBCBemykgXps9IF6
|
||||
bGaBemwAgXpsAIF6bAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBemz7gXpsU4F6bACBemwAgXpsAIF6
|
||||
bACBemwAgXpsAIF6bCuBemymgXpsDIF6bACBemwAgXpsAIF6bACBemwfgXps3IF6bFCBemwIgXpsmoF6
|
||||
bPeBemx0gXpsAoF6bACBemwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIF6bP+Bemx4gXpsAIF6
|
||||
bACBemwAAAAAAAAAAACBemwAgXpsB4F6bCaBemwFgXpsAAAAAAAAAAAAgXpsAIF6bB+BemzbgXpsW4F6
|
||||
bIuBemz5gXpsgYF6bAWBemwAgXpsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgXps74F6
|
||||
bNeBemwvgXpsAIF6bACBemwAgXpsAIF6bACBemwAgXpsAIF6bACBemwAgXpsAIF6bACBemwAgXpsG4F6
|
||||
bNyBemzKgXps9oF6bI+BemwIgXpsAIF6bAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AACBemyJgXps/IF6bNeBemx6gXpsU4F6bFCBemxQgXpsUIF6bFCBemxQgXpsUIF6bFCBemxQgXpsUIF6
|
||||
bE6BemxlgXps6oF6bP+BemybgXpsDYF6bACBemwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAIF6bBCBemyIgXps74F6bP+Bemz7gXps+oF6bPqBemz6gXps+oF6bPqBemz6gXps+oF6
|
||||
bPqBemz6gXps+oF6bPuBemz/gXpsuIF6bBaBemwAgXpsAIF6bAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAf4PAAD+DwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
|
||||
AB8AAAA/AAAAfwYMAP8AAAH/AAAD/wAAA/8=
|
||||
AAABAAEAICAAAAAAIABiAwAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAgAAAAIAgGAAAAc3p69AAAAARn
|
||||
QU1BAACxjwv8YQUAAAMZSURBVFhH7Ve/SxxBFN4+Qe+OhICt+QuSxqCBw91DAhZp0olF2JsTk5SpUqSw
|
||||
MhbpJKmEIN7tjJCcXSqxUFKktBORYJH/wCgcTN57+3bcnX17/oArAvng42be983PfTs7F/yzaBgV13X7
|
||||
qG7UYV2r1xweDepJZwEG2+VqUDdL8zCoLRBiLAfoxTZcvT1q3bgJnfd5kJ8chgHUDsfy3GE5nUAa62Mf
|
||||
HL4Zaka9z3WOVBgXV5+Rd6FmOoue9g7j14Yw+ODOVvwAtYZub3hanl/Qc6/7cgLKg4K2rV6hdiWEwZHf
|
||||
WcbtP/W0PH+zDfJG7fk67gzLMoZs71vSk6VpQStw3HRC9DaS9oqkN3TnCeoiwCAllx3vqUeoN0xH7NTj
|
||||
B/L24ilBQ2rUSxiy+gu24AT3PU3iAdvxbbgQdAtnyAu2XAIEcfXAX2yBSXaOBd3nCduxzxNPy+gmSWhs
|
||||
vhmD4JlnSmnUD7YFNa3ORU+B7fyOHZT1lOM6fsw2Spg5yZSy/Q099/XyXVkvE73YBia8LelMOlcI8Mqs
|
||||
CoaUifqEHkjESVEXOKaXH1K/Wq37Wo6f0UOAZ7smGIh4LpBHqxlfq2Q3foptKs6UjO5o/4/AmmjN6siK
|
||||
NBE9AijPlLQqdkN6BNhW1FNe5oBNwlXBkDIJKQltb3ZS1EXOURJCeb2sMU30ET0Em0RzoiklvYZWN+8K
|
||||
WgWb9BpCebusMZPwOXoIdvPZGATPSiakidxBBPXzkl6mO4igfOBpGf/Yr80a21JY3doRjEh3FMNkjgXd
|
||||
Y+iOYizLnpa7PTlYE87L5vyKWvuC7tOd81C+8LSUMBZbiqjchd4sfY5hB1ZEvUj6HNteNCVoQGH1GYbs
|
||||
Al1IbNKaFrQiTYsuJJDY8mSrVp+h4t11VzJYwamgZ3RXMsjyvZLOZ8qVECYxsFshXUohsTY8LU+6lNpu
|
||||
awLKg4J23cEzlCcR0udzyGNy2wttF4vxGw6ewXajJnTQTzsK3ddLTtbL5IL6Lsf72AeHbw9IvgXslKvy
|
||||
LuSSC73YhqujAWR7DAMdwe8h/I72z+noEAR/AdDkclWflwV3AAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
Generated
-9
@@ -148,20 +148,11 @@
|
||||
//
|
||||
// highlightEditor1
|
||||
//
|
||||
this.highlightEditor1.AutoCMaxHeight = 9;
|
||||
this.highlightEditor1.BiDirectionality = ScintillaNET.BiDirectionalDisplayType.Disabled;
|
||||
this.highlightEditor1.CaretLineBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
|
||||
this.highlightEditor1.CaretLineVisible = true;
|
||||
this.highlightEditor1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.highlightEditor1.LexerName = null;
|
||||
this.highlightEditor1.Location = new System.Drawing.Point(2, 2);
|
||||
this.highlightEditor1.Name = "highlightEditor1";
|
||||
this.highlightEditor1.ScrollWidth = 88;
|
||||
this.highlightEditor1.Size = new System.Drawing.Size(865, 324);
|
||||
this.highlightEditor1.TabIndents = true;
|
||||
this.highlightEditor1.TabIndex = 0;
|
||||
this.highlightEditor1.UseRightToLeftReadingLayout = false;
|
||||
this.highlightEditor1.WrapMode = ScintillaNET.WrapMode.None;
|
||||
//
|
||||
// FrmXpath
|
||||
//
|
||||
|
||||
@@ -72,7 +72,7 @@ namespace 开发辅助工具.Tools
|
||||
text += list[i].ToString();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -86,7 +86,6 @@ namespace 开发辅助工具.Tools
|
||||
|
||||
private void FrmXpath_Load(object sender, EventArgs e)
|
||||
{
|
||||
highlightEditor1.SetFocus();
|
||||
}
|
||||
|
||||
private void TxtXML_DoubleClick(object sender, EventArgs e)
|
||||
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
namespace SuperDesign.Tools.New
|
||||
{
|
||||
partial class FrmWebGetV2
|
||||
{
|
||||
/// <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.SuspendLayout();
|
||||
//
|
||||
// FrmWebGetV2
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(853, 530);
|
||||
this.Name = "FrmWebGetV2";
|
||||
this.Text = "网页抓取工具";
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
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;
|
||||
|
||||
namespace SuperDesign.Tools.New
|
||||
{
|
||||
public partial class FrmWebGetV2 : DockContent
|
||||
{
|
||||
public FrmWebGetV2()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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>
|
||||
+147
@@ -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,68 @@
|
||||
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 开发辅助工具.Controls;
|
||||
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>
|
||||
+119
@@ -0,0 +1,119 @@
|
||||
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.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, 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);
|
||||
//
|
||||
// FrmFavFile
|
||||
//
|
||||
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 = "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;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
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 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);
|
||||
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
|
||||
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1)
|
||||
{
|
||||
if (db.ExecuteNonQuery(mySQL.GetUpdateSQL()+ " where FilePath=@FilePath",mySQL)==0)
|
||||
{
|
||||
mySQL.AddField("addTime", DateTime.Now);
|
||||
mySQL.AddField("editTime", DateTime.Now);
|
||||
db.ExecuteNonQuery(mySQL.GetInsertSQL(), db.GetParameter(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>
|
||||
+206
@@ -0,0 +1,206 @@
|
||||
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.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.OlvFilePath = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
|
||||
this.OlvAddTime = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
|
||||
this.contextMenuStrip1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.LvCbResult)).BeginInit();
|
||||
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);
|
||||
//
|
||||
// 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, 602);
|
||||
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(812, 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(744, 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.contextMenuStrip1;
|
||||
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(12, 35);
|
||||
this.LvCbResult.Name = "LvCbResult";
|
||||
this.LvCbResult.RowHeight = 25;
|
||||
this.LvCbResult.ShowGroups = false;
|
||||
this.LvCbResult.ShowItemToolTips = true;
|
||||
this.LvCbResult.Size = new System.Drawing.Size(862, 565);
|
||||
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;
|
||||
//
|
||||
// FrmFavView
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(886, 632);
|
||||
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.contextMenuStrip1.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.LvCbResult)).EndInit();
|
||||
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 OlvAddTime;
|
||||
private BrightIdeasSoftware.OLVColumn OlvFilePath;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,192 @@
|
||||
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;
|
||||
|
||||
namespace GameBackup3H3.DbOp
|
||||
{
|
||||
public partial class FrmFavView : Form
|
||||
{
|
||||
string orderSQL = "order by addTime desc";
|
||||
string tableName = "FavFiles";
|
||||
string titleName = "收藏管理";
|
||||
public FrmFavView()
|
||||
{
|
||||
InitializeComponent();
|
||||
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; };
|
||||
}
|
||||
#region 需要修改的内容
|
||||
private void RySearch1_OnSearch(object sender, EventArgs e)
|
||||
{
|
||||
//需要修改此处
|
||||
LoadDb("(name like @SearchText or FilePath like @SearchText)");
|
||||
}
|
||||
|
||||
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(),
|
||||
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.FilePath = row["FilePath"].ToString();
|
||||
//添加剩余的项目
|
||||
//添加完毕
|
||||
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 重新载入数据
|
||||
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,
|
||||
};
|
||||
frm.FilePath = item.FilePath;
|
||||
frm.TxtFavName.Text = item.Name;
|
||||
if(frm.ShowDialog()==DialogResult.OK)
|
||||
{
|
||||
GetRow(selectId, LvCbResult.SelectedIndex);
|
||||
}
|
||||
frm.Dispose();
|
||||
}
|
||||
|
||||
private void BtnDel_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (LvCbResult.SelectedObject == null) { MessageBox.Show("请先选择要删除的项。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; }
|
||||
var item = (FavInfo)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.User_SQLConn) == 1)
|
||||
{
|
||||
db.DelById(tableName, selectId.ToString());
|
||||
LvCbResult.RemoveObject(item);
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
public class FavInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// id
|
||||
/// </summary>
|
||||
public int Id{ get; set; }
|
||||
/// <summary>
|
||||
/// 名称
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
/// <summary>
|
||||
/// IP
|
||||
/// </summary>
|
||||
public string FilePath { 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,144 @@
|
||||
<?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="$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,254 @@
|
||||
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.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.contextMenuStrip1.Name = "contextMenuStrip1";
|
||||
this.contextMenuStrip1.Size = new System.Drawing.Size(137, 70);
|
||||
this.contextMenuStrip1.Opening += new System.ComponentModel.CancelEventHandler(this.ContextMenuStrip1_Opening);
|
||||
//
|
||||
// 添加工作区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.Name = "重命名ToolStripMenuItem";
|
||||
this.重命名ToolStripMenuItem.Size = new System.Drawing.Size(136, 22);
|
||||
this.重命名ToolStripMenuItem.Text = "重命名";
|
||||
this.重命名ToolStripMenuItem.Click += new System.EventHandler(this.重命名ToolStripMenuItem_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;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,388 @@
|
||||
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 开发辅助工具.Controls;
|
||||
|
||||
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.Enabled = false;
|
||||
移除工作区ToolStripMenuItem.Enabled = false; return;
|
||||
}
|
||||
重命名ToolStripMenuItem.Enabled = true;
|
||||
移除工作区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.RefreshObject(model);
|
||||
}
|
||||
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);
|
||||
}
|
||||
}
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
QQAAAk1TRnQBSQFMAgEBEgEAAYQBAwGEAQMBEAEAARABAAT/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,267 @@
|
||||
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.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.toolStripMenuItem4,
|
||||
this.复制路径ToolStripMenuItem,
|
||||
this.复制文件名ToolStripMenuItem,
|
||||
this.复制所在文件夹路径ToolStripMenuItem,
|
||||
this.toolStripMenuItem3,
|
||||
this.查看历史记录ToolStripMenuItem,
|
||||
this.文件信息ToolStripMenuItem});
|
||||
this.contextMenuStrip1.Name = "contextMenuStrip1";
|
||||
this.contextMenuStrip1.Size = new System.Drawing.Size(221, 380);
|
||||
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);
|
||||
//
|
||||
// 除此之外全部关闭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.Image = ((System.Drawing.Image)(resources.GetObject("收藏该文件ToolStripMenuItem.Image")));
|
||||
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);
|
||||
//
|
||||
// 编辑FTP上的对应文件ToolStripMenuItem
|
||||
//
|
||||
this.编辑FTP上的对应文件ToolStripMenuItem.Name = "编辑FTP上的对应文件ToolStripMenuItem";
|
||||
this.编辑FTP上的对应文件ToolStripMenuItem.Size = new System.Drawing.Size(220, 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(220, 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(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);
|
||||
//
|
||||
// toolStripMenuItem3
|
||||
//
|
||||
this.toolStripMenuItem3.Name = "toolStripMenuItem3";
|
||||
this.toolStripMenuItem3.Size = new System.Drawing.Size(217, 6);
|
||||
//
|
||||
// 查看历史记录ToolStripMenuItem
|
||||
//
|
||||
this.查看历史记录ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("查看历史记录ToolStripMenuItem.Image")));
|
||||
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);
|
||||
//
|
||||
// highlightEditor1
|
||||
//
|
||||
this.highlightEditor1.AutoMark = true;
|
||||
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;
|
||||
//
|
||||
// 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;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,762 @@
|
||||
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 ZXing;
|
||||
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",11.75f);
|
||||
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;
|
||||
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>
|
||||
/// 当前选择的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 void LoadFile(string path,string CacheText="")
|
||||
{
|
||||
if (!System.IO.File.Exists(path)) {
|
||||
MessageBox.Show("文件不存在=>"+path, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
this.Close();
|
||||
return;
|
||||
}
|
||||
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;
|
||||
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();
|
||||
IsChanged = CacheText.Length>0;
|
||||
UpdateTitle();
|
||||
highlightEditor1.Editor.EmptyUndoBuffer();
|
||||
this.Icon = ShellUtilities.GetFileIcon(path, true, true);
|
||||
OnUnSaveChanged?.Invoke(this, new EventArgs());
|
||||
}
|
||||
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()
|
||||
{
|
||||
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;
|
||||
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;
|
||||
RyFiles.WriteAllText(dialog.FileName, highlightEditor1.Text, Encoding);
|
||||
Itrycn_Db.AddHistory(dialog.FileName, highlightEditor1.Text);
|
||||
GetFileInfo(dialog.FileName);
|
||||
IsChanged = false;
|
||||
OnUnSaveChanged?.Invoke(this, new EventArgs());
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
RyFiles.WriteAllText(FilePath, highlightEditor1.Text, Encoding);
|
||||
Itrycn_Db.AddHistory(FilePath, highlightEditor1.Text);
|
||||
GetFileInfo(FilePath);
|
||||
IsChanged = false;
|
||||
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;
|
||||
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++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void 收藏该文件ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (FilePath.Length == 0) { return; }
|
||||
if (收藏该文件ToolStripMenuItem.Text.IndexOfEx("取消") >= 0)
|
||||
{
|
||||
switch (MessageBox.Show("是否确定要取消收藏?", "询问", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2))
|
||||
{
|
||||
case DialogResult.Yes:
|
||||
return;
|
||||
}
|
||||
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", mySQL);
|
||||
}
|
||||
db.Free();
|
||||
}
|
||||
else
|
||||
{
|
||||
FrmFavFile frm = new FrmFavFile
|
||||
{
|
||||
FilePath = FilePath
|
||||
};
|
||||
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;
|
||||
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", 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;
|
||||
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
|
||||
{
|
||||
num++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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
|
||||
};
|
||||
if (frm.ShowDialog()==DialogResult.OK)
|
||||
{
|
||||
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();
|
||||
}
|
||||
frm.Dispose();
|
||||
}
|
||||
|
||||
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++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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
@@ -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,276 @@
|
||||
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.OlvAddTime = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
|
||||
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.contextMenuStrip1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.LvCbResult)).BeginInit();
|
||||
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, 602);
|
||||
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(812, 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(744, 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.OlvAddTime);
|
||||
this.LvCbResult.AllColumns.Add(this.OlvName);
|
||||
this.LvCbResult.AllColumns.Add(this.OlvSize);
|
||||
this.LvCbResult.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.LvCbResult.CellEditUseWholeCell = false;
|
||||
this.LvCbResult.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.OlvAddTime,
|
||||
this.OlvName,
|
||||
this.OlvSize});
|
||||
this.LvCbResult.ContextMenuStrip = this.contextMenuStrip1;
|
||||
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(12, 35);
|
||||
this.LvCbResult.Name = "LvCbResult";
|
||||
this.LvCbResult.RowHeight = 25;
|
||||
this.LvCbResult.ShowGroups = false;
|
||||
this.LvCbResult.ShowItemToolTips = true;
|
||||
this.LvCbResult.Size = new System.Drawing.Size(186, 565);
|
||||
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);
|
||||
//
|
||||
// OlvAddTime
|
||||
//
|
||||
this.OlvAddTime.Text = "时间";
|
||||
this.OlvAddTime.Width = 180;
|
||||
//
|
||||
// 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.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(204, 35);
|
||||
this.scintillaDiffControl1.MarkColorIndexModifiedBackground = 31;
|
||||
this.scintillaDiffControl1.MarkColorIndexRemovedOrAdded = 30;
|
||||
this.scintillaDiffControl1.Name = "scintillaDiffControl1";
|
||||
this.scintillaDiffControl1.RemovedCharacterSymbol = '-';
|
||||
this.scintillaDiffControl1.Size = new System.Drawing.Size(670, 565);
|
||||
this.scintillaDiffControl1.TabIndex = 86;
|
||||
this.scintillaDiffControl1.TextLeft = "";
|
||||
this.scintillaDiffControl1.TextRight = "";
|
||||
this.scintillaDiffControl1.TitleLeft = "当前编辑器文本";
|
||||
this.scintillaDiffControl1.TitleRight = "历史记录文本";
|
||||
this.scintillaDiffControl1.TitleVisible = true;
|
||||
this.scintillaDiffControl1.UseRowOkSign = false;
|
||||
//
|
||||
// FrmHistoryView
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(886, 632);
|
||||
this.Controls.Add(this.BtnNext);
|
||||
this.Controls.Add(this.BtnPrev);
|
||||
this.Controls.Add(this.scintillaDiffControl1);
|
||||
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 = "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.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 OlvAddTime;
|
||||
private BrightIdeasSoftware.OLVColumn OlvSize;
|
||||
private ScintillaDiff.ScintillaDiffControl scintillaDiffControl1;
|
||||
private ryControls.ButtonEx BtnPrev;
|
||||
private ryControls.ButtonEx BtnNext;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,278 @@
|
||||
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 开发辅助工具.Controls;
|
||||
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 FrmHistoryView : Form
|
||||
{
|
||||
string orderSQL = "order by addTime desc";
|
||||
string tableName = "History";
|
||||
string titleName = "历史记录";
|
||||
public FrmHistoryView()
|
||||
{
|
||||
InitializeComponent();
|
||||
OlvName.AspectGetter = delegate (object x) {
|
||||
var row = (HistoryInfo)x;
|
||||
if(row.Name.Length==0)
|
||||
{
|
||||
return System.IO.Path.GetFileName(FilePath);
|
||||
}
|
||||
return row.Name;
|
||||
};
|
||||
OlvSize.AspectGetter = delegate (object x) { return ((HistoryInfo)x).Size+"字"; };
|
||||
OlvAddTime.AspectGetter = delegate (object x) { return ((HistoryInfo)x).AddTimeStr; };
|
||||
}
|
||||
#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);
|
||||
#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; }
|
||||
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();
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
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>
|
||||
@@ -0,0 +1,848 @@
|
||||
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.dockPanel = new WeifenLuo.WinFormsUI.Docking.DockPanel();
|
||||
this.vS2015BlueTheme1 = new WeifenLuo.WinFormsUI.ThemeVS2015.VS2015BlueTheme();
|
||||
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.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.使用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.vsToolStripExtender1 = new WeifenLuo.WinFormsUI.Docking.VisualStudioToolStripExtender(this.components);
|
||||
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.toolStrip1.SuspendLayout();
|
||||
this.menuStrip1.SuspendLayout();
|
||||
this.statusStrip1.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);
|
||||
//
|
||||
// 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);
|
||||
//
|
||||
// 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.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.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.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.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(182, 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(182, 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(182, 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(182, 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);
|
||||
//
|
||||
// vsToolStripExtender1
|
||||
//
|
||||
this.vsToolStripExtender1.DefaultRenderer = null;
|
||||
//
|
||||
// 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路径:无";
|
||||
//
|
||||
// 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.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.toolStrip1.ResumeLayout(false);
|
||||
this.toolStrip1.PerformLayout();
|
||||
this.menuStrip1.ResumeLayout(false);
|
||||
this.menuStrip1.PerformLayout();
|
||||
this.statusStrip1.ResumeLayout(false);
|
||||
this.statusStrip1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.ToolStrip toolStrip1;
|
||||
private WeifenLuo.WinFormsUI.Docking.DockPanel dockPanel;
|
||||
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;
|
||||
}
|
||||
}
|
||||
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
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAA9GSURBVGhDtZcJVBNXF8e7H8VWZQkYiEGEBALIJhBk32VH
|
||||
dlAggAuuaLUL4IJWWyto1U8tWndUWqWIUmqtdWn7dVOrVRFXEA1qLQiIOxRzv3vfZELs8p3Kaeac33kz
|
||||
Sea9+7/vzv1PnktJybQcP+n1C+lZk1RI9xv5Rd0nT5/tvtzQ2F1/5arOuHCpobt0fVl3zoQZ3Vnj8rpT
|
||||
xox/kps7q3nWrHz5c89yuLt724ZHJzfJvYKBmDw9H64of4UnT1Sgy6Ozqxu2lVdCUtpYSEwdC/HJWRAb
|
||||
m/ooLCwhSB3aPzuc5b6ysIgEZVJqDsQnKWDK9AImoPvJE/VSujk6u36H7Z9UYfA5kJCSDXG4dkxs0iP/
|
||||
4KhnFSCXjUQBqekTIHn0OJj6eiE0XLsJDx91wqPHXTrj/sNO2LFzjyb42IQMiI5N7IUAZ05AZGwaENNm
|
||||
zobLjTdwgcfw8HGnzrh7/xHbAU3wcWMgKjahdwICwuOVETGpQEydUQgXGpqg495DJkJXtN99AGXlu3uC
|
||||
HzUa14/rpYCRccqwqGQgJuMzUHfpGjS33oXW9ns64TbS3HYXtuz4VCv4VFw/9pG/f1gvBASMUoZGJAIx
|
||||
cdrbUHvhKlukvePBU9y5+5DtDA9d9wbKPiVoU1mFOvBktnZIeOwj72cVYMcERCiDw+KByJ3yJpyqa4Cm
|
||||
X1vhxq02DdfxuvZcPfx0/Azj2ImzcPZ8A5y/1NgrziFbtldA1ripoMiZDJnZxKTO/MKivJqaGnlFVZUn
|
||||
o6LKc+XKdZ74bHpOmvaWZ+7UAq+8WXPdSkpK+mkE+KOAoNA4CAwdBeMnvwEnauvh+q1W+LW5naPlDtRf
|
||||
vQ7zFxbD6MyJMEYxEfJmzoHjv9TBby2t0NLa1gva4Vbzbbh+85aGG0hzS+vD223t9xhYb8qWtnuVe2vu
|
||||
KRTT72UoptxLVEy8n52d1zZ58oxYjQBfFBAQEgv+wTEwduJMOHbqIjQ0/QaN15sZV2+0wOm6y5A9Pg/k
|
||||
nkHg5hEAGdlToBZ3oFvHhkfz13xxCNCpmWeQ4Y1KzFShd6VrBIzwC1f6BUYBkT1hBvx48jxcvvorE0Fc
|
||||
aWqGX85eYgLIK2gHsvC89kID/N6tW8Oj+T/ff4Stq+UZqpCwUVoCfEcqffwjwcc/AhTj8uC7n8/Bxcab
|
||||
UH/tFlxG6pW/YVldxHqdxiZISsthQs/gDtx78BgeoOnpks+/PMJeOTDzrO3GxKdrCbBzlo0YEaD08gsH
|
||||
L98wyMiZCt8crYUzF5Vw9lITo+7ydfjx5zrIzJkC4dEpzPDwJQzLqp719MedXTqDHLvmi8Ms+xg433ZV
|
||||
gdoC5ChghHcoEGOyJsPhH05DLQo4h4ET5+uvw08n6rDuJ8PIyCTW+rLGT4eTtZegreM+dNzHtqoj2rHt
|
||||
Vu87xGpfyzNUgSHRPQLcUYCHVwg+oMGQljERDnx7Eo6dqYfj2I1+Js42wOHvT7Lap35NfVuB5fTz6Yuc
|
||||
4d1Bg9IRLehHVTVfsfKhnafkhUclq/xCIjgBEhTgJPdXunlQdwnEWhsH+44cZ8GfqLvCOFnXCF//eApb
|
||||
aC7zChJBXejoL+dRQAe03bmvMyhBldUHWPlQ+VLysApUfoHaAtx8la7yABju7g9xydlQc/g47kADJ+Bs
|
||||
j4C0jAnMK0gEldoP+Fwob2IvR8/QFU1ooruq9rPSofLlHDtB5e2nLcBphNLZ1RcI8oPlpdtg596voKL6
|
||||
IMKNWz7eg+IU7HsSQYb23bFa5tgaw9MBTSjik8p9rHwwcJa8oJFxKCBMLUBiJ3NAAY4u3uA03Ifh7ObL
|
||||
DMvDOwQ8fUIBf4wdaiS22XAIQLMjw6P/D9/8eJq1Wd4v/nWwfRPlFTWsdDBwljxM4tMC7J08lMOcR4CD
|
||||
sydwQrxxN3zAxc2PlRWVl6vcn4nhDY+M5fD3vzDDu4KL/fs0s5EStG1nNSsd/m3BPyha5ekd0iPA2sFd
|
||||
aevgDnaOchjmhEJcSIgXOKIQEkOiSJwH/mcmsyPI1r/67wk413CDmZ6uOH/lJmzF8qXSocT5BkQSfxBg
|
||||
76SU2buCrYMbwgmxRyEkhjKfnKqA5DQF3siZHUF9ef/Xx+HMBSX+f0Cz0wFkorXIpu27WelQ8N5ouIhK
|
||||
7hnICTAnAdZOSmtbF7CxGw42KEQ2jBNCY2RMElRXfwaVlZUQPSoFdyGEGR715c8PHYXTF65pHFsXnMYE
|
||||
rd9aQWXDgqfkefqMVLlqC5CgAImNE0hkziBFIdZqIXQeGZMIe/dWw6efVuJ/1mRwHxHEDI/68t4DP8DR
|
||||
05fhOJmeDmBmiu183ZZd4IvlQ4mjBCIqV7mfWoC5RCaWOigtpQ5gae0IVggTgpCo8Mg42L17N+zcuRMi
|
||||
ohPZA02GFxGTBpX7vmWLnGRmpxuO1zbAmvXlLPuUOEog8gcBVvbKIZZ2YGFlD0Mlw4DEkBAaQ8NiMPhd
|
||||
UF5eDmGR8ZrORF2houYbteE16oxjtVdgBfoSZZ4Sx3XEAJWzq7eWALG1UmwhA/OhtqAthM6DQ6Ngx44d
|
||||
UFZWBqHho1hHIsOT44RvFL4Lq9ZtxwwRO57iww3l8OHGcijd+DGUbvoE1v4N7HuE/R754zwr15aBYmwe
|
||||
SxpBCUT+LEBkLoXBQ6yBF0LQeUBQOGzatBk++mg9BKGYYeQVrL36sC5F7ZY8Y7i7H7jiPzXaYmq3+KCx
|
||||
dksPXyD272A0IXJS2rlQclS1KfkHR2u6ywj0GSoTyjQXrC9r406UNDynxDGzdfVROTp79ggQiSVKU5El
|
||||
mA22ApFYCrwYkbk1BhGCwX8EpaVr0YUjOK9AEQ4YOG94NLkLCuBNjwIg+Aeeh3/j5Uced4KrbU2Z9GQc
|
||||
g8Y1KGmULFoXfQoFyHsEYODKQaYWIDQbCiTEFIWYDZbguRV4+QRC6dq1sHr1avALCGOtlfMJD40QZnrM
|
||||
7HBypOe1hMuaM9t2CoaDD64nSD8uu+oMc/fQvTQHFzitRWuq11bZO2oJEJiJlcaDzMFEOARICC+GRg9P
|
||||
Pxb8ihUrcZtDWIvlfYKgSYnhcj+YMDEPXp+VDzNnFcAbb82Gt/LnwtsF8yC/sIiNbxcUQUHhfCicvQAK
|
||||
53AU4Hk+fpaP39Fv6J6g0GggX6JOaCmlZ9GWdUTem3BEAa6cgEGDzGUCgVhpZCwCgYmYwYuh0V3uDcuX
|
||||
L4elS5diXQexFsv7BJsMoTEgOBLbbRUcOnSImd6MmW/C1LzXYdr0mTBl6gxYumw5fPnll4z9+/cz+OsD
|
||||
Bw5oOHTwIOROytOsQ0KGSuyxKizZmuq1VfjmwAnQ19cfoG8kLDMUmKoMjEzBUGAGRsaDmRAaXd29VEuW
|
||||
LIFF776Lu+HPvIKyQdnh3ZtG38Bw+ATbLQX00foNuO2eTxliVk4ufPbZZ2iKe2HPnj0MOuevaayurma/
|
||||
GZc7RbPThNTWmT2fzJsQHFVSe2dOAB59X3zxxXg9Pf16QyMhGAlMnxgYGDw2MDB83FdP0DHMwbF+0aJF
|
||||
T4qKivDh8mEtlvcJ3r1p9PELxXZbDvv27cNnZh0+dF6aXaJgMrPHQ1XVbmaKtEM0VlVVPQV9RkJyxk3i
|
||||
doCVkQtbi3aA9yZcT4UiNAL6IG4vvPDCvH79+m/u16/fxj59+qzW09Nbg6wWi8VrYmJitkRFRX0skTi3
|
||||
/dHweKi8tm4twwxWw+o1pfjQeWheSyiYMRk5sGvXLkZFRQW+mnzKRv4zgtyePsvMGo9zcgmioGktai5U
|
||||
Suq1VVZSR40AOl5GBmDwxh4eHmYpKSlD8vLyJO+8844dPsBO6MLOxcXFwdY2jvWDh9igRzxtejR6eAXA
|
||||
xo0bWXZXrPwP2OGbLb9LFEzaGAVzczJFQvuc2L59O2zbto2dk1h+p3lDFYqGsodZvS4KsH9KgOYAgJeR
|
||||
V1UqlQEiRCzw2mb//oMBUqnDZTOxhPkDCeFNj0Y3D1/4sLSUBVBcvBRk9sM1u0TBJKdmsACJrVu3MrZs
|
||||
2aKBrsnt6fvU0Qo2JwVOiC1sWEekeSgpJADP/1bAC8grGHhf5DU810eMcCfsLCxl54W8TzAhZHqc4bm4
|
||||
ecGqVatYAIvfX4K166TZJQomPjENHX2TBtqtDRs2PDUSmzdvRrHpbE4KnBJF65igAJqLkoIVoLKwkP21
|
||||
ADow4OfVkBjiebk80MRULKnlPYIJUYshw3Ny8UCvWIEBbIIFCxaCFfZvfpcomNi4JFiLhliKu0TjunXr
|
||||
GHTOX5Pjk4jklHQ2L70VUKLonBdA81lY0Q78HwF/dQiFUiOh0PzM3xmeg5MbesUyzOZ6KCpagIvYssUJ
|
||||
IQqMiomHNWvWMFPUhnaNoHP6noQk4G7RnJQgStQgXIPW5efDVx+V2EL6bAJMTU0NjU1EJ8nwOJ8YzCbl
|
||||
sRvmAosXv8+CmDu3CKQ2DmCOJTAEH3gxvlfFjEpkhkisXLmS7dYHH3yg+Yyu6XMSEou/pTlJBG+o5Et0
|
||||
TgnDUWUmtno2AXi8pK8veOvV10wf9Bge594kyFJi24VeoVq2bBmUlJTA3HlFMHvOPJiD0Lho0XvMzbWh
|
||||
3xH8Nd1LYqKi4zRmqg2tqV4XBVhmqOP6x8crSCB6w3cGhoLOAQMMHukbGLfrGxq3DRho0Gxubl5bUFBw
|
||||
H0V0zZ8/v3PBggUMOuevaczPz/8T/Hc0Lly4sNPPL6jTUCDoFAiMOwXGwi6BibBrkFDYZSQQdhkYCbte
|
||||
629638jENJUL658fLyKWSEafPnrz9PReLUIxhf379589cODAOSKRaF5gYODCiIiId2JjYxfGxcUtSkpK
|
||||
ei85OXlxWlrakvT09OKMjIySrKyspYRCoVhGqM9LMjMzi+k36EFLfX39l9vbOyyXyeyWWUmlJYPNzYtF
|
||||
IvP3TU1FiwUCk0X6+oa5+LYgYlE94/E88oqJiUk/DG4Abr8xtk1RTU3N0CNHjticOnXKvrGx0ampqUl+
|
||||
48YNn9u3bwe3traGt7W1xbS3tyfcuXMnBRnd0dGRzoPXY5BUJAl/E9fS0hKN90dcu3Yt+OLFi77nzp3z
|
||||
wHmdjx49aodrWKFRitC1B+D5S9QdubB6ceDNNIEeMhD9wgRHMY4SZBjiinghgUgYEoMkICnIGCRDi3Qk
|
||||
De9PwjEOiURCEF9Ejp874SjDcSiOpggZbF+8poro/YETkE+QiD44YT+kv3pyAUIOPhi/G4KjJSJFZIgd
|
||||
Yo+QSAc1dE6f2yLWiATvG4pQQswQE8QQrwciryJ9EHX2n3vuf+UZ7ZlTTrGjAAAAAElFTkSuQmCC
|
||||
</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
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAOcSURBVFhH1VZbS1RRFF5WKGN5pQvdHworU0R7iBD6AT31
|
||||
GPTUQz1ETz30VPQSQRLl9cyxjKJSsMtkWGBRZjUWpKZlgVZq9zIx7GI6c/aZ01q7tY8z42k6Y07QBx/M
|
||||
7L3W9629z9pnH/hvEfJCgaWDRQzpUMTD/w6mDkdUAaYXNB7+N7CqYdmwDuOqgOFKCISOQQ5PJx4hDfaR
|
||||
8Xg5DBHlLuhQytOJhVUJc0Z1+CJX35DdYl7OukW/v2nwHXcmg8MSB2y+XdK8GkaCL9a9C/ate2uVwgjv
|
||||
wiEOSxzGvfCJzIQv/bY1VGwRTV9mM42N6fCZwxIDXP12Mhrxwo9gb/5LVYDxvHDg62EYpTk8krs5fPoR
|
||||
1OCNXP3FidUrmhfTZC8EdBjk8KkjVAOLcCUbsNu34Kr34LOtwrN+hQyGD4IwevKeRRdgPCvooTmKoVjK
|
||||
oVypQVqoyfKRwMn1mHDUrAIfJrerY/U7ivq0O9HminLOIUeRtdvJizyxwGKIDgpnsDrptXU6ucX0ZTSZ
|
||||
zUtuWp2r252Mwyke5nSI64tbhS/jvjiZ3B2oThp00lakV2q9+mNemXtLtK1sNV4V9TuJ/w0D/YUfxYMV
|
||||
beRh+6G3fAy4HWfswQZ8sTgITAsbslpsH/SU5gpYzQl7kjraSeAvKC6k2/1BXmwbCVMDrwqyzqW1OAlN
|
||||
heJ82l3bHD3Yzhm4NWUqWNSm/rbj3VLUpfptc9Rmm9jAwJKJIjx+J2E3FGc9rWHmJSzvDvicDthFXMp8
|
||||
4GQQi2bjvEbbHLVYNj4IHbpkAWc895xMYlHuHOV6oZPl4gd96UiRq/Pj7gWzacENyqUvJ5aLD6HjkE0C
|
||||
soC2FV1OJrEoOnLuq3xLgyyWdQ+8IzYqgUBvwQcnk1gMDhTJm5NIlxHLugdeFDuleUXSeycD49Gqp6Jm
|
||||
Rqdkd26HU0xQS5JFYAHbWNY98MaqoGRxKjlC3Hi8phcvmcdqdYoY57ee5EZcVjgmj2HcR5CASdek8OUs
|
||||
2YDSuDalI8LUC61CA/stRzTPem6K7rWyaLxXZCPiMWxkWfcwdBiQJv7lflE3e6KhkIYXnuNH6WYOpce1
|
||||
CY/so/AYs87TTLkc38eh7mDth1nhYjZ/ff3u4LBJwEK2qsIn8RzM5LA/A5smP1oAx/bydEyQEcbuHquE
|
||||
4Yh8DfI4xB1UIt5e5aEySOFh16BvQGo+fBEZpMPD7oGrWBiqgqX8d8pAnSLS4r9RAPgJg1qWgjdsnQgA
|
||||
AAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<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="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>127, 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>
|
||||
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>591, 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,31 @@
|
||||
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.FindResult r)
|
||||
{
|
||||
var frm= FrmMainEditor.MainEditor.OpenFile(r.Path);
|
||||
if (frm.IsDisposed) { return; }
|
||||
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
@@ -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,107 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SuperDesign.Tools.SmartEditor
|
||||
{
|
||||
public class MyFileSystemInfo : IEquatable<MyFileSystemInfo>
|
||||
{
|
||||
public MyFileSystemInfo(FileSystemInfo fileSystemInfo,string name)
|
||||
{
|
||||
if (fileSystemInfo == null) throw new ArgumentNullException("fileSystemInfo");
|
||||
this.info = fileSystemInfo;
|
||||
if (name.Length == 0)
|
||||
{
|
||||
this.Name = info.Name;
|
||||
}
|
||||
else { this.Name = name; }
|
||||
}
|
||||
|
||||
public bool IsDirectory { get { return this.AsDirectory != null; } }
|
||||
|
||||
public DirectoryInfo AsDirectory { get { return this.info as DirectoryInfo; } }
|
||||
public FileInfo AsFile { get { return this.info as FileInfo; } }
|
||||
private readonly FileSystemInfo info;
|
||||
|
||||
public string Name
|
||||
{
|
||||
get; set;
|
||||
} = "";
|
||||
|
||||
public string Extension
|
||||
{
|
||||
get { return this.info.Extension; }
|
||||
}
|
||||
public DateTime LastWriteTime
|
||||
{
|
||||
get { return this.info.LastWriteTime; }
|
||||
}
|
||||
public DateTime CreationTime
|
||||
{
|
||||
get { return this.info.CreationTime; }
|
||||
}
|
||||
public string FullName
|
||||
{
|
||||
get { return this.info.FullName; }
|
||||
}
|
||||
|
||||
public FileAttributes Attributes
|
||||
{
|
||||
get { return this.info.Attributes; }
|
||||
}
|
||||
|
||||
public long Length
|
||||
{
|
||||
get { return this.AsFile.Length; }
|
||||
}
|
||||
|
||||
public IEnumerable GetFileSystemInfos()
|
||||
{
|
||||
ArrayList children = new ArrayList();
|
||||
if (this.IsDirectory)
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
// Two file system objects are equal if they point to the same file system path
|
||||
|
||||
public bool Equals(MyFileSystemInfo other)
|
||||
{
|
||||
if (ReferenceEquals(null, other)) return false;
|
||||
if (ReferenceEquals(this, other)) return true;
|
||||
return Equals(other.info.FullName, this.info.FullName);
|
||||
}
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (ReferenceEquals(null, obj)) return false;
|
||||
if (ReferenceEquals(this, obj)) return true;
|
||||
if (obj.GetType() != typeof(MyFileSystemInfo)) return false;
|
||||
return Equals((MyFileSystemInfo)obj);
|
||||
}
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return (this.info != null ? this.info.FullName.GetHashCode() : 0);
|
||||
}
|
||||
public static bool operator ==(MyFileSystemInfo left, MyFileSystemInfo right)
|
||||
{
|
||||
return Equals(left, right);
|
||||
}
|
||||
public static bool operator !=(MyFileSystemInfo left, MyFileSystemInfo right)
|
||||
{
|
||||
return !Equals(left, right);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,305 @@
|
||||
/*
|
||||
* [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 (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 < 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 < 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();
|
||||
IntPtr result = ShellUtilities.SHGetFileInfo(path, fileAttributes, out shfi, Marshal.SizeOf(shfi), flags);
|
||||
if (result.ToInt32() == 0)
|
||||
return null;
|
||||
else
|
||||
return Icon.FromHandle(shfi.hIcon);
|
||||
}
|
||||
|
||||
/// <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
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user