## :date:2025-07-16 星期三更新

### RySmartEditor    V1.0.2507.1601
- *.[新增]新增文件内容索引搜索。
- *.[新增]新增打开文件自动定位到指定行的功能。
### SuperDesign    V3.0.2507.1601
#### 网页抓取工具
- *.[修复]修复历史记录无法记录的BUG。
#### 编码解码
- *.[新增]新增svg图片代码转Geometry代码的功能。
#### 项目功能->项目管理
- *.[新增]互斥运行标准改为以毕方文件夹为准,而不是以项目文件为准。
- *.[新增]支持同个毕方项目可以不用重启来快捷切换不同子项目。
- *.[新增]支持发布时和打包时自动编译功能。
- *.[修复]修复项目输出路径为相对路径时,更新引用dll可能不成功的BUG。
This commit is contained in:
zilinsoft committed 2025-07-16 09:08:09 +08:00
1 parent 30afab3ce9
commit 5a5faaf5dc
113 files changed
+832320 -898

No files matched your search

+3 -3
View File
@@ -30,7 +30,7 @@ namespace ryConfig
{
public IntPtr dwData;
public int cData;
[MarshalAs(UnmanagedType.LPStr)]
[MarshalAs(UnmanagedType.LPWStr)]
public string lpData;
}
[DllImport("User32.dll", EntryPoint = "SendMessage")]
@@ -43,12 +43,12 @@ namespace ryConfig
/// <param name="str">要发送的文字内容</param>
public static void SendMsg(IntPtr handle, int wParam, string str)
{
byte[] arr = System.Text.Encoding.Default.GetBytes(str);
byte[] arr = System.Text.Encoding.Unicode.GetBytes(str);
int len = arr.Length;
COPYDATASTRUCT cdata;
cdata.dwData = (IntPtr)100;
cdata.lpData = str;
cdata.cData = len + 1;
cdata.cData = (len + 1)*2;
SendMessage(handle, WM_COPYDATA, wParam, ref cdata);
}
/// <summary>
@@ -2,7 +2,8 @@
using System.Drawing;
using System.Windows.Forms;
using AutocompleteMenuNS;
using ScintillaNET;
using ScintillaNETV2;
using ScintillaNETV2;
public class ScintillaWrapper : ITextBoxWrapper
{
@@ -29,14 +29,14 @@ namespace ryControls
}
private void BDSearch_Click(object sender, EventArgs e)
{
if (base.SourceControl is ScintillaNET.Scintilla editor)
if (base.SourceControl is ScintillaNETV2.Scintilla editor)
{
RyFiles.OpenUrl("https://www.baidu.com/s?wd=" +RyWeb.WebDecode.UrlEncode(editor.SelectedText));
}
}
private void Find_Click(object sender, EventArgs e)
{
if(base.SourceControl is ScintillaNET.Scintilla editor)
if(base.SourceControl is ScintillaNETV2.Scintilla editor)
{
if(editor.Parent is HighlightEditor rich_txt)
{
@@ -46,8 +46,8 @@ namespace ryControls
}
private void SelectAll_Click(object sender, EventArgs e)
{
if (!(base.SourceControl is ScintillaNET.Scintilla)) { return; }
var rich_txt = (ScintillaNET.Scintilla)base.SourceControl;
if (!(base.SourceControl is ScintillaNETV2.Scintilla)) { return; }
var rich_txt = (ScintillaNETV2.Scintilla)base.SourceControl;
rich_txt.SelectAll();
//Thread th = new Thread(sendkey);
//th.Start();
@@ -62,39 +62,39 @@ namespace ryControls
}
private void Undo_Click(object sender, EventArgs e)
{
if(!(base.SourceControl is ScintillaNET.Scintilla)) { return; }
var rich_txt = (ScintillaNET.Scintilla)base.SourceControl;
if(!(base.SourceControl is ScintillaNETV2.Scintilla)) { return; }
var rich_txt = (ScintillaNETV2.Scintilla)base.SourceControl;
rich_txt.Undo();
}
private void Redo_Click(object sender, EventArgs e)
{
if (!(base.SourceControl is ScintillaNET.Scintilla)) { return; }
var rich_txt = (ScintillaNET.Scintilla)base.SourceControl;
if (!(base.SourceControl is ScintillaNETV2.Scintilla)) { return; }
var rich_txt = (ScintillaNETV2.Scintilla)base.SourceControl;
rich_txt.Redo();
}
private void Cut_Click(object sender, EventArgs e)
{
if (!(base.SourceControl is ScintillaNET.Scintilla)) { return; }
var rich_txt = (ScintillaNET.Scintilla)base.SourceControl;
if (!(base.SourceControl is ScintillaNETV2.Scintilla)) { return; }
var rich_txt = (ScintillaNETV2.Scintilla)base.SourceControl;
rich_txt.Cut();
}
private void Copy_Click(object sender, EventArgs e)
{
if (!(base.SourceControl is ScintillaNET.Scintilla)) { return; }
var rich_txt = (ScintillaNET.Scintilla)base.SourceControl;
if (!(base.SourceControl is ScintillaNETV2.Scintilla)) { return; }
var rich_txt = (ScintillaNETV2.Scintilla)base.SourceControl;
//var ss = rich_txt.SelectedText;
rich_txt.Copy();
}
private void Paste_Click(object sender, EventArgs e)
{
if (!(base.SourceControl is ScintillaNET.Scintilla)) { return; }
var rich_txt = (ScintillaNET.Scintilla)base.SourceControl;
if (!(base.SourceControl is ScintillaNETV2.Scintilla)) { return; }
var rich_txt = (ScintillaNETV2.Scintilla)base.SourceControl;
rich_txt.Paste();
}
private void Del_Click(object sender, EventArgs e)
{
if (!(base.SourceControl is ScintillaNET.Scintilla)) { return; }
var rich_txt = (ScintillaNET.Scintilla)base.SourceControl;
if (!(base.SourceControl is ScintillaNETV2.Scintilla)) { return; }
var rich_txt = (ScintillaNETV2.Scintilla)base.SourceControl;
rich_txt.DeleteRange(rich_txt.SelectionStart,rich_txt.SelectedText.Length);
}
public ToolStripSeparator AddSeparatorMenu()
@@ -115,8 +115,8 @@ namespace ryControls
private void ContextMenuStripRichText_Opening(object sender, CancelEventArgs e)
{
if (!(base.SourceControl is ScintillaNET.Scintilla)) { return; }
var rich_txt = (ScintillaNET.Scintilla)base.SourceControl;
if (!(base.SourceControl is ScintillaNETV2.Scintilla)) { return; }
var rich_txt = (ScintillaNETV2.Scintilla)base.SourceControl;
for (int i = 0; i < base.Items.Count; i++)
{
var item = base.Items[i];
@@ -28,13 +28,13 @@
/// </summary>
private void InitializeComponent()
{
this.FindResultsScintilla = new ScintillaNET.Scintilla();
this.FindResultsScintilla = new ScintillaNETV2.Scintilla();
this.SuspendLayout();
//
// FindResultsScintilla
//
this.FindResultsScintilla.AutoCMaxHeight = 9;
this.FindResultsScintilla.BiDirectionality = ScintillaNET.BiDirectionalDisplayType.Disabled;
this.FindResultsScintilla.BiDirectionality = ScintillaNETV2.BiDirectionalDisplayType.Disabled;
this.FindResultsScintilla.CaretLineBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
this.FindResultsScintilla.CaretLineVisible = true;
this.FindResultsScintilla.Dock = System.Windows.Forms.DockStyle.Fill;
@@ -46,7 +46,7 @@
this.FindResultsScintilla.TabIndents = true;
this.FindResultsScintilla.TabIndex = 4;
this.FindResultsScintilla.Text = "搜索结果";
this.FindResultsScintilla.WrapMode = ScintillaNET.WrapMode.None;
this.FindResultsScintilla.WrapMode = ScintillaNETV2.WrapMode.None;
this.FindResultsScintilla.KeyUp += new System.Windows.Forms.KeyEventHandler(this.FindResultsScintilla_KeyUp);
this.FindResultsScintilla.MouseClick += new System.Windows.Forms.MouseEventHandler(this.FindResultsScintilla_MouseClick);
this.FindResultsScintilla.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.FindResultsScintilla_MouseDoubleClick);
@@ -64,6 +64,6 @@
#endregion
private ScintillaNET.Scintilla FindResultsScintilla;
private ScintillaNETV2.Scintilla FindResultsScintilla;
}
}
@@ -8,7 +8,7 @@
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ScintillaNET;
using ScintillaNETV2;
public partial class FindAllResultsPanel : UserControl
{
@@ -1,6 +1,6 @@
using Newtonsoft.Json.Linq;
using ryCommon;
using ScintillaNET;
using ScintillaNETV2;
using System;
using System.Collections.Generic;
using System.ComponentModel;
@@ -4,7 +4,7 @@ namespace ScintillaNET_FindReplaceDialog
using System.Collections.Generic;
using System.ComponentModel;
using System.Text.RegularExpressions;
using ScintillaNET;
using ScintillaNETV2;
using System.Drawing;
using System.Windows.Forms;
using WeifenLuo.WinFormsUI.Docking;
@@ -123,7 +123,7 @@ namespace ScintillaNET_FindReplaceDialog
KeyPressed?.Invoke(this, e);
}
//[Editor(typeof(ScintillaNET.Design.FlagEnumUIEditor), typeof(System.Drawing.Design.UITypeEditor))]
//[Editor(typeof(ScintillaNETV2.Design.FlagEnumUIEditor), typeof(System.Drawing.Design.UITypeEditor))]
//public SearchFlags Flags
//{
// get
@@ -1,7 +1,7 @@
namespace ScintillaNET_FindReplaceDialog
{
using ryCommon;
using ScintillaNET;
using ScintillaNETV2;
using SuperDesign.Controls.Highlight.FindReplace;
using System;
using System.Collections.Generic;
@@ -9,7 +9,7 @@ namespace ScintillaNET_FindReplaceDialog
using System.Drawing;
using System.Text.RegularExpressions;
using System.Windows.Forms;
using static ScintillaNET.Style;
using static ScintillaNETV2.Style;
public partial class FindReplaceDialog : Form
{
@@ -1,6 +1,6 @@
using ryCommon;
using ryControls;
using ScintillaNET;
using ScintillaNETV2;
using SuperDesign.Tools.SmartEditor;
using System;
using System.Collections.Generic;
@@ -15,7 +15,7 @@ using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using 开发辅助工具.Tools.SmartEditor;
using static ScintillaNET.Style;
using static ScintillaNETV2.Style;
using static System.Net.Mime.MediaTypeNames;
namespace ScintillaNET_FindReplaceDialog
@@ -408,7 +408,7 @@ namespace ScintillaNET_FindReplaceDialog
/// 正则表达式选项
/// </summary>
public RegexOptions RegexOptions { get; set; } = RegexOptions.None;
public ScintillaNET.SearchFlags SearchFlags { get; set; }
public ScintillaNETV2.SearchFlags SearchFlags { get; set; }
/// <summary>
/// 查找模式,0为普通查找,1表示扩展查找,2表示正则查找
/// </summary>
@@ -1,6 +1,6 @@
namespace ScintillaNET_FindReplaceDialog
{
using ScintillaNET;
using ScintillaNETV2;
using ScintillaNET_FindReplaceDialog;
using System;
using System.ComponentModel;
@@ -1,6 +1,6 @@
#region Using Directives
using ScintillaNET;
using ScintillaNETV2;
using ScintillaNET_FindReplaceDialog;
using System;
using System.Windows.Forms;
@@ -1,7 +1,8 @@
#region Using Directives
using ryCommon;
using ScintillaNET;
using ScintillaNETV2;
using ScintillaNETV2;
using System;
using System.Windows.Forms;
using WeifenLuo.WinFormsUI.Docking;
@@ -1,6 +1,6 @@
#region Using Directives
using ScintillaNET;
using ScintillaNETV2;
using System;
using System.Drawing;
using System.Windows.Forms;
@@ -1,5 +1,4 @@
using ScintillaNET;
using System;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
@@ -7,7 +6,6 @@ using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static ScintillaNET.Style;
using VPKSoft.ScintillaLexers;
using ScintillaNET_FindReplaceDialog.FindAllResults;
using ScintillaNET_FindReplaceDialog;
@@ -17,6 +15,7 @@ using static VPKSoft.ScintillaLexers.LexerEnumerations;
using Newtonsoft.Json.Linq;
using DiffPlex.Model;
using IfacesEnumsStructsClasses;
using ScintillaNETV2;
namespace ryControls
{
@@ -80,10 +79,10 @@ namespace ryControls
get { return Editor.ReadOnly; }
set { Editor.ReadOnly = value; }
}
[DefaultValue(ScintillaNET.BorderStyle.Fixed3D)]
[DefaultValue(ScintillaNETV2.BorderStyle.Fixed3D)]
[Category("Appearance")]
[Description("编辑器边框.")]
public ScintillaNET.BorderStyle BorderStyle
public ScintillaNETV2.BorderStyle BorderStyle
{
get { return Editor.BorderStyle; }
set { Editor.BorderStyle = value; }
@@ -131,7 +130,7 @@ namespace ryControls
Editor.Font = value;
for (int i = 0; i < Editor.Styles.Count; i++)
{
if (i != CallTip) SetStyleFont(i, value);
if (i != Style.CallTip) SetStyleFont(i, value);
}
}
}
@@ -422,7 +421,7 @@ namespace ryControls
// Calculate the width required to display the last line number
// and include some padding for good measure.
const int padding = 2;
scintilla.Margins[0].Width = scintilla.TextWidth(ScintillaNET.Style.LineNumber, new string('9', maxLineNumberCharLength + 1)) + padding;
scintilla.Margins[0].Width = scintilla.TextWidth(ScintillaNETV2.Style.LineNumber, new string('9', maxLineNumberCharLength + 1)) + padding;
mark = maxLineNumberCharLength;
}
}
@@ -537,7 +536,7 @@ namespace ryControls
{
Editor.TargetStart = 0;
Editor.TargetEnd = Editor.TextLength;
var pos= Editor.SearchInTarget(fun_line);
var pos= Editor.Text.IndexOfEx(fun_line);
if(pos>=0)
{
Editor.FirstVisibleLine = Editor.LineFromPosition(pos);
@@ -548,7 +547,7 @@ namespace ryControls
var str = fun_line.GetStr("", "(");
if(str.Length>0)
{
pos = Editor.SearchInTarget(str);
pos = Editor.Text.IndexOfEx(str);
if (pos >= 0)
{
Editor.FirstVisibleLine = Editor.LineFromPosition(pos);
@@ -675,7 +674,7 @@ namespace ryControls
Editor.Font = this.Font;
for (int i = 0; i < Editor.Styles.Count; i++)
{
if (i != CallTip) SetStyleFont(i, this.Font);
if (i != Style.CallTip) SetStyleFont(i, this.Font);
}
}
@@ -792,7 +791,7 @@ namespace ryControls
private Indicator _indicator;
public override ContextMenuStrip ContextMenuStrip { get => Editor.ContextMenuStrip; set => Editor.ContextMenuStrip = value; }
private readonly FindReplace MyFindReplace;
public ScintillaNET.Scintilla Editor { get; set; } = new Scintilla();
public Scintilla Editor { get; set; } = new Scintilla();
private readonly AutocompleteMenuNS.AutocompleteMenu AutoComplete = new AutocompleteMenuNS.AutocompleteMenu();
private readonly ryControls.ContextMenuStripHighlightText2 contextMenuStripHighlightText21 = new ContextMenuStripHighlightText2();
#endregion
@@ -24,7 +24,7 @@ SOFTWARE.
*/
#endregion
using ScintillaNET;
using ScintillaNETV2;
using VPKSoft.ScintillaLexers.HelperClasses;
using VPKSoft.ScintillaLexers.LexerColors;
using static VPKSoft.ScintillaLexers.LexerEnumerations;
@@ -26,10 +26,11 @@ SOFTWARE.
using System.Drawing;
using System.Linq;
using ScintillaNET;
using ScintillaNETV2;
using VPKSoft.ScintillaLexers.HelperClasses;
using static VPKSoft.ScintillaLexers.LexerEnumerations;
using static VPKSoft.ScintillaLexers.GlobalScintillaFont;
using ScintillaNETV2;
namespace VPKSoft.ScintillaLexers.CreateSpecificLexer
{
@@ -24,7 +24,7 @@ SOFTWARE.
*/
#endregion
using ScintillaNET;
using ScintillaNETV2;
using VPKSoft.ScintillaLexers.HelperClasses;
using VPKSoft.ScintillaLexers.LexerColors;
using static VPKSoft.ScintillaLexers.LexerEnumerations;
@@ -24,7 +24,8 @@ SOFTWARE.
*/
#endregion
using ScintillaNET;
using ScintillaNETV2;
using ScintillaNETV2;
using VPKSoft.ScintillaLexers.HelperClasses;
using VPKSoft.ScintillaLexers.LexerColors;
using static VPKSoft.ScintillaLexers.LexerEnumerations;
@@ -24,7 +24,8 @@ SOFTWARE.
*/
#endregion
using ScintillaNET;
using ScintillaNETV2;
using ScintillaNETV2;
using VPKSoft.ScintillaLexers.HelperClasses;
using static VPKSoft.ScintillaLexers.LexerEnumerations;
@@ -24,7 +24,7 @@ SOFTWARE.
*/
#endregion
using ScintillaNET;
using ScintillaNETV2;
using VPKSoft.ScintillaLexers.HelperClasses;
using VPKSoft.ScintillaLexers.LexerColors;
using static VPKSoft.ScintillaLexers.LexerEnumerations;
@@ -24,7 +24,7 @@ SOFTWARE.
*/
#endregion
using ScintillaNET;
using ScintillaNETV2;
using VPKSoft.ScintillaLexers.LexerColors;
using static VPKSoft.ScintillaLexers.LexerEnumerations;
@@ -24,7 +24,7 @@ SOFTWARE.
*/
#endregion
using ScintillaNET;
using ScintillaNETV2;
using VPKSoft.ScintillaLexers.HelperClasses;
using VPKSoft.ScintillaLexers.LexerColors;
using static VPKSoft.ScintillaLexers.LexerEnumerations;
@@ -24,7 +24,7 @@ SOFTWARE.
*/
#endregion
using ScintillaNET;
using ScintillaNETV2;
using VPKSoft.ScintillaLexers.HelperClasses;
using static VPKSoft.ScintillaLexers.LexerEnumerations;
@@ -24,7 +24,8 @@ SOFTWARE.
*/
#endregion
using ScintillaNET;
using ScintillaNETV2;
using ScintillaNETV2;
using VPKSoft.ScintillaLexers.HelperClasses;
using static VPKSoft.ScintillaLexers.LexerEnumerations;
@@ -29,7 +29,8 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ScintillaNET;
using ScintillaNETV2;
using ScintillaNETV2;
using VPKSoft.ScintillaLexers.HelperClasses;
using static VPKSoft.ScintillaLexers.LexerEnumerations;
@@ -24,7 +24,7 @@ SOFTWARE.
*/
#endregion
using ScintillaNET;
using ScintillaNETV2;
using VPKSoft.ScintillaLexers.HelperClasses;
using VPKSoft.ScintillaLexers.LexerColors;
using static VPKSoft.ScintillaLexers.LexerEnumerations;
@@ -24,7 +24,7 @@ SOFTWARE.
*/
#endregion
using ScintillaNET;
using ScintillaNETV2;
namespace VPKSoft.ScintillaLexers.CreateSpecificLexer
{
@@ -24,7 +24,7 @@ SOFTWARE.
*/
#endregion
using ScintillaNET;
using ScintillaNETV2;
using VPKSoft.ScintillaLexers.HelperClasses;
using VPKSoft.ScintillaLexers.LexerColors;
using static VPKSoft.ScintillaLexers.LexerEnumerations;
@@ -24,7 +24,7 @@ SOFTWARE.
*/
#endregion
using ScintillaNET;
using ScintillaNETV2;
using VPKSoft.ScintillaLexers.HelperClasses;
using VPKSoft.ScintillaLexers.LexerColors;
using static VPKSoft.ScintillaLexers.LexerEnumerations;
@@ -24,7 +24,7 @@ SOFTWARE.
*/
#endregion
using ScintillaNET;
using ScintillaNETV2;
using VPKSoft.ScintillaLexers.HelperClasses;
using VPKSoft.ScintillaLexers.LexerColors;
using static VPKSoft.ScintillaLexers.LexerEnumerations;
@@ -24,7 +24,7 @@ SOFTWARE.
*/
#endregion
using ScintillaNET;
using ScintillaNETV2;
using VPKSoft.ScintillaLexers.HelperClasses;
using VPKSoft.ScintillaLexers.LexerColors;
using static VPKSoft.ScintillaLexers.LexerEnumerations;
@@ -24,7 +24,7 @@ SOFTWARE.
*/
#endregion
using ScintillaNET;
using ScintillaNETV2;
using VPKSoft.ScintillaLexers.HelperClasses;
using VPKSoft.ScintillaLexers.LexerColors;
using static VPKSoft.ScintillaLexers.LexerEnumerations;
@@ -24,7 +24,8 @@ SOFTWARE.
*/
#endregion
using ScintillaNET;
using ScintillaNETV2;
using ScintillaNETV2;
using VPKSoft.ScintillaLexers.HelperClasses;
using VPKSoft.ScintillaLexers.LexerColors;
using static VPKSoft.ScintillaLexers.LexerEnumerations;
@@ -24,7 +24,7 @@ SOFTWARE.
*/
#endregion
using ScintillaNET;
using ScintillaNETV2;
using VPKSoft.ScintillaLexers.LexerColors;
using static VPKSoft.ScintillaLexers.LexerEnumerations;
@@ -29,7 +29,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ScintillaNET;
using ScintillaNETV2;
using VPKSoft.ScintillaLexers.HelperClasses;
using static VPKSoft.ScintillaLexers.LexerEnumerations;
@@ -25,7 +25,7 @@ SOFTWARE.
#endregion
using System.Collections.Generic;
using ScintillaNET;
using ScintillaNETV2;
using static VPKSoft.ScintillaLexers.LexerEnumerations;
namespace VPKSoft.ScintillaLexers.CreateSpecificLexer
@@ -24,7 +24,7 @@ SOFTWARE.
*/
#endregion
using ScintillaNET;
using ScintillaNETV2;
namespace VPKSoft.ScintillaLexers
{
@@ -27,7 +27,7 @@ SOFTWARE.
using System;
using System.Collections.Generic;
using System.Linq;
using ScintillaNET;
using ScintillaNETV2;
namespace VPKSoft.ScintillaLexers.HelperClasses
{
@@ -26,7 +26,7 @@ SOFTWARE.
using System.Collections.Generic;
using System.Linq;
using ScintillaNET;
using ScintillaNETV2;
using static VPKSoft.ScintillaLexers.LexerEnumerations;
namespace VPKSoft.ScintillaLexers.HelperClasses
@@ -30,7 +30,7 @@ using System.Drawing;
using System.IO;
using System.Linq;
using System.Xml.Linq;
using ScintillaNET;
using ScintillaNETV2;
using VPKSoft.ScintillaLexers.CreateSpecificLexer;
using VPKSoft.ScintillaLexers.HelperClasses;
using VPKSoft.ScintillaLexers.ScintillaNotepadPlusPlus;
@@ -27,7 +27,7 @@ SOFTWARE.
using System.Drawing;
using System.Linq;
using System.Xml.Linq;
using ScintillaNET;
using ScintillaNETV2;
using VPKSoft.ScintillaLexers.CreateSpecificLexer;
using VPKSoft.ScintillaLexers.HelperClasses;
@@ -25,7 +25,7 @@ SOFTWARE.
#endregion
using System.Drawing;
using ScintillaNET;
using ScintillaNETV2;
namespace ScintillaDiff
{
@@ -36,7 +36,7 @@ using DiffPlex.DiffBuilder.Model;
using DiffPlex.Model;
using ScintillaDiff.Enumerations;
using ScintillaDiff.UtilityClasses;
using ScintillaNET;
using ScintillaNETV2;
using static ScintillaDiff.ScintillaDiffStyles;
namespace ScintillaDiff
@@ -61,7 +61,7 @@ namespace ScintillaDiff
//
scintillaOne = new ScrollSyncScintilla();
this.scintillaOne.AutoCMaxHeight = 9;
this.scintillaOne.BiDirectionality = ScintillaNET.BiDirectionalDisplayType.Disabled;
this.scintillaOne.BiDirectionality = ScintillaNETV2.BiDirectionalDisplayType.Disabled;
this.scintillaOne.CaretLineBackColor = System.Drawing.Color.White;
this.scintillaOne.CaretLineVisible = true;
this.scintillaOne.Dock = System.Windows.Forms.DockStyle.Fill;
@@ -73,14 +73,14 @@ namespace ScintillaDiff
this.scintillaOne.TabIndents = true;
this.scintillaOne.TabIndex = 0;
this.scintillaOne.UseRightToLeftReadingLayout = false;
this.scintillaOne.WrapMode = ScintillaNET.WrapMode.None;
this.scintillaOne.WrapMode = ScintillaNETV2.WrapMode.None;
this.scintillaOne.TextChanged += new System.EventHandler(this.Scintilla_TextChanged);
//
// scintillaTwo
//
scintillaTwo = new ScrollSyncScintilla();
this.scintillaTwo.AutoCMaxHeight = 9;
this.scintillaTwo.BiDirectionality = ScintillaNET.BiDirectionalDisplayType.Disabled;
this.scintillaTwo.BiDirectionality = ScintillaNETV2.BiDirectionalDisplayType.Disabled;
this.scintillaTwo.CaretLineBackColor = System.Drawing.Color.White;
this.scintillaTwo.CaretLineVisible = true;
this.scintillaTwo.Dock = System.Windows.Forms.DockStyle.Fill;
@@ -92,7 +92,7 @@ namespace ScintillaDiff
this.scintillaTwo.TabIndents = true;
this.scintillaTwo.TabIndex = 0;
this.scintillaTwo.UseRightToLeftReadingLayout = false;
this.scintillaTwo.WrapMode = ScintillaNET.WrapMode.None;
this.scintillaTwo.WrapMode = ScintillaNETV2.WrapMode.None;
this.scintillaTwo.TextChanged += new System.EventHandler(this.Scintilla_TextChanged);
this.scMain.Panel1.Controls.Add(scintillaOne);
this.scMain.Panel1.Controls.SetChildIndex(scintillaOne, 0);
@@ -1,4 +1,4 @@
using ScintillaNET;
using ScintillaNETV2;
namespace ScintillaDiff
{
@@ -28,15 +28,15 @@ using System;
using System.ComponentModel;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using ScintillaNET;
using ScintillaNETV2;
namespace ScintillaDiff
{
/// <summary>
/// An inherited class from the <see cref="Scintilla"/> which can synchronize vertical scroll bar position with another <see cref="Scintilla"/> control.
/// Implements the <see cref="ScintillaNET.Scintilla" />
/// Implements the <see cref="ScintillaNETV2.Scintilla" />
/// </summary>
/// <seealso cref="ScintillaNET.Scintilla" />
/// <seealso cref="ScintillaNETV2.Scintilla" />
public class ScrollSyncScintilla : Scintilla
{
// ReSharper disable once CommentTypo
@@ -29,7 +29,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ScintillaNET;
using ScintillaNETV2;
namespace ScintillaDiff
{
+2 -2
View File
@@ -23,7 +23,7 @@ using 开发辅助工具.Tools.SmartEditor;
using SuperDesign.Tools.SmartEditor;
using ObjectListViewDemo;
using System.IO;
using ScintillaNET;
using ScintillaNETV2;
using DiffPlex.Model;
using ryControls.Interface;
using static System.Net.WebRequestMethods;
@@ -31,7 +31,7 @@ using ryControls;
using static VPKSoft.ScintillaLexers.LexerEnumerations;
using VPKSoft.ScintillaLexers;
using TheArtOfDev.HtmlRenderer.Adapters.Entities;
using static ScintillaNET.Style;
using static ScintillaNETV2.Style;
using RySmartEditor.Controls;
using ExtendUI.FTPManager;
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.2503.3001")]
[assembly: AssemblyFileVersion("1.0.2503.3001")]
[assembly: AssemblyVersion("1.0.2507.1601")]
[assembly: AssemblyFileVersion("1.0.2507.1601")]
@@ -53,9 +53,6 @@
<Reference Include="RaUI">
<HintPath>..\..\Bin\Debug\SuperDesign\RaUI.dll</HintPath>
</Reference>
<Reference Include="Scintilla.NET">
<HintPath>..\..\Bin\Debug\SuperDesign\Scintilla.NET.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.DirectoryServices" />
@@ -10,7 +10,7 @@ using System.Linq;
using System.Text;
using System.Windows.Forms;
using 开发辅助工具.Manager;
using static ScintillaNET.Style;
using static ScintillaNETV2.Style;
using System.IO;
using ryControls;
using static VPKSoft.ScintillaLexers.LexerEnumerations;
@@ -25,7 +25,7 @@ using WinSCP;
using RySmartEditor.Controls;
using System.Reflection;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.TextBox;
using ScintillaNET;
using ScintillaNETV2;
using WinShell;
using static System.Net.Mime.MediaTypeNames;
using System.Runtime.InteropServices.ComTypes;
@@ -761,7 +761,8 @@ namespace 开发辅助工具.Tools.SmartEditor
}
}
};
frm.Show();
RyForm.ShowCenter(frm, FrmMainEditor.MainEditor);
frm.Show(FrmMainEditor.MainEditor);
}
private void Frm_FormClosed(object sender, FormClosedEventArgs e)
@@ -10,7 +10,7 @@ using System.Linq;
using System.Text;
using System.Windows.Forms;
using 开发辅助工具.Manager;
using static ScintillaNET.Style;
using static ScintillaNETV2.Style;
using System.IO;
using ryControls;
using static VPKSoft.ScintillaLexers.LexerEnumerations;
+52 -1
View File
@@ -43,6 +43,7 @@
this.TxtFind = new System.Windows.Forms.ToolStripTextBox();
this.TsFind = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.BtnIndexSearch = new System.Windows.Forms.ToolStripButton();
this.TsFavView = new System.Windows.Forms.ToolStripButton();
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.文件ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@@ -82,6 +83,10 @@
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.立即刷新索引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();
@@ -130,6 +135,7 @@
this.TxtFind,
this.TsFind,
this.toolStripSeparator2,
this.BtnIndexSearch,
this.TsFavView});
this.toolStrip1.Location = new System.Drawing.Point(0, 25);
this.toolStrip1.Name = "toolStrip1";
@@ -244,6 +250,16 @@
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(6, 27);
//
// BtnIndexSearch
//
this.BtnIndexSearch.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.BtnIndexSearch.Image = ((System.Drawing.Image)(resources.GetObject("BtnIndexSearch.Image")));
this.BtnIndexSearch.ImageTransparentColor = System.Drawing.Color.Magenta;
this.BtnIndexSearch.Name = "BtnIndexSearch";
this.BtnIndexSearch.Size = new System.Drawing.Size(24, 24);
this.BtnIndexSearch.Text = "索引搜索";
this.BtnIndexSearch.Click += new System.EventHandler(this.BtnIndexSearch_Click);
//
// TsFavView
//
this.TsFavView.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
@@ -538,7 +554,11 @@
this.查找与替换ToolStripMenuItem,
this.替换ToolStripMenuItem,
this.在文件中查找ToolStripMenuItem,
this.跳到指定行ToolStripMenuItem});
this.跳到指定行ToolStripMenuItem,
this.toolStripMenuItem3,
this.索引搜索ToolStripMenuItem,
this.索引规则管理ToolStripMenuItem,
this.立即刷新索引ToolStripMenuItem});
this.搜索ToolStripMenuItem.Name = "搜索ToolStripMenuItem";
this.搜索ToolStripMenuItem.Size = new System.Drawing.Size(44, 21);
this.搜索ToolStripMenuItem.Text = "搜索";
@@ -576,6 +596,32 @@
this.跳到指定行ToolStripMenuItem.Text = "跳到指定行";
this.跳到指定行ToolStripMenuItem.Click += new System.EventHandler(this.跳到指定行ToolStripMenuItem_Click);
//
// toolStripMenuItem3
//
this.toolStripMenuItem3.Name = "toolStripMenuItem3";
this.toolStripMenuItem3.Size = new System.Drawing.Size(212, 6);
//
// 索引搜索ToolStripMenuItem
//
this.索引搜索ToolStripMenuItem.Name = "索引搜索ToolStripMenuItem";
this.索引搜索ToolStripMenuItem.Size = new System.Drawing.Size(215, 22);
this.索引搜索ToolStripMenuItem.Text = "索引搜索";
this.索引搜索ToolStripMenuItem.Click += new System.EventHandler(this.索引搜索ToolStripMenuItem_Click);
//
// 索引规则管理ToolStripMenuItem
//
this.索引规则管理ToolStripMenuItem.Name = "索引规则管理ToolStripMenuItem";
this.索引规则管理ToolStripMenuItem.Size = new System.Drawing.Size(215, 22);
this.索引规则管理ToolStripMenuItem.Text = "索引规则管理";
this.索引规则管理ToolStripMenuItem.Click += new System.EventHandler(this.索引规则管理ToolStripMenuItem_Click);
//
// 立即刷新索引ToolStripMenuItem
//
this.立即刷新索引ToolStripMenuItem.Name = "立即刷新索引ToolStripMenuItem";
this.立即刷新索引ToolStripMenuItem.Size = new System.Drawing.Size(215, 22);
this.立即刷新索引ToolStripMenuItem.Text = "立即刷新索引";
this.立即刷新索引ToolStripMenuItem.Click += new System.EventHandler(this.立即刷新索引ToolStripMenuItem_Click);
//
// 编码ToolStripMenuItem
//
this.编码ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
@@ -897,5 +943,10 @@
private System.Windows.Forms.Panel PnlLoad;
private System.Windows.Forms.Label label1;
public WeifenLuo.WinFormsUI.Docking.DockPanel dockPanel;
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.ToolStripButton BtnIndexSearch;
}
}
@@ -9,8 +9,8 @@ using ObjectListViewDemo;
using ryCommon;
using ryCommonDb;
using ryControls;
using ScintillaNET;
using ScintillaNET_FindReplaceDialog;
using ScintillaNETV2;
using SuperDesign.Manager.FTP;
using SuperDesign.Manager.Site;
using SuperDesign.Tools.SmartEditor;
@@ -233,6 +233,49 @@ namespace 开发辅助工具.Tools.SmartEditor
this.Focus();
return dummyDoc;
}
public FrmFileEditor OpenFile(string path, int row)
{
if (path.Length == 0)
{
FrmFileEditor dummyDoc_new = new FrmFileEditor
{
Text = "*新文档"
};
AddEvent(dummyDoc_new);
dummyDoc_new.Show(dockPanel);
SetEncoding(Encoding.UTF8);
return dummyDoc_new;
}
HighlightEditor high_editor = null;
if (GetActiveForm() is FrmFileEditor frm2)
{
high_editor = frm2.highlightEditor1;
}
foreach (IDockContent document in dockPanel.DocumentsToArray())
{
// IMPORANT: dispose all panes.
if (document is FrmFileEditor frm)
{
if (frm.FilePath == path)
{
frm.Show(dockPanel);
frm.highlightEditor1.Editor.FirstVisibleLine = row;
return frm;
}
}
}
FrmFileEditor dummyDoc = new FrmFileEditor();
AddEvent(dummyDoc);
dummyDoc.LoadFile(path);
if (!dummyDoc.IsDisposed)
{
dummyDoc.Show(dockPanel);
dummyDoc.highlightEditor1.Editor.FirstVisibleLine = row;
SetEncoding(dummyDoc.Encoding);
}
this.Focus();
return dummyDoc;
}
public int OpenFTPFileByNewForm(SiteInfo site, string remotePath)
{
if (site.FtpId <= 0) { return -2; }
@@ -947,6 +990,12 @@ namespace 开发辅助工具.Tools.SmartEditor
}
ProcUse = true;
QuickMsg.RyMemoryShare.DelMemory("SmartEditor");
object mainHandle = QuickMsg.RyMemoryShare.ReadFromMemory(1024, typeof(Int64), "FileContentSearch.z");
if (mainHandle != null)
{
var search_handle = (IntPtr)(long)mainHandle;
Win32.SendMessage(search_handle, 17189, 101, 100);//让软件退出
}
//DragManager.ElevatedDragDrop -= FrmMainEditor_ElevatedDragDrop;
//DragManager.Remove();
}
@@ -1083,6 +1132,21 @@ namespace 开发辅助工具.Tools.SmartEditor
}
#endregion
break;
case 1667:
#region 打开文件
try
{
var mm = ryConfig.MsgManager.GetMsg(m);
JObject jo = JObject.Parse(ryConfig.MsgManager.GetMsg(m));
if (System.IO.File.Exists(jo.GetJsonValue("fullpath","")))
{
ShowUI(false);
OpenFile(jo.GetJsonValue("fullpath", ""), jo.GetJsonValue("firstrow", 0));
}
}
catch { }
#endregion
break;
default:
break;
}
@@ -1935,6 +1999,63 @@ namespace 开发辅助工具.Tools.SmartEditor
private void FrmMainEditor_Load(object sender, EventArgs e)
{
LoadState(true);
object mainHandle = QuickMsg.RyMemoryShare.ReadFromMemory(1024, typeof(Int64), "FileContentSearch.z");
if (mainHandle != null)
{
var search_handle= (IntPtr)(long)mainHandle;
}
else
{
RyFiles.RunFile(Application.StartupPath+ "\\SysDb\\Tools\\FileContentSearch\\FileContentSearch.exe", "q");
}
}
public void SendToFileSearch(int wParam)
{
object mainHandle = QuickMsg.RyMemoryShare.ReadFromMemory(1024, typeof(Int64), "FileContentSearch.z");
if (mainHandle != null)
{
var search_handle = (IntPtr)(long)mainHandle;
Win32.SendMessage(search_handle, 17189, wParam, 100);//
}
else
{
RyFiles.RunFile(Application.StartupPath + "\\SysDb\\Tools\\FileContentSearch\\FileContentSearch.exe","q");
Task.Run(() =>
{
var index = 0;
while(index<=3)
{
index++;
Thread.Sleep(1000);
mainHandle = QuickMsg.RyMemoryShare.ReadFromMemory(1024, typeof(Int64), "FileContentSearch.z");
if (mainHandle != null)
{
var search_handle = (IntPtr)(long)mainHandle;
Win32.SendMessage(search_handle, 17189, wParam, 100);//
break;
}
}
});
}
}
private void 索引搜索ToolStripMenuItem_Click(object sender, EventArgs e)
{
SendToFileSearch(100);
}
private void 索引规则管理ToolStripMenuItem_Click(object sender, EventArgs e)
{
SendToFileSearch(103);
}
private void 立即刷新索引ToolStripMenuItem_Click(object sender, EventArgs e)
{
SendToFileSearch(102);
}
private void BtnIndexSearch_Click(object sender, EventArgs e)
{
索引搜索ToolStripMenuItem.PerformClick();
}
}
}
@@ -124,230 +124,249 @@
<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
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACSSURBVFhH7ZYxCoVQDARzNE/xGysbq9/YWAkezaMpKYSw
iCYvwcYdmG4NU8kTIdd0IrIG/eGRDBqwN9jjoVZswOb03A94rAUb4MEGqCMOomQD1D+OIlQEqBMOvVQF
qDOOPVQGqAt+8ER1gKo33UQD8KdkfSXgDgYwgAEMYAADGJAOwOd31HRAleEAfNlkDQV8hwOCZM/rkQXp
RQAAAABJRU5ErkJggg==
</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=
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFHSURBVFhH7ZS9SsRAFIW3tRCfwEYLG59AG0ELe4WtXZi7
u2hjoZs7EbbxDXwFRRSRdeYiooWdjT6FnY2v4DK7BJKTP2eNjc4HB5J7k3NOEkirFQgECujawQaJHpbJ
7fGeRnEBXdFfpfr3BZTw83c1U9m6Al4KBZougN+4Ts0WMNErXvsrlBUgw5tujz+mWYSZGYoKkOhLt1MS
r+HOVz3Lq5iZoahAb3SyMt3pC9z5iITPMS8HFiDLp25OEm+joa86o6N5zMuRLtCx/EFPgwU3V1Y/oqGP
kgepJV2ADO+7GZm4jYY+2rvRn5hTSqrASzJT9vgdTb1kWWVTKkgKKKN3puf6IGfoIRL9hhmVuAIkfOuO
d68O59DQV0qiLcyoZPIG7njdHZPwGRr6ia/Rv5bk/91/iBcnZX6gvkRL6F+Luo+XcRYI/FnGcVRz1AY/
tdsAAAAASUVORK5CYII=
</value>
</data>
<data name="TsSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
4v8qFIp/A2dkad2NL3U0AAAAAElFTkSuQmCC
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
</value>
</data>
<data name="TsSaveAll.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
AJoAAAAASUVORK5CYII=
</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==
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGXSURBVFhH7ZW/TsMwEMb7CGwICV6AASEhtY1V1A5sxK4Q
YmAGdWDjCfoYTZREDEwg8Qz8EQMDddKw8wbsbEWX5lrn2ia4MQihfNKn2O5d7hfn4tZqlf6iXDe4dBy/
b8r0/oVy3WBs0oOB16E1cgVJK5ETQeEKoDRA4zDsqG7acXt+TU7XWDfcbXfDNcg1AsBE1GciGls8up84
7sFcNQBgTHIV0RXkGgXAJ8SYtHgSgwAwTiCFvIOxUQDcAYxZBJD61uKjU1g3CkBjsgBxAqDuEMgYgPrk
qPR9TxsV5j8CUEb/BwBuoGM1rzQAXGGuY8xFAMe53qA1cmViB2hDaokC6Mqy5UVdvHy2RHxAf/uWygAw
OzrGQ8kSr+8NPtyhMYVSARzHt2C8yJ7n7al5yYnIhx/KqQh+bvB4XY0rVBYg6NEmm9k/wZyWkNtQjNnh
I/4pMRE+NLl8skR0kylQpDKvADQDmJyU2qoAVgHY775t5bl+NNqkOUs132z5hhxmy3PS/RlrAUDn009u
mfFLaHJ5lmctgEq/qS+eXNeBtBvAWgAAAABJRU5ErkJggg==
</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
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGeSURBVFhHxZa7SgNBGIXTBXVmtpAUgoWgEHR3fq+VlU9g
ZymIhZ2FT2ApAXGZmUW0j40PoHaCWvgmadRXUCayOpzsTjYxO35wmv8y5+ywJNtojIHQdIq1YFhzYegT
60HIzf8lgGsePACaBw1QZB4sQJl5kAA+c6sZE+/kYmm8jPt/Yph5oc7pTRi6E4aORba+hGdWZizzAnFN
15GSm3i+l0mZu4qMPEKfQuowz8WVfES/AeoM0FdGKXoOUHeISu9EnSHsi4l+hdQZotItWIaFsDNRurpg
f4i4lgf9eZ084xyKG3mGXqX4QuBszvTVxhzPaF/o5BV3rJiiG9zxUhYC55DZTpszTV3cs8FwdihFIXCm
DK6TS3evqekdZyqBIbBfBk9lu3lBHz+7KfVwpjJuCOz5cPeYTu6xPxL5YVj3ERm559xeB/sjY0NgzceU
kvN5AJ7RIfZrp5WtsN8bSLawXztCxYv9pzd0i70gcBVvfweQu9gLAtfyRBj5gvVgMJU8VP4ymjT2A1UY
esJ6MJihLlNrLawHwT69/WfEussXgg4mBAO+ig4AAAAASUVORK5CYII=
</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=
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGSSURBVFhHxZa9SgNBEMfTBc3uXiEKgoWgEPRuR/yorHwC
O0tBLOwsfAJLCYrH7hyifWx8ALUT1MI3sVFfQZnIiZk1d95H9n4wzc7O/H/5ILlWqyaUhWN+5hWF8Nmo
xECgSYkfgaYkhgSakHAEfEs44eOWEHG41MFwKy0nuG4JlawuKoRDhXCrzuDNCcmrshKB0evSwpWzsEwV
lQhQHzhLqtZ/JaTRD85wXZUnoRKInaE6K0uAPnNnoM7KCidq+8L9VXnhY331eeGERH3iDPKy0RMtk1bv
0Q9QEK/M06xzr2g4IQxcO8PfoS8ygd3Jy7VZPpPizBQNJyiILxAW+lO9ruR3OXyucDjRtvD+e4G00QW/
M4rK4YSK4TVd0D6HDxnrLr8zisrhhLDRXdklZeeGUAi9dFGAeof3s6gcTsgE9lOBCaPneD+LyuGEwmgj
FZhOlgXve0Ei3AwkTLjAe16QqLdJQJpwk/e8oVA/S6uP+Lk36ElImOien3tFITzSgyg/90bnFGYEQp+f
e4X+Acf9LnwBlIcl/Fqr9jgAAAAASUVORK5CYII=
</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==
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKVSURBVFhH7ZcxaFRBEIZfZaVgk0K0sNAiV5ruQDZv5ufd
IRYSiyBCsFKjBJR0RrgieQ/BwiqdEAQDIprgvXhNlICFIFgGg7VdwLSCTWRk92V37i559+600Q+2yP4z
s7O7LzN7UfSfCjQajVNJkkwQ0YVmszmm9ZFTq9WOAbjGzCsA9vUgol0Ay8w8rX2HhogexHH8RS8qc0S0
o+eZ+TMz39RxKgHgkxf8I4DbcRzXjTHHnY0x5mQcxwRg3p6Es38RRhsQtbOnWu9FkiTnAGx5p/FW25SC
mV+6IER0UetHwcxzXvItrR+K3LnnfF7rZWHmWe8krmq9J/K1ex/cPa0PCoBXNtYHrfWEmWesw6bWqgBg
nJn37CnMaL0LZl6z935Xa1UholWbwJrWuvDubFJrVWHmhy6u1gKkvDrDer1+QutVYebLLq6sofUCqe3W
8KvWhsHfmKyh9QJpLPb+d7Q2DH4CsobWC6SrOUMpr4HYSWvB3wMA4JKLe2TndLVcansxKYvn6Xa0kU4F
xiUBsGB3v6u1LqSl2mzni8l8cTLKs/3fo53eChxKQESvbcxlrXUh/dxlK42lENrp5kESSwtR59GZwLEP
RHTDHX/pt4L0c+u0FQh51j5IovUzaqfvo3zpcWCjMMZ8t7E6WuuLPCa8rOcCsZ21ovXsR5HImzRM0oOI
3rk4A3dUeUx4ScwGYicdizayO1GerfRLAMAzz/+J1kshjwkXxHa1cW2jAdAA8M3zk7FNRNX+jeUx4e1k
TxqL1HYpr1JgiOg0gCkAiwDW/YWZ+b4sPnQS8piQfq52ddjouDuXRUeShCD93LVrPezX/pyZr2u/kSbh
GPSHiU7CGHNW2/xx/CSI6IrW/wqy817X9G/zCwfMn+BUp33PAAAAAElFTkSuQmCC
</value>
</data>
<data name="BtnIndexSearch.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKiSURBVFhH5VW/ixNBFN5/wcr2xCKx0X9AJGgpgqWgxYH+
CTF3YJEmpYiIhQgSbWwEtbAQ7iCFcInZyd1hIZ6/gt6ts9kDhRPEu+PNyNtkJm/fzrobkhTiB1+xM/vm
e/N+jef96ygt6YXSkq7w9bmiXFP18nVolWtaJ1iFfrkGzVJVL3KbmQBvOxRhwk6qOrefCvGtU7dVdQz/
iAt4e/rPiWXYxnV+1sRAASrsynlb6sVOAP0XW1ovPxs7cbqhdSeAZltO4QgV53ttqSso3JFaU1Inrj0a
rqGT3D4XtNj4zWNxJkyJwiYKD/3R+rcJa2OcU2jS9TxxJKbD2GNE7F5RJ7Cdsm7vCruLJgoX7yTXC9UE
dYCuozEXyqKphbgY6V6RKNi2YsWHxlwoizdXx2nAlNi9AFr0TCds73MHHEJZpA7wPXqmE7T/6To/6G/M
qgFkbh0Mp5u5wThnRQsQaezNLKBMqmXAzgGShqIO0PDbOWAYpIeaE64o4GjlYpwoaOxc4S/UBQa0HTEi
eUOIiqfab8Tc/FMMo0Bewyr0L9yGDRNWbC8kfqPgOGKO0COLtKALqSe5AFPFVzT3WXC9+5QYAZx+9DW0
70AAfUwfP9MJFYrLMBAtiLo/dSQ0RN3flNsfNvfXeu8Onqx8Pry3uge3Vg5UYtLJYfEZp552f0B8zkB8
hYF/X8nNY1zTQoX+Dfx5Uu6EgX4b7lmuvf+uK43D2Ilzjf3EvxAJqQb+ca7tqbB9lB88DXc+vrGpuPs8
SOxBKB5wfU9F3Uv8kGmJwhiB172txDpEIuT6norWr/ID5kWIxC+u76mwd5L/OC+C7L7k+jFgVzzmP8+D
SvrnubYFtgo3mBUhEp/Ubu8K10xBf3l1REW9M0qKszPjYP0U1/m/8QdZx43WbLpwjAAAAABJRU5ErkJg
gg==
</value>
</data>
<data name="TsFavView.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAObSURBVFhH1VZJTxRBFH6ogQzKZlziftDgHgIcjCHxB3jy
aOLJgx6MJw6eNFy8SIyiQk+jGI0IidsIQRM0sqiDJAKyaSKi4K64BReEma6e9r3yVTMzNmMPMCZ+yZfM
VL33fa+qX3U1/LcIeSHH0sEihnTI4+F/B1OHI6oA0wsaD/8bWOWw/JMOY6qAoVIIhE5CNk8nHiENDpDx
2HH4SJS7oEMJTycWVinMGdHhq1x9zdxmszariX5/1+AH7kwGhyUO2Hx7pXk5DAef5r8JPst/bZXAMO/C
IQ5LHMa88IHMhC/9tvWxwCKavsxGGhvV4QuHJQa4+l1kNOyFn8G+jc9VAUZ/7uC3wzBCc3gkCzl8+hHU
4JVc/ZXx1SuaV9JkLwR0GOLwySNUAYtxJZux27fjqvfhsy3Ds36NDPqLQBiPNzyJLsB4kvOY5iiGYimH
cqUGaaEmy0cCJzdhwlGzDHyY3K6O1UQUF9LuRJsryjmHHEXWbicv8sQCCyA6KJzB8qSX1rnkZtOXUW82
Lm2wOte0OxmHUzzI7hA3l7QIX0arOJPcGyhPGnLSVqRX6gX1x7w2r0m0rWoxXuQNOIlPhYGB3Pfi/so2
8rD90Fs+BtyOSnuwBl8sDgLTwpqsZtsHPaW5AlZz2p6kjnYSmALF5XS7P8iLbSNhauBVQdbFtGYnoclQ
XEq7a5ujB9s5A7fmmAoWVakTdrxbiupUv22O2mwTGxhYPF6Ex+8k7IbivKclzLyY5d0Bn9NBu4irmfed
DGLRrJtfZ5ujFsvGB6FDlyyg0nPPySQW5c5Rrhc6WS5+0JeOFLm+IO5eMOsX3qJc+nJiufgQOgVzSUAW
0Layy8kkFkVHdqvKtzTIYln3wDtiixII9OW8czKJxeBgnrw5iXQZsax74EWxR5qfSHrrZGB0r34kKmZ0
Svau63CKCWpJsggsYCfLugfeWCcoWZxNjhA3etb24SXTo1aniHF+6+G6iMsKx+QxjPsIEjDphhSuzZIN
KI2rUjoiTL3QIjSw33JE87ynQfSul0XjvSIbEY9hHcu6h6HDoDTxr/CL6tnjDYU0vNCPH6XbOJQe11Y8
st3hMWa1p5FyOf4Zh7qDVQSzwsVs/v763c1hfwAL2aEK/4MXYSaH/R3YNBujBXBsP0/HBBlhbOFoKXyO
yNdgA4e4g0rE2+t46Bik8LBr0DcgNd+gDgbp8LB74CoWhcpgGf+dNFAnj7T4bxQAfgH5yZY48wlUiAAA
AABJRU5ErkJggg==
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAOfSURBVFhH1VdNb1VFGH6K5pILlnKJQkCUBaYCQhrKghAS
f4ArlySsWODCuHLBSsOGDYQo/TozV2toKDQpH9eSlgQJtFVvJaGtBQpJWz4qH35U1NQPpPeemTnkHe6c
3vPScm7lduGTPEnvzPs+z3tm3jlnCvxfYQRqAomAaCRq+fy8Q0t84grQAh6fn1cEabz+m8SUK2CiETnz
Gap53LzBePiYjKfq8YBoV0HiEI+bFwSNeOmhxJ/26TuW9erTqR76+28P/wRpVPH4ssMIfGDN05jM39zy
Y/7WlvvBIUwWVmE/jy87pgR+JTOVWfJ18GB7QNSZpd009kjiDx5fVhiB3WQ0KfBvfnTTD64A/8bm8b8O
4mHhSH7I88qGvId79ulPTT99uAqnKm0v5CQmeN6cYZqxykhsMx52GIE9WqJJC3SRwcheKH9k4xgvwB+r
GaG5wnuhi3Io12qQVjNWcR8LI7FVC3yqm5AJJAbcsZqNqr3yG27uaOdmyHEsaA+QF3kage3gQcXMpyvu
BkcSvTpTdVZ3r74QDK0b4Kac6vvqQXXu1T6VqbqoDieGc+mKCa5bTHqltrsfuuvlHtX/Rp9/p/Y2F35e
5m5v/kVdWttPHqGfRLvdBi3QGg52pHp4ctnYkeoNfQRaI72gJb4IJ6mjefJzUp1cEvYHeUXMHbQHEe7P
8cpeLvJfqU5UfhuaexDcNwItUOeC1bFFs3Z8qVRti7JFy17H/WaEFjgwXUQyy0VLpTqa7CsyP8B9ngkt
sS8s4sull7h4HHXnK51Fe76P65cEJXHZFtCa/I4bxNGuHOUKDHHdkkE3HStyZvmce0GfXXGecunmxHVL
gvkcy8It6F97mRvEUQ1WX3T5gYcU14+FkXjbCeRGa37mBnHMj9faLyeRPkZcPxZG4H1r3lDxExcn+lfe
vK6aFwxZDm8Y5PO2CK/CFmEkdnH9WOgmNNjlb0lExP2r60fV4cTVcHndNrUkssG1DZGPlWpJ2GM45yNI
0AJfWeHTKduA1vjYwsGIqUCf8hC+5azZ0eQFNfyWLVp3pGwjaolOrh8LX2LcmmTXZFXb4umGkgh8gRtB
Gu+6WCPwjpK4EimkLdlNuYX4W1H1GAR78WKxWMgnt9/3eLyDEdjpCn+Kx/ECj58VRmITFzASH/G4mUBG
dDF91IjfI/keNvLYZ8Ilag/1pg4L+Xwc6A5IzTcu4ZMOn4+FkVhpmvAaH58r6D9n0uLjDo8BuL+WMi8K
e6EAAAAASUVORK5CYII=
</value>
</data>
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">