### 2021-02-13更新

------
#### SuperDesign    V2.0.2102.0101
*.[更换]更换高亮控件。
*.[新增]打包时可以依据项目来决定是否混淆。
This commit is contained in:
鑫Intel 2021-02-13 09:17:49 +08:00
parent e9f5ca3c3c
commit abae178120
35 changed files with 1783 additions and 1616 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup></configuration>

Binary file not shown.

View File

@ -1,7 +1,20 @@
### 2020-12-15更新 ### 2021-02-13更新
------
#### SuperDesign V2.0.2102.0101
*.[更换]更换高亮控件。
*.[新增]打包时可以依据项目来决定是否混淆。
### 2020-12-17更新
------
#### SuperDesign V2.0.2012.1701
- *.[改进]当以json模式post数据时,自动转码json中的中文。
- *.[改进]修复json查看器括号折叠不正确的BUG。
### 2020-12-15更新
------ ------
#### SuperDesign V2.0.2012.1501 #### SuperDesign V2.0.2012.1501
*.[修复]修复部分情况下打包时无法识别软件路径从而无法识别版本号的BUG。 - *.[修复]修复部分情况下打包时无法识别软件路径从而无法识别版本号的BUG。
### 2020-12-10更新 ### 2020-12-10更新
------ ------
#### SuperDesign V2.0.2012.1001 #### SuperDesign V2.0.2012.1001

View File

@ -1,142 +1,137 @@
using ICSharpCode.TextEditor; using System;
using System; using System.Collections.Generic;
using System.Collections.Generic; using System.ComponentModel;
using System.ComponentModel; using System.Diagnostics;
using System.Diagnostics; using System.Linq;
using System.Linq; using System.Text;
using System.Text; using System.Threading;
using System.Threading; using System.Windows.Forms;
using System.Windows.Forms;
using XmlPad; namespace ryProcessManager.hezuo
{
namespace ryProcessManager.hezuo public partial class ContextMenuStripHighlightText : ContextMenuStrip
{ {
public partial class ContextMenuStripHighlightText : ContextMenuStrip public ContextMenuStripHighlightText()
{ {
public ContextMenuStripHighlightText() InitializeComponent();
{ AddMenu("撤销", "undo").Click += Undo_Click;
InitializeComponent(); AddMenu("重做", "redo").Click += Redo_Click;
AddMenu("撤销", "undo").Click += Undo_Click; AddSeparatorMenu();
AddMenu("重做", "redo").Click += Redo_Click; AddMenu("剪切", "cut").Click += Cut_Click;
AddSeparatorMenu(); AddMenu("复制", "copy").Click += Copy_Click;
AddMenu("剪切", "cut").Click += Cut_Click; AddMenu("粘贴", "paste").Click += Paste_Click;
AddMenu("复制", "copy").Click += Copy_Click; AddMenu("删除", "del").Click += Del_Click;
AddMenu("粘贴", "paste").Click += Paste_Click; AddMenu("全选", "selectall").Click += SelectAll_Click;
AddMenu("删除", "del").Click += Del_Click; AddMenu("查找", "find").Click += Find_Click;
AddMenu("全选", "selectall").Click += SelectAll_Click; }
AddMenu("查找", "find").Click += Find_Click; private void Find_Click(object sender, EventArgs e)
} {
private void Find_Click(object sender, EventArgs e) if (!(base.SourceControl is FastColoredTextBoxNS.FastColoredTextBox)) { return; }
{ var rich_txt = (FastColoredTextBoxNS.FastColoredTextBox)base.SourceControl;
if (!(base.SourceControl is ICSharpCode.TextEditor.TextEditorControl)) { return; } rich_txt.ShowFindDialog();
var rich_txt = (ICSharpCode.TextEditor.TextEditorControl)base.SourceControl; }
FindAndReplaceForm _findForm = new FindAndReplaceForm(); private void SelectAll_Click(object sender, EventArgs e)
TextEditorControl editor = rich_txt; {
if (editor == null) return; if (!(base.SourceControl is FastColoredTextBoxNS.FastColoredTextBox)) { return; }
_findForm.ShowFor(editor, false); var rich_txt = (FastColoredTextBoxNS.FastColoredTextBox)base.SourceControl;
_findForm.ReplaceMode = false; rich_txt.SelectAll();
} //Thread th = new Thread(sendkey);
private void SelectAll_Click(object sender, EventArgs e) //th.Start();
{ //void sendkey()
if (!(base.SourceControl is ICSharpCode.TextEditor.TextEditorControl)) { return; } //{
//var rich_txt = (ICSharpCode.TextEditor.TextEditorControl)base.SourceControl; // Thread.Sleep(100);
Thread th = new Thread(sendkey); // this.Invoke(new Action(() =>
th.Start(); // {
void sendkey() // SendKeys.SendWait("^a");
{ // }));
Thread.Sleep(100); //}
this.Invoke(new Action(() => }
{ private void Undo_Click(object sender, EventArgs e)
SendKeys.SendWait("^a"); {
})); if(!(base.SourceControl is FastColoredTextBoxNS.FastColoredTextBox)) { return; }
} var rich_txt = (FastColoredTextBoxNS.FastColoredTextBox)base.SourceControl;
} rich_txt.Undo();
private void Undo_Click(object sender, EventArgs e) }
{ private void Redo_Click(object sender, EventArgs e)
if(!(base.SourceControl is ICSharpCode.TextEditor.TextEditorControl)) { return; } {
var rich_txt = (ICSharpCode.TextEditor.TextEditorControl)base.SourceControl; if (!(base.SourceControl is FastColoredTextBoxNS.FastColoredTextBox)) { return; }
rich_txt.Undo(); var rich_txt = (FastColoredTextBoxNS.FastColoredTextBox)base.SourceControl;
} rich_txt.Redo();
private void Redo_Click(object sender, EventArgs e) }
{ private void Cut_Click(object sender, EventArgs e)
if (!(base.SourceControl is ICSharpCode.TextEditor.TextEditorControl)) { return; } {
var rich_txt = (ICSharpCode.TextEditor.TextEditorControl)base.SourceControl; if (!(base.SourceControl is FastColoredTextBoxNS.FastColoredTextBox)) { return; }
rich_txt.Redo(); var rich_txt = (FastColoredTextBoxNS.FastColoredTextBox)base.SourceControl;
} rich_txt.Cut();
private void Cut_Click(object sender, EventArgs e) }
{ private void Copy_Click(object sender, EventArgs e)
if (!(base.SourceControl is ICSharpCode.TextEditor.TextEditorControl)) { return; } {
var rich_txt = (ICSharpCode.TextEditor.TextEditorControl)base.SourceControl; if (!(base.SourceControl is FastColoredTextBoxNS.FastColoredTextBox)) { return; }
ryCommon.RyFiles.CopyToClip(rich_txt.ActiveTextAreaControl.SelectionManager.SelectedText); var rich_txt = (FastColoredTextBoxNS.FastColoredTextBox)base.SourceControl;
rich_txt.ActiveTextAreaControl.TextArea.InsertString(""); var ss = rich_txt.SelectedText;
} rich_txt.Copy();
private void Copy_Click(object sender, EventArgs e) }
{ private void Paste_Click(object sender, EventArgs e)
if (!(base.SourceControl is ICSharpCode.TextEditor.TextEditorControl)) { return; } {
var rich_txt = (ICSharpCode.TextEditor.TextEditorControl)base.SourceControl; if (!(base.SourceControl is FastColoredTextBoxNS.FastColoredTextBox)) { return; }
ryCommon.RyFiles.CopyToClip(rich_txt.ActiveTextAreaControl.SelectionManager.SelectedText); var rich_txt = (FastColoredTextBoxNS.FastColoredTextBox)base.SourceControl;
} rich_txt.Paste();
private void Paste_Click(object sender, EventArgs e) }
{ private void Del_Click(object sender, EventArgs e)
if (!(base.SourceControl is ICSharpCode.TextEditor.TextEditorControl)) { return; } {
var rich_txt = (ICSharpCode.TextEditor.TextEditorControl)base.SourceControl; if (!(base.SourceControl is FastColoredTextBoxNS.FastColoredTextBox)) { return; }
rich_txt.ActiveTextAreaControl.TextArea.InsertString(Clipboard.GetText().Replace("\r\n", "\r").Replace("\r", "\r\n")); var rich_txt = (FastColoredTextBoxNS.FastColoredTextBox)base.SourceControl;
} rich_txt.SelectedText="";
private void Del_Click(object sender, EventArgs e) }
{ public ToolStripSeparator AddSeparatorMenu()
if (!(base.SourceControl is ICSharpCode.TextEditor.TextEditorControl)) { return; } {
var rich_txt = (ICSharpCode.TextEditor.TextEditorControl)base.SourceControl; ToolStripSeparator item = new ToolStripSeparator();
rich_txt.ActiveTextAreaControl.TextArea.InsertString(""); base.Items.Add(item);
} return item;
public ToolStripSeparator AddSeparatorMenu() }
{ public ToolStripMenuItem AddMenu(string name, string tag)
ToolStripSeparator item = new ToolStripSeparator(); {
base.Items.Add(item); ToolStripMenuItem item = new ToolStripMenuItem(name)
return item; {
} Tag = tag
public ToolStripMenuItem AddMenu(string name, string tag) };
{ base.Items.Add(item);
ToolStripMenuItem item = new ToolStripMenuItem(name) return item;
{ }
Tag = tag
}; private void ContextMenuStripRichText_Opening(object sender, CancelEventArgs e)
base.Items.Add(item); {
return item; if (!(base.SourceControl is FastColoredTextBoxNS.FastColoredTextBox)) { return; }
} var rich_txt = (FastColoredTextBoxNS.FastColoredTextBox)base.SourceControl;
for (int i = 0; i < base.Items.Count; i++)
private void ContextMenuStripRichText_Opening(object sender, CancelEventArgs e) {
{ var item = base.Items[i];
if (!(base.SourceControl is ICSharpCode.TextEditor.TextEditorControl)) { return; } if (item.Tag == null) { continue; }
var rich_txt = (ICSharpCode.TextEditor.TextEditorControl)base.SourceControl; switch(item.Tag.ToString())
for (int i = 0; i < base.Items.Count; i++) {
{ case "undo":
var item = base.Items[i]; item.Enabled = rich_txt.UndoEnabled && !rich_txt.ReadOnly;
if (item.Tag == null) { continue; } break;
switch(item.Tag.ToString()) case "redo":
{ item.Enabled = rich_txt.RedoEnabled && !rich_txt.ReadOnly;
case "undo": break;
item.Enabled = rich_txt.EnableUndo; case "cut":
break; item.Enabled = (rich_txt.SelectedText != "" && !rich_txt.ReadOnly) ? true : false;
case "redo": break;
item.Enabled = rich_txt.EnableRedo; case "copy":
break; item.Enabled = rich_txt.SelectedText != "" ? true : false;
case "cut": break;
item.Enabled = (rich_txt.ActiveTextAreaControl.SelectionManager.SelectedText != "" && !rich_txt.IsReadOnly) ? true : false; case "paste":
break; item.Enabled = !rich_txt.ReadOnly;
case "copy": break;
item.Enabled = rich_txt.ActiveTextAreaControl.SelectionManager.SelectedText != "" ? true : false; case "del":
break; item.Enabled =(rich_txt.SelectedText != "" && !rich_txt.ReadOnly) ? true : false;
case "paste": break;
item.Enabled = !rich_txt.IsReadOnly; case "selectall":
break; item.Enabled = rich_txt.SelectedText != rich_txt.Text ? true : false;
case "del": break;
item.Enabled =(rich_txt.ActiveTextAreaControl.SelectionManager.SelectedText != "" && !rich_txt.IsReadOnly) ? true : false; }
break; }
case "selectall": }
item.Enabled = rich_txt.ActiveTextAreaControl.SelectionManager.SelectedText != rich_txt.Text ? true : false; }
break; }
}
}
}
}
}

View File

@ -21,8 +21,8 @@ namespace XmlPad
} }
TextEditorSearcher _search; TextEditorSearcher _search;
TextEditorControl _editor; FastColoredTextBoxNS.FastColoredTextBox _editor;
TextEditorControl Editor FastColoredTextBoxNS.FastColoredTextBox Editor
{ {
get { return _editor; } get { return _editor; }
set set
@ -43,7 +43,7 @@ namespace XmlPad
this.Text = text; this.Text = text;
} }
public void ShowFor(TextEditorControl editor, bool replaceMode) public void ShowFor(FastColoredTextBoxNS.FastColoredTextBox editor, bool replaceMode)
{ {
Editor = editor; Editor = editor;

View File

@ -1,6 +1,5 @@
using DotNet4.Utilities; using DotNet4.Utilities;
using HtmlAgilityPack; using HtmlAgilityPack;
using ICSharpCode.TextEditor.Document;
using Microsoft.Win32; using Microsoft.Win32;
using ryCommon; using ryCommon;
using ryCommonDb; using ryCommonDb;

View File

@ -468,6 +468,7 @@ namespace 开发辅助工具.Manager
ryCommon.Ini ini = new ryCommon.Ini(bf_folder + "\\查看项目.ryp"); ryCommon.Ini ini = new ryCommon.Ini(bf_folder + "\\查看项目.ryp");
var eng_name = ini.ReadIni("project", "engname"); var eng_name = ini.ReadIni("project", "engname");
var proglang = ini.ReadIni("project", "proglang"); var proglang = ini.ReadIni("project", "proglang");
var confuse = ini.ReadIni("project", "confuse",1);
var ouput_folder = bf_folder + "\\Bin\\" + com_mode + "\\" + eng_name; var ouput_folder = bf_folder + "\\Bin\\" + com_mode + "\\" + eng_name;
if(!System.IO.Directory.Exists(ouput_folder)) if(!System.IO.Directory.Exists(ouput_folder))
{ {
@ -479,7 +480,7 @@ namespace 开发辅助工具.Manager
FileVersionInfo fileVerInfo = System.Diagnostics.FileVersionInfo.GetVersionInfo(ouput_folder + "\\" + eng_name + ".exe"); FileVersionInfo fileVerInfo = System.Diagnostics.FileVersionInfo.GetVersionInfo(ouput_folder + "\\" + eng_name + ".exe");
file_ver = fileVerInfo.ProductVersion; file_ver = fileVerInfo.ProductVersion;
} }
if (proglang == "c#") if (proglang == "c#" && confuse==1)
{ {
ShowState("正在进行混淆..."); ShowState("正在进行混淆...");
if (System.IO.File.Exists(bf_folder + "\\Bin\\混淆_" + com_mode + ".nrproj")) if (System.IO.File.Exists(bf_folder + "\\Bin\\混淆_" + com_mode + ".nrproj"))
@ -487,11 +488,11 @@ namespace 开发辅助工具.Manager
var cmd = Read_Prog(ReactorPath, "-project \"" + bf_folder + "\\Bin\\混淆_" + com_mode + ".nrproj\""); var cmd = Read_Prog(ReactorPath, "-project \"" + bf_folder + "\\Bin\\混淆_" + com_mode + ".nrproj\"");
MessageBox.Show(cmd, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(cmd, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
ShowState("正在清理不重要的缓存...");
ryCommon.RyFiles.DeleteFile(ouput_folder + "\\Secure\\*.pdb");
ShowState("复制混淆文件到底包目录...");
ryCommon.RyFiles.CopyFile(ouput_folder + "\\Secure\\*", bf_folder + "\\Publish\\OriginalFiles\\");
} }
ShowState("正在清理不重要的缓存...");
ryCommon.RyFiles.DeleteFile(ouput_folder + "\\Secure\\*.pdb");
ShowState("复制混淆文件到底包目录...");
ryCommon.RyFiles.CopyFile(ouput_folder + "\\Secure\\*", bf_folder + "\\Publish\\OriginalFiles\\");
#region #region
ShowState("复制自定义规则文件到底包目录..."); ShowState("复制自定义规则文件到底包目录...");
var Publish = ryCommon.RyFiles.ReadAllLines(bf_folder + "\\Publish\\Publish.set"); var Publish = ryCommon.RyFiles.ReadAllLines(bf_folder + "\\Publish\\Publish.set");
@ -533,6 +534,8 @@ namespace 开发辅助工具.Manager
} }
#endregion #endregion
ShowState("正在打包..."); ShowState("正在打包...");
if (System.IO.File.Exists(bf_folder + "\\Publish\\Green\\" + eng_name + ".zip"))
{ RyFiles.DeleteFile(bf_folder + "\\Publish\\Green\\" + eng_name + ".zip"); }
var cmd2 = Read_Prog(WinRARPath, "-r -ep1 a \"" + bf_folder + "\\Publish\\Green\\" + eng_name + ".zip\" \"" + bf_folder + "\\Publish\\OriginalFiles\\\""); var cmd2 = Read_Prog(WinRARPath, "-r -ep1 a \"" + bf_folder + "\\Publish\\Green\\" + eng_name + ".zip\" \"" + bf_folder + "\\Publish\\OriginalFiles\\\"");
RyFiles.CopyFile(bf_folder + "\\Publish\\Green\\" + eng_name + ".zip", bf_folder + "\\Publish\\Green\\HistoryVer\\" + eng_name + "_" + file_ver + ".zip"); RyFiles.CopyFile(bf_folder + "\\Publish\\Green\\" + eng_name + ".zip", bf_folder + "\\Publish\\Green\\HistoryVer\\" + eng_name + "_" + file_ver + ".zip");
ShowState("打包完成..."); ShowState("打包完成...");

View File

@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号 // 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
// 方法是按如下所示使用“*”: : // 方法是按如下所示使用“*”: :
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2.0.2012.1701")] [assembly: AssemblyVersion("2.0.2102.0101")]
[assembly: AssemblyFileVersion("2.0.2012.1701")] [assembly: AssemblyFileVersion("2.0.2102.0101")]

View File

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

View File

@ -1,26 +1,26 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// 此代码由工具生成。 // 此代码由工具生成。
// 运行时版本:4.0.30319.42000 // 运行时版本:4.0.30319.42000
// //
// 对此文件的更改可能会导致不正确的行为,并且如果 // 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。 // 重新生成代码,这些更改将会丢失。
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace SuperDesign.Properties { namespace SuperDesign.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.8.1.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.8.1.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default { public static Settings Default {
get { get {
return defaultInstance; return defaultInstance;
} }
} }
} }
} }

View File

@ -8,8 +8,9 @@
<OutputType>WinExe</OutputType> <OutputType>WinExe</OutputType>
<RootNamespace>SuperDesign</RootNamespace> <RootNamespace>SuperDesign</RootNamespace>
<AssemblyName>SuperDesign</AssemblyName> <AssemblyName>SuperDesign</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>x86</PlatformTarget> <PlatformTarget>x86</PlatformTarget>
@ -20,6 +21,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants> <DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
@ -29,17 +31,19 @@
<DefineConstants>TRACE</DefineConstants> <DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<ApplicationIcon>gaim_48px_29650_easyicon.net.ico</ApplicationIcon> <ApplicationIcon>gaim_48px_29650_easyicon.net.ico</ApplicationIcon>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="FastColoredTextBox, Version=2.7.2.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\Bin\Debug\SuperDesign\FastColoredTextBox.dll</HintPath>
</Reference>
<Reference Include="HtmlAgilityPack"> <Reference Include="HtmlAgilityPack">
<HintPath>..\..\Bin\Debug\SupperDesign\HtmlAgilityPack.dll</HintPath> <HintPath>..\..\Bin\Debug\SupperDesign\HtmlAgilityPack.dll</HintPath>
</Reference> </Reference>
<Reference Include="ICSharpCode.TextEditor">
<HintPath>..\..\Bin\Debug\SupperDesign\ICSharpCode.TextEditor.dll</HintPath>
</Reference>
<Reference Include="MGdUI"> <Reference Include="MGdUI">
<HintPath>..\..\Bin\Debug\SupperDesign\MGdUI.dll</HintPath> <HintPath>..\..\Bin\Debug\SupperDesign\MGdUI.dll</HintPath>
</Reference> </Reference>
@ -99,12 +103,6 @@
<Compile Include="Controls\ContextMenuStripRichText.Designer.cs"> <Compile Include="Controls\ContextMenuStripRichText.Designer.cs">
<DependentUpon>ContextMenuStripRichText.cs</DependentUpon> <DependentUpon>ContextMenuStripRichText.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Controls\FindAndReplaceForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Controls\FindAndReplaceForm.designer.cs">
<DependentUpon>FindAndReplaceForm.cs</DependentUpon>
</Compile>
<Compile Include="Controls\FrmInsertUnixTime.cs"> <Compile Include="Controls\FrmInsertUnixTime.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
@ -129,7 +127,6 @@
<Compile Include="Controls\MenuRight.Designer.cs"> <Compile Include="Controls\MenuRight.Designer.cs">
<DependentUpon>MenuRight.cs</DependentUpon> <DependentUpon>MenuRight.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Controls\MingFolding.cs" />
<Compile Include="Form1.cs"> <Compile Include="Form1.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
@ -279,9 +276,6 @@
<EmbeddedResource Include="Controls\ContextMenuStripRichText.resx"> <EmbeddedResource Include="Controls\ContextMenuStripRichText.resx">
<DependentUpon>ContextMenuStripRichText.cs</DependentUpon> <DependentUpon>ContextMenuStripRichText.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Controls\FindAndReplaceForm.resx">
<DependentUpon>FindAndReplaceForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Controls\FrmInsertUnixTime.resx"> <EmbeddedResource Include="Controls\FrmInsertUnixTime.resx">
<DependentUpon>FrmInsertUnixTime.cs</DependentUpon> <DependentUpon>FrmInsertUnixTime.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
@ -367,6 +361,7 @@
<EmbeddedResource Include="Tools\FrmXpath.resx"> <EmbeddedResource Include="Tools\FrmXpath.resx">
<DependentUpon>FrmXpath.cs</DependentUpon> <DependentUpon>FrmXpath.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<None Include="app.config" />
<None Include="Properties\Settings.settings"> <None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator> <Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput> <LastGenOutput>Settings.Designer.cs</LastGenOutput>

View File

@ -1,38 +1,37 @@
namespace .Tools namespace .Tools
{ {
partial class FrmJson partial class FrmJson
{ {
/// <summary> /// <summary>
/// Required designer variable. /// Required designer variable.
/// </summary> /// </summary>
private System.ComponentModel.IContainer components = null; private System.ComponentModel.IContainer components = null;
/// <summary> /// <summary>
/// Clean up any resources being used. /// Clean up any resources being used.
/// </summary> /// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing) protected override void Dispose(bool disposing)
{ {
if (disposing && (components != null)) if (disposing && (components != null))
{ {
components.Dispose(); components.Dispose();
} }
base.Dispose(disposing); base.Dispose(disposing);
} }
#region Windows Form Designer generated code #region Windows Form Designer generated code
/// <summary> /// <summary>
/// Required method for Designer support - do not modify /// Required method for Designer support - do not modify
/// the contents of this method with the code editor. /// the contents of this method with the code editor.
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
this.components = new System.ComponentModel.Container(); this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmJson)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmJson));
this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.textEditorControl1 = new ICSharpCode.TextEditor.TextEditorControl(); this.textEditorControl1 = new FastColoredTextBoxNS.FastColoredTextBox();
this.contextMenuStripHighlightText1 = new ryProcessManager.hezuo.ContextMenuStripHighlightText();
this.treeView1 = new System.Windows.Forms.TreeView(); this.treeView1 = new System.Windows.Forms.TreeView();
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
this.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@ -40,6 +39,7 @@
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripMenuItem1 = 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.contextMenuStripHighlightText1 = new ryProcessManager.hezuo.ContextMenuStripHighlightText();
this.toolStrip1 = new System.Windows.Forms.ToolStrip(); this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.BtnFormat = new System.Windows.Forms.ToolStripButton(); this.BtnFormat = new System.Windows.Forms.ToolStripButton();
this.BtnPasteJson = new System.Windows.Forms.ToolStripButton(); this.BtnPasteJson = new System.Windows.Forms.ToolStripButton();
@ -70,22 +70,16 @@
this.splitContainer1.Size = new System.Drawing.Size(800, 491); this.splitContainer1.Size = new System.Drawing.Size(800, 491);
this.splitContainer1.SplitterDistance = 400; this.splitContainer1.SplitterDistance = 400;
this.splitContainer1.TabIndex = 0; this.splitContainer1.TabIndex = 0;
// this.textEditorControl1.AutoScrollMinSize = new System.Drawing.Size(27, 14);
// textEditorControl1 this.textEditorControl1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
//
this.textEditorControl1.ContextMenuStrip = this.contextMenuStripHighlightText1; this.textEditorControl1.ContextMenuStrip = this.contextMenuStripHighlightText1;
this.textEditorControl1.Cursor = System.Windows.Forms.Cursors.IBeam;
this.textEditorControl1.Dock = System.Windows.Forms.DockStyle.Fill; this.textEditorControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.textEditorControl1.IsReadOnly = false; this.textEditorControl1.Font = new System.Drawing.Font("Courier New", 9.75F);
this.textEditorControl1.Location = new System.Drawing.Point(0, 0); this.textEditorControl1.Location = new System.Drawing.Point(0, 0);
this.textEditorControl1.Name = "textEditorControl1"; this.textEditorControl1.Name = "textEditorControl1";
this.textEditorControl1.Size = new System.Drawing.Size(400, 491); this.textEditorControl1.Size = new System.Drawing.Size(400, 491);
this.textEditorControl1.TabIndex = 22; this.textEditorControl1.TabIndex = 23;
this.textEditorControl1.TextChanged += new System.EventHandler(this.textEditorControl1_TextChanged);
//
// contextMenuStripHighlightText1
//
this.contextMenuStripHighlightText1.Name = "contextMenuStripHighlightText1";
this.contextMenuStripHighlightText1.Size = new System.Drawing.Size(101, 186);
// //
// treeView1 // treeView1
// //
@ -145,6 +139,11 @@
this.ToolStripMenuItem.Text = "折叠"; this.ToolStripMenuItem.Text = "折叠";
this.ToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItem_Click); this.ToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItem_Click);
// //
// contextMenuStripHighlightText1
//
this.contextMenuStripHighlightText1.Name = "contextMenuStripHighlightText1";
this.contextMenuStripHighlightText1.Size = new System.Drawing.Size(101, 186);
//
// toolStrip1 // toolStrip1
// //
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
@ -226,25 +225,25 @@
this.ResumeLayout(false); this.ResumeLayout(false);
this.PerformLayout(); this.PerformLayout();
} }
#endregion #endregion
private System.Windows.Forms.SplitContainer splitContainer1; private System.Windows.Forms.SplitContainer splitContainer1;
private ICSharpCode.TextEditor.TextEditorControl textEditorControl1; private System.Windows.Forms.TreeView treeView1;
private System.Windows.Forms.TreeView treeView1; private ryProcessManager.hezuo.ContextMenuStripHighlightText contextMenuStripHighlightText1;
private ryProcessManager.hezuo.ContextMenuStripHighlightText contextMenuStripHighlightText1; private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;
private System.Windows.Forms.ContextMenuStrip contextMenuStrip1; 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.ToolStrip toolStrip1;
private System.Windows.Forms.ToolStrip toolStrip1; private System.Windows.Forms.ToolStripButton BtnFormat;
private System.Windows.Forms.ToolStripButton BtnFormat; private System.Windows.Forms.ToolStripButton BtnPasteJson;
private System.Windows.Forms.ToolStripButton BtnPasteJson; private System.Windows.Forms.ToolStripButton BtnCopyJson;
private System.Windows.Forms.ToolStripButton BtnCopyJson; private ryPaiban.Model.MenuRight menuRight1;
private ryPaiban.Model.MenuRight menuRight1; private System.Windows.Forms.ToolStripSeparator toolStripMenuItem1;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem1; private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem; private System.Windows.Forms.ToolStripButton CopyJsonByCHS;
private System.Windows.Forms.ToolStripButton CopyJsonByCHS; private FastColoredTextBoxNS.FastColoredTextBox textEditorControl1;
} }
} }

View File

@ -1,4 +1,4 @@
using ICSharpCode.TextEditor.Document; using FastColoredTextBoxNS;
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using System; using System;
@ -8,6 +8,7 @@ using System.Data;
using System.Drawing; using System.Drawing;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms; using System.Windows.Forms;
using WeifenLuo.WinFormsUI.Docking; using WeifenLuo.WinFormsUI.Docking;
@ -18,7 +19,51 @@ namespace 开发辅助工具.Tools
public FrmJson() public FrmJson()
{ {
InitializeComponent(); InitializeComponent();
textEditorControl1.Document.FoldingManager.FoldingStrategy = new JackWangCUMT.WinForm.MingFolding(); textEditorControl1.ClearStylesBuffer();
textEditorControl1.Range.ClearStyle(StyleIndex.All);
textEditorControl1.AddStyle(new MarkerStyle(new SolidBrush(Color.FromArgb(40, Color.Gray))));
textEditorControl1.AutoIndentNeeded -= fctb_AutoIndentNeeded;
textEditorControl1.Language = Language.JSON;
textEditorControl1.OnSyntaxHighlight(new TextChangedEventArgs(textEditorControl1.Range));
}
private void fctb_AutoIndentNeeded(object sender, AutoIndentEventArgs args)
{
//block {}
if (Regex.IsMatch(args.LineText, @"^[^""']*\{.*\}[^""']*$"))
return;
//start of block {}
if (Regex.IsMatch(args.LineText, @"^[^""']*\{"))
{
args.ShiftNextLines = args.TabLength;
return;
}
//end of block {}
if (Regex.IsMatch(args.LineText, @"}[^""']*$"))
{
args.Shift = -args.TabLength;
args.ShiftNextLines = -args.TabLength;
return;
}
//label
if (Regex.IsMatch(args.LineText, @"^\s*\w+\s*:\s*($|//)") &&
!Regex.IsMatch(args.LineText, @"^\s*default\s*:"))
{
args.Shift = -args.TabLength;
return;
}
//some statements: case, default
if (Regex.IsMatch(args.LineText, @"^\s*(case|default)\b.*:\s*($|//)"))
{
args.Shift = -args.TabLength / 2;
return;
}
//is unclosed operator in previous line ?
if (Regex.IsMatch(args.PrevLineText, @"^\s*(if|for|foreach|while|[\}\s]*else)\b[^{]*$"))
if (!Regex.IsMatch(args.PrevLineText, @"(;\s*$)|(;\s*//)"))//operator is unclosed
{
args.Shift = args.TabLength;
return;
}
} }
private void LoadTreeList(TreeNodeCollection nodes,JObject jo) private void LoadTreeList(TreeNodeCollection nodes,JObject jo)
{ {
@ -66,15 +111,15 @@ namespace 开发辅助工具.Tools
} }
} }
} }
private void BtnFormat_Click(object sender, EventArgs e) private void Format(string text)
{ {
string json_text = textEditorControl1.Text; string json_text = text;
treeView1.Nodes.Clear(); treeView1.Nodes.Clear();
//if (Manager.Json.IsJson(json_text)) //if (Manager.Json.IsJson(json_text))
{ {
try try
{ {
textEditorControl1.Document.TextContent = Manager.Json.ConvertJsonString(json_text); textEditorControl1.Text = Manager.Json.ConvertJsonString(json_text);
textEditorControl1.Refresh(); textEditorControl1.Refresh();
JObject jo = null; JObject jo = null;
if (Manager.Json.IsArray(json_text)) if (Manager.Json.IsArray(json_text))
@ -106,7 +151,8 @@ namespace 开发辅助工具.Tools
node2.Tag = new JsonInfo() { name = item.Name, value = item.Value.ToString() }; node2.Tag = new JsonInfo() { name = item.Name, value = item.Value.ToString() };
Scan(node2.Nodes, (JObject)JsonConvert.DeserializeObject(item.Value.ToString())); Scan(node2.Nodes, (JObject)JsonConvert.DeserializeObject(item.Value.ToString()));
} }
else { else
{
var node = nodes.Add(item.Name + ":" + item.Value + "|" + item.Value.Type.ToString()); var node = nodes.Add(item.Name + ":" + item.Value + "|" + item.Value.Type.ToString());
node.Tag = new JsonInfo() { name = item.Name, value = item.Value.ToString() }; node.Tag = new JsonInfo() { name = item.Name, value = item.Value.ToString() };
} }
@ -165,7 +211,7 @@ namespace 开发辅助工具.Tools
// treeView1.Nodes.Add(jo..ToString()); // treeView1.Nodes.Add(jo..ToString());
//} //}
} }
catch(Exception ex) catch (Exception ex)
{ {
MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
@ -177,9 +223,13 @@ namespace 开发辅助工具.Tools
// textEditorControl1.Refresh(); // textEditorControl1.Refresh();
//} //}
} }
private void BtnFormat_Click(object sender, EventArgs e)
{
Format(textEditorControl1.Text);
}
public void LoadJson(string json_text) public void LoadJson(string json_text)
{ {
textEditorControl1.Document.TextContent = json_text; textEditorControl1.Text = json_text;
textEditorControl1.Refresh(); textEditorControl1.Refresh();
BtnFormat.PerformClick(); BtnFormat.PerformClick();
} }
@ -200,11 +250,7 @@ namespace 开发辅助工具.Tools
private void BtnPasteJson_Click(object sender, EventArgs e) private void BtnPasteJson_Click(object sender, EventArgs e)
{ {
textEditorControl1.BeginUpdate(); Format(Clipboard.GetText());
textEditorControl1.Document.TextContent = Clipboard.GetText();
textEditorControl1.Refresh();
textEditorControl1.EndUpdate();
BtnFormat.PerformClick();
} }
private void BtnCopyJson_Click(object sender, EventArgs e) private void BtnCopyJson_Click(object sender, EventArgs e)
@ -214,7 +260,6 @@ namespace 开发辅助工具.Tools
private void FrmJson_Load(object sender, EventArgs e) private void FrmJson_Load(object sender, EventArgs e)
{ {
textEditorControl1.Document.HighlightingStrategy = HighlightingStrategyFactory.CreateHighlightingStrategy("JSON");
} }
private void TreeView1_MouseDown(object sender, MouseEventArgs e) private void TreeView1_MouseDown(object sender, MouseEventArgs e)
@ -252,11 +297,6 @@ namespace 开发辅助工具.Tools
MessageBox.Show(ex.Message, "出错", MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show(ex.Message, "出错", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
} }
private void textEditorControl1_TextChanged(object sender, EventArgs e)
{
textEditorControl1.Document.FoldingManager.UpdateFoldings(null, null);
}
} }
public class JsonInfo public class JsonInfo
{ {

View File

@ -120,6 +120,7 @@
<metadata name="contextMenuStripHighlightText1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="contextMenuStripHighlightText1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value> <value>17, 17</value>
</metadata> </metadata>
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>262, 17</value> <value>262, 17</value>
</metadata> </metadata>

View File

@ -47,9 +47,9 @@
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.BtnUpdateVer = new ryControls.ButtonEx(); this.BtnUpdateVer = new ryControls.ButtonEx();
this.BtnUpdateDllVer = new ryControls.ButtonEx(); this.BtnUpdateDllVer = new ryControls.ButtonEx();
this.BtnRepairFolder = new ryControls.ButtonEx();
this.groupBox1 = new System.Windows.Forms.GroupBox(); this.groupBox1 = new System.Windows.Forms.GroupBox();
this.groupBox2 = new System.Windows.Forms.GroupBox(); this.groupBox2 = new System.Windows.Forms.GroupBox();
this.BtnRepairFolder = new ryControls.ButtonEx();
((System.ComponentModel.ISupportInitialize)(this.table1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.table1)).BeginInit();
this.groupBox1.SuspendLayout(); this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout(); this.groupBox2.SuspendLayout();
@ -235,6 +235,18 @@
this.BtnUpdateDllVer.UseVisualStyleBackColor = true; this.BtnUpdateDllVer.UseVisualStyleBackColor = true;
this.BtnUpdateDllVer.Click += new System.EventHandler(this.BtnUpdateDllVer_Click); this.BtnUpdateDllVer.Click += new System.EventHandler(this.BtnUpdateDllVer_Click);
// //
// BtnRepairFolder
//
this.BtnRepairFolder.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
this.BtnRepairFolder.Location = new System.Drawing.Point(531, 20);
this.BtnRepairFolder.Name = "BtnRepairFolder";
this.BtnRepairFolder.Size = new System.Drawing.Size(111, 34);
this.BtnRepairFolder.TabIndex = 30;
this.BtnRepairFolder.Text = "修复毕方文件结构";
this.toolTip1.SetToolTip(this.BtnRepairFolder, "将当前毕方项目中缺失的一些文件和文件夹进行重新创建。");
this.BtnRepairFolder.UseVisualStyleBackColor = true;
this.BtnRepairFolder.Click += new System.EventHandler(this.BtnRepairFolder_Click);
//
// groupBox1 // groupBox1
// //
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
@ -266,18 +278,6 @@
this.groupBox2.TabStop = false; this.groupBox2.TabStop = false;
this.groupBox2.Text = "快速代码"; this.groupBox2.Text = "快速代码";
// //
// BtnRepairFolder
//
this.BtnRepairFolder.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
this.BtnRepairFolder.Location = new System.Drawing.Point(531, 20);
this.BtnRepairFolder.Name = "BtnRepairFolder";
this.BtnRepairFolder.Size = new System.Drawing.Size(111, 34);
this.BtnRepairFolder.TabIndex = 30;
this.BtnRepairFolder.Text = "修复毕方文件结构";
this.toolTip1.SetToolTip(this.BtnRepairFolder, "将当前毕方项目中缺失的一些文件和文件夹进行重新创建。");
this.BtnRepairFolder.UseVisualStyleBackColor = true;
this.BtnRepairFolder.Click += new System.EventHandler(this.BtnRepairFolder_Click);
//
// FrmProject // FrmProject
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);

View File

@ -126,10 +126,4 @@
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>285, 17</value> <value>285, 17</value>
</metadata> </metadata>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>285, 17</value>
</metadata>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>285, 17</value>
</metadata>
</root> </root>

View File

@ -1,99 +1,101 @@
namespace .Tools namespace .Tools
{ {
partial class FrmStrCount partial class FrmStrCount
{ {
/// <summary> /// <summary>
/// Required designer variable. /// Required designer variable.
/// </summary> /// </summary>
private System.ComponentModel.IContainer components = null; private System.ComponentModel.IContainer components = null;
/// <summary> /// <summary>
/// Clean up any resources being used. /// Clean up any resources being used.
/// </summary> /// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing) protected override void Dispose(bool disposing)
{ {
if (disposing && (components != null)) if (disposing && (components != null))
{ {
components.Dispose(); components.Dispose();
} }
base.Dispose(disposing); base.Dispose(disposing);
} }
#region Windows Form Designer generated code #region Windows Form Designer generated code
/// <summary> /// <summary>
/// Required method for Designer support - do not modify /// Required method for Designer support - do not modify
/// the contents of this method with the code editor. /// the contents of this method with the code editor.
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
this.components = new System.ComponentModel.Container(); this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmStrCount)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmStrCount));
this.textEditorControl1 = new ICSharpCode.TextEditor.TextEditorControl(); this.contextMenuStripHighlightText1 = new ryProcessManager.hezuo.ContextMenuStripHighlightText();
this.contextMenuStripHighlightText1 = new ryProcessManager.hezuo.ContextMenuStripHighlightText(); this.menuRight1 = new ryPaiban.Model.MenuRight(this.components);
this.menuRight1 = new ryPaiban.Model.MenuRight(this.components); this.TxtFromCode = new ryControls.Controls.RichTextBox2();
this.TxtFromCode = new ryControls.Controls.RichTextBox2(); this.fastColoredTextBox1 = new FastColoredTextBoxNS.FastColoredTextBox();
this.SuspendLayout(); this.SuspendLayout();
// //
// textEditorControl1 // contextMenuStripHighlightText1
// //
this.textEditorControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.contextMenuStripHighlightText1.Name = "contextMenuStripHighlightText1";
| System.Windows.Forms.AnchorStyles.Left) this.contextMenuStripHighlightText1.Size = new System.Drawing.Size(101, 186);
| System.Windows.Forms.AnchorStyles.Right))); //
this.textEditorControl1.ContextMenuStrip = this.contextMenuStripHighlightText1; // menuRight1
this.textEditorControl1.IsReadOnly = false; //
this.textEditorControl1.Location = new System.Drawing.Point(12, 216); this.menuRight1.Name = "menuRight1";
this.textEditorControl1.Name = "textEditorControl1"; this.menuRight1.Size = new System.Drawing.Size(185, 92);
this.textEditorControl1.Size = new System.Drawing.Size(812, 267); this.menuRight1.SourceContent = this;
this.textEditorControl1.TabIndex = 19; //
// // TxtFromCode
// contextMenuStripHighlightText1 //
// this.TxtFromCode.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
this.contextMenuStripHighlightText1.Name = "contextMenuStripHighlightText1"; | System.Windows.Forms.AnchorStyles.Right)));
this.contextMenuStripHighlightText1.Size = new System.Drawing.Size(101, 186); this.TxtFromCode.BorderStyle = System.Windows.Forms.BorderStyle.None;
// this.TxtFromCode.DetectUrls = false;
// menuRight1 this.TxtFromCode.EmptyText = "请填写待计算的字符串";
// this.TxtFromCode.ForeColor = System.Drawing.Color.Black;
this.menuRight1.Name = "menuRight1"; this.TxtFromCode.Location = new System.Drawing.Point(12, 3);
this.menuRight1.Size = new System.Drawing.Size(173, 48); this.TxtFromCode.Name = "TxtFromCode";
this.menuRight1.SourceContent = this; this.TxtFromCode.OnlyInputText = true;
// this.TxtFromCode.Size = new System.Drawing.Size(812, 207);
// TxtFromCode this.TxtFromCode.TabIndex = 30;
// this.TxtFromCode.Text = "";
this.TxtFromCode.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) this.TxtFromCode.TextChanged += new System.EventHandler(this.TxtFromCode_TextChanged);
| System.Windows.Forms.AnchorStyles.Right))); //
this.TxtFromCode.BorderStyle = System.Windows.Forms.BorderStyle.None; // fastColoredTextBox1
this.TxtFromCode.DetectUrls = false; //
this.TxtFromCode.EmptyText = "请填写待计算的字符串"; this.fastColoredTextBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
this.TxtFromCode.ForeColor = System.Drawing.Color.Black; | System.Windows.Forms.AnchorStyles.Left)
this.TxtFromCode.Location = new System.Drawing.Point(12, 3); | System.Windows.Forms.AnchorStyles.Right)));
this.TxtFromCode.Name = "TxtFromCode"; this.fastColoredTextBox1.AutoScrollMinSize = new System.Drawing.Size(27, 14);
this.TxtFromCode.OnlyInputText = true; this.fastColoredTextBox1.ContextMenuStrip = this.contextMenuStripHighlightText1;
this.TxtFromCode.Size = new System.Drawing.Size(812, 207); this.fastColoredTextBox1.Cursor = System.Windows.Forms.Cursors.IBeam;
this.TxtFromCode.TabIndex = 30; this.fastColoredTextBox1.Font = new System.Drawing.Font("Courier New", 9.75F);
this.TxtFromCode.Text = ""; this.fastColoredTextBox1.Location = new System.Drawing.Point(12, 216);
this.TxtFromCode.TextChanged += new System.EventHandler(this.TxtFromCode_TextChanged); this.fastColoredTextBox1.Name = "fastColoredTextBox1";
// this.fastColoredTextBox1.Size = new System.Drawing.Size(812, 277);
// FrmStrCount this.fastColoredTextBox1.TabIndex = 31;
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); // FrmStrCount
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; //
this.ClientSize = new System.Drawing.Size(836, 495); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.Controls.Add(this.TxtFromCode); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.textEditorControl1); this.ClientSize = new System.Drawing.Size(836, 495);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Controls.Add(this.fastColoredTextBox1);
this.Name = "FrmStrCount"; this.Controls.Add(this.TxtFromCode);
this.TabPageContextMenuStrip = this.menuRight1; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Text = "字符串统计"; this.Name = "FrmStrCount";
this.ResumeLayout(false); this.TabPageContextMenuStrip = this.menuRight1;
this.Text = "字符串统计";
} this.ResumeLayout(false);
#endregion }
private ICSharpCode.TextEditor.TextEditorControl textEditorControl1;
private ryProcessManager.hezuo.ContextMenuStripHighlightText contextMenuStripHighlightText1; #endregion
private ryPaiban.Model.MenuRight menuRight1; private ryProcessManager.hezuo.ContextMenuStripHighlightText contextMenuStripHighlightText1;
private ryControls.Controls.RichTextBox2 TxtFromCode; private ryPaiban.Model.MenuRight menuRight1;
} private ryControls.Controls.RichTextBox2 TxtFromCode;
private FastColoredTextBoxNS.FastColoredTextBox fastColoredTextBox1;
}
} }

View File

@ -1,5 +1,4 @@
using ICSharpCode.TextEditor.Document; using System;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Data; using System.Data;
@ -16,7 +15,7 @@ namespace 开发辅助工具.Tools
public FrmStrCount() public FrmStrCount()
{ {
InitializeComponent(); InitializeComponent();
textEditorControl1.IsReadOnly = true; fastColoredTextBox1.ReadOnly = true;
} }
private void TxtFromCode_TextChanged(object sender, EventArgs e) private void TxtFromCode_TextChanged(object sender, EventArgs e)
@ -30,7 +29,7 @@ namespace 开发辅助工具.Tools
resultStr += "\r\n汉字数: " + HanziCount.ToString() + "个(汉字算一个字符)"; resultStr += "\r\n汉字数: " + HanziCount.ToString() + "个(汉字算一个字符)";
resultStr += "\r\n英文数量: " + engCount.ToString() + "个"; resultStr += "\r\n英文数量: " + engCount.ToString() + "个";
resultStr += "\r\n数字数量: " + NumCount.ToString() + "个"; resultStr += "\r\n数字数量: " + NumCount.ToString() + "个";
textEditorControl1.Text = resultStr; fastColoredTextBox1.Text = resultStr;
} }
} }
} }

View File

@ -1,194 +1,195 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<root> <root>
<!-- <!--
Microsoft ResX Schema Microsoft ResX Schema
Version 2.0 Version 2.0
The primary goals of this format is to allow a simple XML format The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes various data types are done through the TypeConverter classes
associated with the data types. associated with the data types.
Example: Example:
... ado.net/XML headers & schema ... ... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader> <resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader> <resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, 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="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="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value> <value>[base64 mime encoded serialized .NET Framework object]</value>
</data> </data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <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> <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment> <comment>This is a comment</comment>
</data> </data>
There are any number of "resheader" rows that contain simple There are any number of "resheader" rows that contain simple
name/value pairs. name/value pairs.
Each data row contains a name, and value. The row also contains a Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture. text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the Classes that don't support this are serialized and stored with the
mimetype set. mimetype set.
The mimetype is used for serialized objects, and tells the The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly: extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below. read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64 mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64 mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64 mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter : using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding. : 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: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:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata"> <xsd:element name="metadata">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" /> <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" /> <xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" /> <xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" /> <xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="assembly"> <xsd:element name="assembly">
<xsd:complexType> <xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" /> <xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" /> <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="data"> <xsd:element name="data">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <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:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="resheader"> <xsd:element name="resheader">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" /> <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:choice> </xsd:choice>
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:schema> </xsd:schema>
<resheader name="resmimetype"> <resheader name="resmimetype">
<value>text/microsoft-resx</value> <value>text/microsoft-resx</value>
</resheader> </resheader>
<resheader name="version"> <resheader name="version">
<value>2.0</value> <value>2.0</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<metadata name="contextMenuStripHighlightText1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="contextMenuStripHighlightText1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value> <value>17, 17</value>
</metadata> </metadata>
<metadata name="menuRight1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="menuRight1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>262, 17</value> <value>262, 17</value>
</metadata> </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"> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<value> <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
AAABAAEAIBwAAAEAIACYDgAAFgAAACgAAAAgAAAAOAAAAAEAIAAAAAAAAA4AAKdrAACnawAAAAAAAAAA <value>
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAABAAEAIBwAAAEAIACYDgAAFgAAACgAAAAgAAAAOAAAAAEAIAAAAAAAAA4AAKdrAACnawAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AKAAAABbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AKAAAABbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAsAAAA7AAAANgAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAsAAAA7AAAANgAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAIAAACUAAAA/wAAAHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAIAAACUAAAA/wAAAHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAADoAAAA2wAAACEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAADoAAAA2wAAACEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAI4AAAD/AAAAfwAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAI4AAAD/AAAAfwAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAOUAAADfAAAAJQAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAOUAAADfAAAAJQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAB6AAAAYgAAAAIAAAAAAAAAiQAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AP8AAACFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE4AAACGAAAAHgAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAB6AAAAYgAAAAIAAAAAAAAAiQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAArwAAAP8AAACvAAAABgAA AP8AAACFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE4AAACGAAAAHgAAAAAAAAAAAAAAAAAA
AAAAAAAoAAAA4gAAAOIAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjwAAAP8AAADDAAAANAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAArwAAAP8AAACvAAAABgAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAMwAAAD/AAAAtgAA AAAAAAAoAAAA4gAAAOIAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjwAAAP8AAADDAAAANAAA
ACgAAAAAAAAAAAAAAAAAAACDAAAA/wAAAIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAAoAAA 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 ABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAVgAAAOEAAAD/AAAAigAA
AG0AAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOQAA AAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoAAADSAAAA7wAAADkAAAAAAAAAAAAAAG0AAAD5AAAA7gAA
AL8AAACXAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG0AAAD/AAAAoAAAAAQAAAAAAAAAfAAA AG0AAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOQAA
AMsAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AL8AAACXAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG0AAAD/AAAAoAAAAAQAAAAAAAAAfAAA
AAAAAAAAAAAADgAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAM4AAADyAAAAPQAA AMsAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAIAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAADgAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAM4AAADyAAAAPQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZwAA AAAAAAAIAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AP8AAAClAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZwAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AP8AAAClAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAUAAAAyQAAAPQAAABCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAUAAAAyQAAAPQAAABCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAABiAAAA/wAAAKsAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAABiAAAA/wAAAKsAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAADEAAAA9gAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAADEAAAA9gAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAD/AAAAoQAAAAEAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAD/AAAAoQAAAAEAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAH8AAABXAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAH8AAABXAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8H////A////wH///8B AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
////AP///wD///wAeD/4AHAf8AAwD+AAMAfAABABgAAQAYAACAGAMA4BgDgEAYAIAAGADAABwAwAA/AO AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8H////A////wH///8B
AAf4DgAf/A8AP///AP///4B///+Af///wH///8B////gf///4P8= ////AP///wD///wAeD/4AHAf8AAwD+AAMAfAABABgAAQAYAACAGAMA4BgDgEAYAIAAGADAABwAwAA/AO
</value> AAf4DgAf/A8AP///AP///4B///+Af///wH///8B////gf///4P8=
</data> </value>
</data>
</root> </root>

View File

@ -1,158 +1,152 @@
namespace .Tools namespace .Tools
{ {
partial class FrmStrToCode partial class FrmStrToCode
{ {
/// <summary> /// <summary>
/// Required designer variable. /// Required designer variable.
/// </summary> /// </summary>
private System.ComponentModel.IContainer components = null; private System.ComponentModel.IContainer components = null;
/// <summary> /// <summary>
/// Clean up any resources being used. /// Clean up any resources being used.
/// </summary> /// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing) protected override void Dispose(bool disposing)
{ {
if (disposing && (components != null)) if (disposing && (components != null))
{ {
components.Dispose(); components.Dispose();
} }
base.Dispose(disposing); base.Dispose(disposing);
} }
#region Windows Form Designer generated code #region Windows Form Designer generated code
/// <summary> /// <summary>
/// Required method for Designer support - do not modify /// Required method for Designer support - do not modify
/// the contents of this method with the code editor. /// the contents of this method with the code editor.
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
this.components = new System.ComponentModel.Container(); this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmStrToCode)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmStrToCode));
this.RbStrToC = new System.Windows.Forms.RadioButton(); this.RbStrToC = new System.Windows.Forms.RadioButton();
this.RbStrToJS = new System.Windows.Forms.RadioButton(); this.RbStrToJS = new System.Windows.Forms.RadioButton();
this.RbStrToQuickJS = new System.Windows.Forms.RadioButton(); this.RbStrToQuickJS = new System.Windows.Forms.RadioButton();
this.textEditorControl1 = new ICSharpCode.TextEditor.TextEditorControl(); this.RbStrToASP = new System.Windows.Forms.RadioButton();
this.contextMenuStripHighlightText1 = new ryProcessManager.hezuo.ContextMenuStripHighlightText(); this.TxtFromCode = new ryControls.Controls.RichTextBox2();
this.RbStrToASP = new System.Windows.Forms.RadioButton(); this.fastColoredTextBox1 = new FastColoredTextBoxNS.FastColoredTextBox();
this.menuRight1 = new ryPaiban.Model.MenuRight(this.components); this.contextMenuStripHighlightText1 = new ryProcessManager.hezuo.ContextMenuStripHighlightText();
this.TxtFromCode = new ryControls.Controls.RichTextBox2(); this.SuspendLayout();
this.SuspendLayout(); //
// // RbStrToC
// RbStrToC //
// this.RbStrToC.AutoSize = true;
this.RbStrToC.AutoSize = true; this.RbStrToC.Checked = true;
this.RbStrToC.Checked = true; this.RbStrToC.Location = new System.Drawing.Point(12, 216);
this.RbStrToC.Location = new System.Drawing.Point(12, 216); this.RbStrToC.Name = "RbStrToC";
this.RbStrToC.Name = "RbStrToC"; this.RbStrToC.Size = new System.Drawing.Size(107, 16);
this.RbStrToC.Size = new System.Drawing.Size(107, 16); this.RbStrToC.TabIndex = 16;
this.RbStrToC.TabIndex = 16; this.RbStrToC.TabStop = true;
this.RbStrToC.TabStop = true; this.RbStrToC.Text = "字符串转C#代码";
this.RbStrToC.Text = "字符串转C#代码"; this.RbStrToC.UseVisualStyleBackColor = true;
this.RbStrToC.UseVisualStyleBackColor = true; this.RbStrToC.CheckedChanged += new System.EventHandler(this.RbStrToC_CheckedChanged);
this.RbStrToC.CheckedChanged += new System.EventHandler(this.RbStrToC_CheckedChanged); //
// // RbStrToJS
// RbStrToJS //
// this.RbStrToJS.AutoSize = true;
this.RbStrToJS.AutoSize = true; this.RbStrToJS.Location = new System.Drawing.Point(158, 216);
this.RbStrToJS.Location = new System.Drawing.Point(158, 216); this.RbStrToJS.Name = "RbStrToJS";
this.RbStrToJS.Name = "RbStrToJS"; this.RbStrToJS.Size = new System.Drawing.Size(107, 16);
this.RbStrToJS.Size = new System.Drawing.Size(107, 16); this.RbStrToJS.TabIndex = 17;
this.RbStrToJS.TabIndex = 17; this.RbStrToJS.Text = "字符串转JS代码";
this.RbStrToJS.Text = "字符串转JS代码"; this.RbStrToJS.UseVisualStyleBackColor = true;
this.RbStrToJS.UseVisualStyleBackColor = true; this.RbStrToJS.CheckedChanged += new System.EventHandler(this.RbStrToJS_CheckedChanged);
this.RbStrToJS.CheckedChanged += new System.EventHandler(this.RbStrToJS_CheckedChanged); //
// // RbStrToQuickJS
// RbStrToQuickJS //
// this.RbStrToQuickJS.AutoSize = true;
this.RbStrToQuickJS.AutoSize = true; this.RbStrToQuickJS.Location = new System.Drawing.Point(306, 216);
this.RbStrToQuickJS.Location = new System.Drawing.Point(306, 216); this.RbStrToQuickJS.Name = "RbStrToQuickJS";
this.RbStrToQuickJS.Name = "RbStrToQuickJS"; this.RbStrToQuickJS.Size = new System.Drawing.Size(131, 16);
this.RbStrToQuickJS.Size = new System.Drawing.Size(131, 16); this.RbStrToQuickJS.TabIndex = 18;
this.RbStrToQuickJS.TabIndex = 18; this.RbStrToQuickJS.Text = "字符串转极速JS代码";
this.RbStrToQuickJS.Text = "字符串转极速JS代码"; this.RbStrToQuickJS.UseVisualStyleBackColor = true;
this.RbStrToQuickJS.UseVisualStyleBackColor = true; this.RbStrToQuickJS.CheckedChanged += new System.EventHandler(this.RbStrToQuickJS_CheckedChanged);
this.RbStrToQuickJS.CheckedChanged += new System.EventHandler(this.RbStrToQuickJS_CheckedChanged); //
// // RbStrToASP
// textEditorControl1 //
// this.RbStrToASP.AutoSize = true;
this.textEditorControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.RbStrToASP.Location = new System.Drawing.Point(477, 216);
| System.Windows.Forms.AnchorStyles.Left) this.RbStrToASP.Name = "RbStrToASP";
| System.Windows.Forms.AnchorStyles.Right))); this.RbStrToASP.Size = new System.Drawing.Size(113, 16);
this.textEditorControl1.ContextMenuStrip = this.contextMenuStripHighlightText1; this.RbStrToASP.TabIndex = 21;
this.textEditorControl1.IsReadOnly = false; this.RbStrToASP.Text = "字符串转Asp代码";
this.textEditorControl1.Location = new System.Drawing.Point(12, 238); this.RbStrToASP.UseVisualStyleBackColor = true;
this.textEditorControl1.Name = "textEditorControl1"; //
this.textEditorControl1.Size = new System.Drawing.Size(812, 245); // TxtFromCode
this.textEditorControl1.TabIndex = 19; //
// this.TxtFromCode.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
// contextMenuStripHighlightText1 | System.Windows.Forms.AnchorStyles.Right)));
// this.TxtFromCode.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.contextMenuStripHighlightText1.Name = "contextMenuStripHighlightText1"; this.TxtFromCode.DetectUrls = false;
this.contextMenuStripHighlightText1.Size = new System.Drawing.Size(101, 186); this.TxtFromCode.EmptyText = "请填写待转换的内容";
// this.TxtFromCode.ForeColor = System.Drawing.Color.Black;
// RbStrToASP this.TxtFromCode.Location = new System.Drawing.Point(12, 3);
// this.TxtFromCode.Name = "TxtFromCode";
this.RbStrToASP.AutoSize = true; this.TxtFromCode.OnlyInputText = true;
this.RbStrToASP.Location = new System.Drawing.Point(477, 216); this.TxtFromCode.Size = new System.Drawing.Size(812, 207);
this.RbStrToASP.Name = "RbStrToASP"; this.TxtFromCode.TabIndex = 31;
this.RbStrToASP.Size = new System.Drawing.Size(113, 16); this.TxtFromCode.Text = "";
this.RbStrToASP.TabIndex = 21; this.TxtFromCode.TextChanged += new System.EventHandler(this.TxtFromCode_TextChanged);
this.RbStrToASP.Text = "字符串转Asp代码"; this.TxtFromCode.DoubleClick += new System.EventHandler(this.TxtFromCode_DoubleClick);
this.RbStrToASP.UseVisualStyleBackColor = true; //
// // fastColoredTextBox1
// menuRight1 //
// this.fastColoredTextBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
this.menuRight1.Name = "menuRight1"; | System.Windows.Forms.AnchorStyles.Left)
this.menuRight1.Size = new System.Drawing.Size(173, 48); | System.Windows.Forms.AnchorStyles.Right)));
this.menuRight1.SourceContent = this; this.fastColoredTextBox1.AutoScrollMinSize = new System.Drawing.Size(27, 14);
// this.fastColoredTextBox1.ContextMenuStrip = this.contextMenuStripHighlightText1;
// TxtFromCode this.fastColoredTextBox1.Cursor = System.Windows.Forms.Cursors.IBeam;
// this.fastColoredTextBox1.Font = new System.Drawing.Font("Courier New", 9.75F);
this.TxtFromCode.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) this.fastColoredTextBox1.Location = new System.Drawing.Point(12, 238);
| System.Windows.Forms.AnchorStyles.Right))); this.fastColoredTextBox1.Name = "fastColoredTextBox1";
this.TxtFromCode.BorderStyle = System.Windows.Forms.BorderStyle.None; this.fastColoredTextBox1.Size = new System.Drawing.Size(812, 255);
this.TxtFromCode.DetectUrls = false; this.fastColoredTextBox1.TabIndex = 32;
this.TxtFromCode.EmptyText = "请填写待转换的内容"; //
this.TxtFromCode.ForeColor = System.Drawing.Color.Black; // contextMenuStripHighlightText1
this.TxtFromCode.Location = new System.Drawing.Point(12, 3); //
this.TxtFromCode.Name = "TxtFromCode"; this.contextMenuStripHighlightText1.Name = "contextMenuStripHighlightText1";
this.TxtFromCode.OnlyInputText = true; this.contextMenuStripHighlightText1.Size = new System.Drawing.Size(101, 186);
this.TxtFromCode.Size = new System.Drawing.Size(812, 207); //
this.TxtFromCode.TabIndex = 31; // FrmStrToCode
this.TxtFromCode.Text = ""; //
this.TxtFromCode.TextChanged += new System.EventHandler(this.TxtFromCode_TextChanged); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.TxtFromCode.DoubleClick += new System.EventHandler(this.TxtFromCode_DoubleClick); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
// this.ClientSize = new System.Drawing.Size(836, 495);
// FrmStrToCode this.Controls.Add(this.fastColoredTextBox1);
// this.Controls.Add(this.TxtFromCode);
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.Controls.Add(this.RbStrToASP);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.Controls.Add(this.RbStrToQuickJS);
this.ClientSize = new System.Drawing.Size(836, 495); this.Controls.Add(this.RbStrToJS);
this.Controls.Add(this.TxtFromCode); this.Controls.Add(this.RbStrToC);
this.Controls.Add(this.RbStrToASP); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Controls.Add(this.textEditorControl1); this.Name = "FrmStrToCode";
this.Controls.Add(this.RbStrToQuickJS); this.Text = "字符串转代码";
this.Controls.Add(this.RbStrToJS); this.ResumeLayout(false);
this.Controls.Add(this.RbStrToC); this.PerformLayout();
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "FrmStrToCode"; }
this.TabPageContextMenuStrip = this.menuRight1;
this.Text = "字符串转代码"; #endregion
this.ResumeLayout(false); private System.Windows.Forms.RadioButton RbStrToC;
this.PerformLayout(); private System.Windows.Forms.RadioButton RbStrToJS;
private System.Windows.Forms.RadioButton RbStrToQuickJS;
} private System.Windows.Forms.RadioButton RbStrToASP;
private ryPaiban.Model.MenuRight menuRight1;
#endregion private ryControls.Controls.RichTextBox2 TxtFromCode;
private System.Windows.Forms.RadioButton RbStrToC; private FastColoredTextBoxNS.FastColoredTextBox fastColoredTextBox1;
private System.Windows.Forms.RadioButton RbStrToJS; private ryProcessManager.hezuo.ContextMenuStripHighlightText contextMenuStripHighlightText1;
private System.Windows.Forms.RadioButton RbStrToQuickJS; }
private ICSharpCode.TextEditor.TextEditorControl textEditorControl1;
private ryProcessManager.hezuo.ContextMenuStripHighlightText contextMenuStripHighlightText1;
private System.Windows.Forms.RadioButton RbStrToASP;
private ryPaiban.Model.MenuRight menuRight1;
private ryControls.Controls.RichTextBox2 TxtFromCode;
}
} }

View File

@ -1,4 +1,4 @@
using ICSharpCode.TextEditor.Document; using FastColoredTextBoxNS;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
@ -6,6 +6,7 @@ using System.Data;
using System.Drawing; using System.Drawing;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms; using System.Windows.Forms;
using WeifenLuo.WinFormsUI.Docking; using WeifenLuo.WinFormsUI.Docking;
@ -16,22 +17,66 @@ namespace 开发辅助工具.Tools
public FrmStrToCode() public FrmStrToCode()
{ {
InitializeComponent(); InitializeComponent();
textEditorControl1.IsReadOnly = true; fastColoredTextBox1.ReadOnly = true;
fastColoredTextBox1.ClearStylesBuffer();
fastColoredTextBox1.Range.ClearStyle(StyleIndex.All);
fastColoredTextBox1.AddStyle(new MarkerStyle(new SolidBrush(Color.FromArgb(40, Color.Gray))));
fastColoredTextBox1.AutoIndentNeeded -= fctb_AutoIndentNeeded;
fastColoredTextBox1.Language = Language.JSON;
fastColoredTextBox1.OnSyntaxHighlight(new TextChangedEventArgs(fastColoredTextBox1.Range));
}
private void fctb_AutoIndentNeeded(object sender, AutoIndentEventArgs args)
{
//block {}
if (Regex.IsMatch(args.LineText, @"^[^""']*\{.*\}[^""']*$"))
return;
//start of block {}
if (Regex.IsMatch(args.LineText, @"^[^""']*\{"))
{
args.ShiftNextLines = args.TabLength;
return;
}
//end of block {}
if (Regex.IsMatch(args.LineText, @"}[^""']*$"))
{
args.Shift = -args.TabLength;
args.ShiftNextLines = -args.TabLength;
return;
}
//label
if (Regex.IsMatch(args.LineText, @"^\s*\w+\s*:\s*($|//)") &&
!Regex.IsMatch(args.LineText, @"^\s*default\s*:"))
{
args.Shift = -args.TabLength;
return;
}
//some statements: case, default
if (Regex.IsMatch(args.LineText, @"^\s*(case|default)\b.*:\s*($|//)"))
{
args.Shift = -args.TabLength / 2;
return;
}
//is unclosed operator in previous line ?
if (Regex.IsMatch(args.PrevLineText, @"^\s*(if|for|foreach|while|[\}\s]*else)\b[^{]*$"))
if (!Regex.IsMatch(args.PrevLineText, @"(;\s*$)|(;\s*//)"))//operator is unclosed
{
args.Shift = args.TabLength;
return;
}
} }
private void Convert() private void Convert()
{ {
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
string format = "C#";
if (RbStrToC.Checked) if (RbStrToC.Checked)
{ {
builder.Append(" StringBuilder sb = new StringBuilder();\r\n"); builder.Append(" StringBuilder sb = new StringBuilder();\r\n");
builder.Append(" sb.Append(\"" + TxtFromCode.Text.Trim().Replace("\"", "\\\"").Replace("\r\n", "\n").Replace("\n", "\");\r\n sb.Append(\"") + "\");"); builder.Append(" sb.Append(\"" + TxtFromCode.Text.Trim().Replace("\"", "\\\"").Replace("\r\n", "\n").Replace("\n", "\");\r\n sb.Append(\"") + "\");");
format = "C#"; fastColoredTextBox1.Language = FastColoredTextBoxNS.Language.CSharp;
} }
else if (RbStrToJS.Checked) else if (RbStrToJS.Checked)
{ {
builder.Append("var sb=\"" + this.TxtFromCode.Text.Trim().Replace("\"", "\\\"").Replace("\r\n", "\n").Replace("\n", "\";\r\n sb=sb+\"") + "\";"); builder.Append("var sb=\"" + this.TxtFromCode.Text.Trim().Replace("\"", "\\\"").Replace("\r\n", "\n").Replace("\n", "\";\r\n sb=sb+\"") + "\";");
format = "JavaScript"; fastColoredTextBox1.Language = FastColoredTextBoxNS.Language.JS;
} }
else if (RbStrToQuickJS.Checked) else if (RbStrToQuickJS.Checked)
{ {
@ -39,15 +84,14 @@ namespace 开发辅助工具.Tools
builder = new StringBuilder(builder.ToString().Replace("script", "scr\"+\"ipt") + " document.write(sb);"); builder = new StringBuilder(builder.ToString().Replace("script", "scr\"+\"ipt") + " document.write(sb);");
builder.Insert(0, "<script>\r\n"); builder.Insert(0, "<script>\r\n");
builder.Append ("\r\n</script>"); builder.Append ("\r\n</script>");
format = "HTML"; fastColoredTextBox1.Language = FastColoredTextBoxNS.Language.HTML;
} }
else if (RbStrToASP.Checked) else if (RbStrToASP.Checked)
{ {
builder.Append("sb=\"" + this.TxtFromCode.Text.Trim().Replace("\"", "\"\"").Replace("\r\n", "\n").Replace("\n", "\" & vbCrLf \r\nsb=sb & \"") + "\""); builder.Append("sb=\"" + this.TxtFromCode.Text.Trim().Replace("\"", "\"\"").Replace("\r\n", "\n").Replace("\n", "\" & vbCrLf \r\nsb=sb & \"") + "\"");
format = "ASP/XHTML"; fastColoredTextBox1.Language = FastColoredTextBoxNS.Language.VB;
} }
textEditorControl1.Document.HighlightingStrategy = HighlightingStrategyFactory.CreateHighlightingStrategy(format); fastColoredTextBox1.Text = builder.ToString();
textEditorControl1.Text = builder.ToString();
} }
private void RbStrToC_CheckedChanged(object sender, EventArgs e) private void RbStrToC_CheckedChanged(object sender, EventArgs e)

View File

@ -1,194 +1,192 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<root> <root>
<!-- <!--
Microsoft ResX Schema Microsoft ResX Schema
Version 2.0 Version 2.0
The primary goals of this format is to allow a simple XML format The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes various data types are done through the TypeConverter classes
associated with the data types. associated with the data types.
Example: Example:
... ado.net/XML headers & schema ... ... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader> <resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader> <resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, 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="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="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value> <value>[base64 mime encoded serialized .NET Framework object]</value>
</data> </data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <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> <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment> <comment>This is a comment</comment>
</data> </data>
There are any number of "resheader" rows that contain simple There are any number of "resheader" rows that contain simple
name/value pairs. name/value pairs.
Each data row contains a name, and value. The row also contains a Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture. text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the Classes that don't support this are serialized and stored with the
mimetype set. mimetype set.
The mimetype is used for serialized objects, and tells the The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly: extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below. read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64 mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64 mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64 mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter : using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding. : 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: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:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata"> <xsd:element name="metadata">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" /> <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" /> <xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" /> <xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" /> <xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="assembly"> <xsd:element name="assembly">
<xsd:complexType> <xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" /> <xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" /> <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="data"> <xsd:element name="data">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <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:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="resheader"> <xsd:element name="resheader">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" /> <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:choice> </xsd:choice>
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:schema> </xsd:schema>
<resheader name="resmimetype"> <resheader name="resmimetype">
<value>text/microsoft-resx</value> <value>text/microsoft-resx</value>
</resheader> </resheader>
<resheader name="version"> <resheader name="version">
<value>2.0</value> <value>2.0</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<metadata name="contextMenuStripHighlightText1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="contextMenuStripHighlightText1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value> <value>17, 17</value>
</metadata> </metadata>
<metadata name="menuRight1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>262, 17</value> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</metadata> <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <value>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> AAABAAEAIBwAAAEAIACYDgAAFgAAACgAAAAgAAAAOAAAAAEAIAAAAAAAAA4AAKdrAACnawAAAAAAAAAA
<value> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAABAAEAIBwAAAEAIACYDgAAFgAAACgAAAAgAAAAOAAAAAEAIAAAAAAAAA4AAKdrAACnawAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AKAAAABbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AKAAAABbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAsAAAA7AAAANgAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAsAAAA7AAAANgAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAIAAACUAAAA/wAAAHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAIAAACUAAAA/wAAAHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAADoAAAA2wAAACEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAADoAAAA2wAAACEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAI4AAAD/AAAAfwAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAI4AAAD/AAAAfwAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAOUAAADfAAAAJQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAOUAAADfAAAAJQAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAB6AAAAYgAAAAIAAAAAAAAAiQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AP8AAACFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE4AAACGAAAAHgAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAB6AAAAYgAAAAIAAAAAAAAAiQAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAArwAAAP8AAACvAAAABgAA
AP8AAACFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE4AAACGAAAAHgAAAAAAAAAAAAAAAAAA AAAAAAAoAAAA4gAAAOIAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjwAAAP8AAADDAAAANAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjAAAArwAAAP8AAACvAAAABgAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAMwAAAD/AAAAtgAA
AAAAAAAoAAAA4gAAAOIAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjwAAAP8AAADDAAAANAAA ACgAAAAAAAAAAAAAAAAAAACDAAAA/wAAAIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAAoAAA
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
ABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAVgAAAOEAAAD/AAAAigAA AG0AAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOQAA
AAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoAAADSAAAA7wAAADkAAAAAAAAAAAAAAG0AAAD5AAAA7gAA AL8AAACXAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG0AAAD/AAAAoAAAAAQAAAAAAAAAfAAA
AG0AAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOQAA AMsAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AL8AAACXAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG0AAAD/AAAAoAAAAAQAAAAAAAAAfAAA AAAAAAAAAAAADgAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAM4AAADyAAAAPQAA
AMsAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAIAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAADgAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAM4AAADyAAAAPQAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZwAA
AAAAAAAIAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AP8AAAClAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZwAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AP8AAAClAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAUAAAAyQAAAPQAAABCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAUAAAAyQAAAPQAAABCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAABiAAAA/wAAAKsAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAABiAAAA/wAAAKsAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAADEAAAA9gAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAADEAAAA9gAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAD/AAAAoQAAAAEAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAD/AAAAoQAAAAEAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAH8AAABXAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQAAAH8AAABXAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8H////A////wH///8B
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ////AP///wD///wAeD/4AHAf8AAwD+AAMAfAABABgAAQAYAACAGAMA4BgDgEAYAIAAGADAABwAwAA/AO
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8H////A////wH///8B AAf4DgAf/A8AP///AP///4B///+Af///wH///8B////gf///4P8=
////AP///wD///wAeD/4AHAf8AAwD+AAMAfAABABgAAQAYAACAGAMA4BgDgEAYAIAAGADAABwAwAA/AO </value>
AAf4DgAf/A8AP///AP///4B///+Af///wH///8B////gf///4P8= </data>
</value>
</data>
</root> </root>

View File

@ -1,33 +1,33 @@
namespace .Tools namespace .Tools
{ {
partial class FrmWebGet partial class FrmWebGet
{ {
/// <summary> /// <summary>
/// Required designer variable. /// Required designer variable.
/// </summary> /// </summary>
private System.ComponentModel.IContainer components = null; private System.ComponentModel.IContainer components = null;
/// <summary> /// <summary>
/// Clean up any resources being used. /// Clean up any resources being used.
/// </summary> /// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing) protected override void Dispose(bool disposing)
{ {
if (disposing && (components != null)) if (disposing && (components != null))
{ {
components.Dispose(); components.Dispose();
} }
base.Dispose(disposing); base.Dispose(disposing);
} }
#region Windows Form Designer generated code #region Windows Form Designer generated code
/// <summary> /// <summary>
/// Required method for Designer support - do not modify /// Required method for Designer support - do not modify
/// the contents of this method with the code editor. /// the contents of this method with the code editor.
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
this.components = new System.ComponentModel.Container(); this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmWebGet)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmWebGet));
this.ChkUrlLower = new System.Windows.Forms.CheckBox(); this.ChkUrlLower = new System.Windows.Forms.CheckBox();
@ -37,7 +37,7 @@
this.RichHtml = new System.Windows.Forms.RichTextBox(); this.RichHtml = new System.Windows.Forms.RichTextBox();
this.contextMenuStripRichText1 = new ryProcessManager.hezuo.ContextMenuStripRichText(); this.contextMenuStripRichText1 = new ryProcessManager.hezuo.ContextMenuStripRichText();
this.tabPage12 = new System.Windows.Forms.TabPage(); this.tabPage12 = new System.Windows.Forms.TabPage();
this.Te_Format = new ICSharpCode.TextEditor.TextEditorControl(); this.Te_Format = new FastColoredTextBoxNS.FastColoredTextBox();
this.contextMenuStripHighlightText1 = new ryProcessManager.hezuo.ContextMenuStripHighlightText(); this.contextMenuStripHighlightText1 = new ryProcessManager.hezuo.ContextMenuStripHighlightText();
this.tabPage4 = new System.Windows.Forms.TabPage(); this.tabPage4 = new System.Windows.Forms.TabPage();
this.RichCookie = new System.Windows.Forms.RichTextBox(); this.RichCookie = new System.Windows.Forms.RichTextBox();
@ -186,16 +186,14 @@
// //
// Te_Format // Te_Format
// //
this.Te_Format.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.Te_Format.AutoScrollMinSize = new System.Drawing.Size(27, 14);
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.Te_Format.ContextMenuStrip = this.contextMenuStripHighlightText1; this.Te_Format.ContextMenuStrip = this.contextMenuStripHighlightText1;
this.Te_Format.IsReadOnly = false; this.Te_Format.Cursor = System.Windows.Forms.Cursors.IBeam;
this.Te_Format.Dock = System.Windows.Forms.DockStyle.Fill;
this.Te_Format.Location = new System.Drawing.Point(3, 3); this.Te_Format.Location = new System.Drawing.Point(3, 3);
this.Te_Format.Name = "Te_Format"; this.Te_Format.Name = "Te_Format";
this.Te_Format.Size = new System.Drawing.Size(870, 279); this.Te_Format.Size = new System.Drawing.Size(875, 274);
this.Te_Format.TabIndex = 0; this.Te_Format.TabIndex = 24;
this.Te_Format.TextChanged += new System.EventHandler(this.Te_Format_TextChanged);
// //
// contextMenuStripHighlightText1 // contextMenuStripHighlightText1
// //
@ -845,67 +843,67 @@
this.ResumeLayout(false); this.ResumeLayout(false);
this.PerformLayout(); this.PerformLayout();
} }
#endregion #endregion
private System.Windows.Forms.CheckBox ChkUrlLower; private System.Windows.Forms.CheckBox ChkUrlLower;
private System.Windows.Forms.TabControl tabControl2; private System.Windows.Forms.TabControl tabControl2;
private System.Windows.Forms.TabPage tabPage3; private System.Windows.Forms.TabPage tabPage3;
private System.Windows.Forms.PictureBox pictureBox1; private System.Windows.Forms.PictureBox pictureBox1;
private System.Windows.Forms.RichTextBox RichHtml; private System.Windows.Forms.RichTextBox RichHtml;
private System.Windows.Forms.TabPage tabPage12; private System.Windows.Forms.TabPage tabPage12;
private ICSharpCode.TextEditor.TextEditorControl Te_Format; private System.Windows.Forms.TabPage tabPage4;
private System.Windows.Forms.TabPage tabPage4; private System.Windows.Forms.RichTextBox RichCookie;
private System.Windows.Forms.RichTextBox RichCookie; private System.Windows.Forms.TabPage tabPage5;
private System.Windows.Forms.TabPage tabPage5; private System.Windows.Forms.RichTextBox RichStatus;
private System.Windows.Forms.RichTextBox RichStatus; private System.Windows.Forms.TabPage tabPage6;
private System.Windows.Forms.TabPage tabPage6; private System.Windows.Forms.RichTextBox RichHeader;
private System.Windows.Forms.RichTextBox RichHeader; private System.Windows.Forms.GroupBox groupBox3;
private System.Windows.Forms.GroupBox groupBox3; private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.GroupBox groupBox2; private ryControls.RyComboBox CbbReferer;
private ryControls.RyComboBox CbbReferer; private ryControls.RyComboBox CbbIp;
private ryControls.RyComboBox CbbIp; private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label6; private ryControls.RyComboBox CbbUserAgent;
private ryControls.RyComboBox CbbUserAgent; private System.Windows.Forms.Label label7;
private System.Windows.Forms.Label label7; private ryControls.RyComboBox CbbContentType;
private ryControls.RyComboBox CbbContentType; private System.Windows.Forms.Label label11;
private System.Windows.Forms.Label label11; private System.Windows.Forms.Label label8;
private System.Windows.Forms.Label label8; private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.GroupBox groupBox1; private System.Windows.Forms.CheckBox ChkGetPic;
private System.Windows.Forms.CheckBox ChkGetPic; private System.Windows.Forms.CheckBox ChkJump;
private System.Windows.Forms.CheckBox ChkJump; private ryControls.RyComboBox CbbWriteTimeout;
private ryControls.RyComboBox CbbWriteTimeout; private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label5; private ryControls.RyComboBox CbbTimeout;
private ryControls.RyComboBox CbbTimeout; private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label4; private ryControls.RyComboBox CbbEncoding;
private ryControls.RyComboBox CbbEncoding; private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label3; private ryControls.ButtonEx BtnRunHtml;
private ryControls.ButtonEx BtnRunHtml; private System.Windows.Forms.RadioButton RbPost;
private System.Windows.Forms.RadioButton RbPost; private System.Windows.Forms.RadioButton RbGet;
private System.Windows.Forms.RadioButton RbGet; private ryControls.TextBoxEx2 TxtUrl;
private ryControls.TextBoxEx2 TxtUrl; private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label2; private ryProcessManager.hezuo.ContextMenuStripRichText contextMenuStripRichText1;
private ryProcessManager.hezuo.ContextMenuStripRichText contextMenuStripRichText1; private ryProcessManager.hezuo.ContextMenuStripHighlightText contextMenuStripHighlightText1;
private ryProcessManager.hezuo.ContextMenuStripHighlightText contextMenuStripHighlightText1; private ryPaiban.Model.MenuRight menuRight1;
private ryPaiban.Model.MenuRight menuRight1; private ryControls.ButtonEx BtnCtreateCShape;
private ryControls.ButtonEx BtnCtreateCShape; private XPTable.Models.ColumnModel columnModel1;
private XPTable.Models.ColumnModel columnModel1; private XPTable.Models.TableModel tableModel1;
private XPTable.Models.TableModel tableModel1; private XPTable.Models.Table table1;
private XPTable.Models.Table table1; private XPTable.Models.TextColumn ColUrl;
private XPTable.Models.TextColumn ColUrl; private XPTable.Models.TextColumn ColTitle;
private XPTable.Models.TextColumn ColTitle; private System.Windows.Forms.Timer timer1;
private System.Windows.Forms.Timer timer1; private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.TabControl tabControl1; private System.Windows.Forms.TabPage tabPage1;
private System.Windows.Forms.TabPage tabPage1; private System.Windows.Forms.TabPage tabPage2;
private System.Windows.Forms.TabPage tabPage2; private System.Windows.Forms.TabPage tabPage7;
private System.Windows.Forms.TabPage tabPage7; private ryControls.Controls.RichTextBox2 TxtPost;
private ryControls.Controls.RichTextBox2 TxtPost; private ryControls.Controls.RichTextBox2 TxtCookie;
private ryControls.Controls.RichTextBox2 TxtCookie; private ryControls.Controls.RichTextBox2 TxtInputHeader;
private ryControls.Controls.RichTextBox2 TxtInputHeader; private System.Windows.Forms.TabPage tabPreview;
private System.Windows.Forms.TabPage tabPreview; private ExtendedWebBrowser2.ExtendedWebBrowser extendedWebBrowser1;
private ExtendedWebBrowser2.ExtendedWebBrowser extendedWebBrowser1; private System.Windows.Forms.CheckBox ChkHtmlPreview;
private System.Windows.Forms.CheckBox ChkHtmlPreview; private System.Windows.Forms.CheckBox ChkNoPreview;
private System.Windows.Forms.CheckBox ChkNoPreview; private FastColoredTextBoxNS.FastColoredTextBox Te_Format;
} }
} }

View File

@ -1,5 +1,5 @@
using DotNet4.Utilities; using DotNet4.Utilities;
using ICSharpCode.TextEditor.Document; using FastColoredTextBoxNS;
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using ryCommon; using ryCommon;
@ -11,7 +11,9 @@ using System.Data;
using System.Drawing; using System.Drawing;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Net;
using System.Text; using System.Text;
using System.Text.RegularExpressions;
using System.Threading; using System.Threading;
using System.Windows.Forms; using System.Windows.Forms;
using WeifenLuo.WinFormsUI.Docking; using WeifenLuo.WinFormsUI.Docking;
@ -26,11 +28,55 @@ namespace 开发辅助工具.Tools
InitializeComponent(); InitializeComponent();
LoadPram(); LoadPram();
tabControl2.SelectedTab = tabPage12; tabControl2.SelectedTab = tabPage12;
Te_Format.Document.FoldingManager.FoldingStrategy = new JackWangCUMT.WinForm.MingFolding(); Te_Format.ClearStylesBuffer();
Te_Format.Range.ClearStyle(StyleIndex.All);
Te_Format.AddStyle(new MarkerStyle(new SolidBrush(Color.FromArgb(40, Color.Gray))));
Te_Format.AutoIndentNeeded -= fctb_AutoIndentNeeded;
Te_Format.Language = Language.JSON;
Te_Format.OnSyntaxHighlight(new TextChangedEventArgs(Te_Format.Range));
}
private void fctb_AutoIndentNeeded(object sender, AutoIndentEventArgs args)
{
//block {}
if (Regex.IsMatch(args.LineText, @"^[^""']*\{.*\}[^""']*$"))
return;
//start of block {}
if (Regex.IsMatch(args.LineText, @"^[^""']*\{"))
{
args.ShiftNextLines = args.TabLength;
return;
}
//end of block {}
if (Regex.IsMatch(args.LineText, @"}[^""']*$"))
{
args.Shift = -args.TabLength;
args.ShiftNextLines = -args.TabLength;
return;
}
//label
if (Regex.IsMatch(args.LineText, @"^\s*\w+\s*:\s*($|//)") &&
!Regex.IsMatch(args.LineText, @"^\s*default\s*:"))
{
args.Shift = -args.TabLength;
return;
}
//some statements: case, default
if (Regex.IsMatch(args.LineText, @"^\s*(case|default)\b.*:\s*($|//)"))
{
args.Shift = -args.TabLength / 2;
return;
}
//is unclosed operator in previous line ?
if (Regex.IsMatch(args.PrevLineText, @"^\s*(if|for|foreach|while|[\}\s]*else)\b[^{]*$"))
if (!Regex.IsMatch(args.PrevLineText, @"(;\s*$)|(;\s*//)"))//operator is unclosed
{
args.Shift = args.TabLength;
return;
}
} }
private void LoadPram() private void LoadPram()
{ {
Te_Format.IsReadOnly = true; Te_Format.ReadOnly = true;
CbbContentType.SelectedIndex = 0; CbbContentType.SelectedIndex = 0;
CbbUserAgent.SelectedIndex = 0; CbbUserAgent.SelectedIndex = 0;
CbbEncoding.SelectedIndex = 0; CbbEncoding.SelectedIndex = 0;
@ -266,7 +312,7 @@ namespace 开发辅助工具.Tools
this.RichHtml.Text = result.Html; this.RichHtml.Text = result.Html;
if (Manager.Json.IsJson(result.Html)) if (Manager.Json.IsJson(result.Html))
{ {
Te_Format.Document.HighlightingStrategy = HighlightingStrategyFactory.CreateHighlightingStrategy("JSON"); Te_Format.Language = Language.JSON;
Te_Format.Text = Manager.Json.ConvertJsonString(result.Html); Te_Format.Text = Manager.Json.ConvertJsonString(result.Html);
AddUrl("", TxtUrl.Text); AddUrl("", TxtUrl.Text);
} }
@ -283,7 +329,7 @@ namespace 开发辅助工具.Tools
if (_html.Length > 0) { _html += "\r\n"; } if (_html.Length > 0) { _html += "\r\n"; }
_html += _format_html[i]; _html += _format_html[i];
} }
Te_Format.Document.HighlightingStrategy = HighlightingStrategyFactory.CreateHighlightingStrategy("HTML"); Te_Format.Language = Language.HTML;
try try
{ {
Te_Format.Text = JJCCX.Xml.HtmlFormater.ConvertToXml(_html, true); Te_Format.Text = JJCCX.Xml.HtmlFormater.ConvertToXml(_html, true);
@ -411,6 +457,7 @@ namespace 开发辅助工具.Tools
private void FrmWebGet_Load(object sender, EventArgs e) private void FrmWebGet_Load(object sender, EventArgs e)
{ {
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; //加上这一句
contextMenuStripHighlightText1.AddSeparatorMenu(); contextMenuStripHighlightText1.AddSeparatorMenu();
contextMenuStripHighlightText1.AddMenu("将选中的内容作为Json分析", "").Click += AnalyJson_Click; contextMenuStripHighlightText1.AddMenu("将选中的内容作为Json分析", "").Click += AnalyJson_Click;
for (int i = 0; i < this.Controls.Count; i++) for (int i = 0; i < this.Controls.Count; i++)
@ -441,8 +488,8 @@ namespace 开发辅助工具.Tools
ContextMenuStrip menu =(ContextMenuStrip) (((ToolStripMenuItem)sender).Owner); ContextMenuStrip menu =(ContextMenuStrip) (((ToolStripMenuItem)sender).Owner);
switch(menu.SourceControl) switch(menu.SourceControl)
{ {
case ICSharpCode.TextEditor.TextEditorControl rich_txt: case FastColoredTextBox rich_txt:
var SelectedText= rich_txt.ActiveTextAreaControl.SelectionManager.SelectedText; var SelectedText= rich_txt.SelectedText;
if (SelectedText == "") { SelectedText = rich_txt.Text; } if (SelectedText == "") { SelectedText = rich_txt.Text; }
//if (Manager.Json.IsJson(SelectedText)) //if (Manager.Json.IsJson(SelectedText))
{ {
@ -550,7 +597,7 @@ namespace 开发辅助工具.Tools
builder.Append(" return Bitmap.FromStream(ms,true);\r\n"); builder.Append(" return Bitmap.FromStream(ms,true);\r\n");
builder.Append(" }\r\n"); builder.Append(" }\r\n");
RichHtml.Text = builder.ToString(); RichHtml.Text = builder.ToString();
Te_Format.Document.HighlightingStrategy = HighlightingStrategyFactory.CreateHighlightingStrategy("C#"); Te_Format.Language = Language.CSharp;
Te_Format.Text= builder.ToString(); Te_Format.Text= builder.ToString();
} }
@ -785,11 +832,6 @@ namespace 开发辅助工具.Tools
{ {
ChkHtmlPreview.Enabled = !ChkNoPreview.Checked; ChkHtmlPreview.Enabled = !ChkNoPreview.Checked;
} }
private void Te_Format_TextChanged(object sender, EventArgs e)
{
Te_Format.Document.FoldingManager.UpdateFoldings(null, null);
}
} }
public class UserAgentInfo public class UserAgentInfo
{ {

View File

@ -1,198 +1,198 @@
namespace .Tools namespace .Tools
{ {
partial class FrmXpath partial class FrmXpath
{ {
/// <summary> /// <summary>
/// Required designer variable. /// Required designer variable.
/// </summary> /// </summary>
private System.ComponentModel.IContainer components = null; private System.ComponentModel.IContainer components = null;
/// <summary> /// <summary>
/// Clean up any resources being used. /// Clean up any resources being used.
/// </summary> /// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing) protected override void Dispose(bool disposing)
{ {
if (disposing && (components != null)) if (disposing && (components != null))
{ {
components.Dispose(); components.Dispose();
} }
base.Dispose(disposing); base.Dispose(disposing);
} }
#region Windows Form Designer generated code #region Windows Form Designer generated code
/// <summary> /// <summary>
/// Required method for Designer support - do not modify /// Required method for Designer support - do not modify
/// the contents of this method with the code editor. /// the contents of this method with the code editor.
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
this.components = new System.ComponentModel.Container(); this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmXpath)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmXpath));
this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.panelEx1 = new ryControls.PanelEx(); this.TxtXML = new ryControls.Controls.RichTextBox2();
this.textEditorControl1 = new ICSharpCode.TextEditor.TextEditorControl(); this.panelEx1 = new ryControls.PanelEx();
this.contextMenuStripHighlightText1 = new ryProcessManager.hezuo.ContextMenuStripHighlightText(); this.contextMenuStripHighlightText1 = new ryProcessManager.hezuo.ContextMenuStripHighlightText();
this.RySearchXpath = new ryControls.rySearch(); this.RySearchXpath = new ryControls.rySearch();
this.label1 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label();
this.CbbXMLType = new ryControls.RyComboBox(); this.CbbXMLType = new ryControls.RyComboBox();
this.menuRight1 = new ryPaiban.Model.MenuRight(this.components); this.menuRight1 = new ryPaiban.Model.MenuRight(this.components);
this.TxtXML = new ryControls.Controls.RichTextBox2(); this.fastColoredTextBox1 = new FastColoredTextBoxNS.FastColoredTextBox();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout(); this.splitContainer1.SuspendLayout();
this.panelEx1.SuspendLayout(); this.panelEx1.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// splitContainer1 // splitContainer1
// //
this.splitContainer1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.splitContainer1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.splitContainer1.Location = new System.Drawing.Point(10, 33); this.splitContainer1.Location = new System.Drawing.Point(10, 33);
this.splitContainer1.Name = "splitContainer1"; this.splitContainer1.Name = "splitContainer1";
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal; this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
// //
// splitContainer1.Panel1 // splitContainer1.Panel1
// //
this.splitContainer1.Panel1.Controls.Add(this.TxtXML); this.splitContainer1.Panel1.Controls.Add(this.TxtXML);
// //
// splitContainer1.Panel2 // splitContainer1.Panel2
// //
this.splitContainer1.Panel2.Controls.Add(this.panelEx1); this.splitContainer1.Panel2.Controls.Add(this.panelEx1);
this.splitContainer1.Size = new System.Drawing.Size(875, 475); this.splitContainer1.Size = new System.Drawing.Size(875, 475);
this.splitContainer1.SplitterDistance = 145; this.splitContainer1.SplitterDistance = 145;
this.splitContainer1.SplitterWidth = 2; this.splitContainer1.SplitterWidth = 2;
this.splitContainer1.TabIndex = 13; this.splitContainer1.TabIndex = 13;
// //
// panelEx1 // TxtXML
// //
this.panelEx1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.TxtXML.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.panelEx1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(213)))), ((int)(((byte)(216)))), ((int)(((byte)(223))))); this.TxtXML.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.panelEx1.Controls.Add(this.textEditorControl1); this.TxtXML.DetectUrls = false;
this.panelEx1.Location = new System.Drawing.Point(2, 3); this.TxtXML.EmptyText = "待匹配的XML或HTML内容";
this.panelEx1.Name = "panelEx1"; this.TxtXML.ForeColor = System.Drawing.Color.Black;
this.panelEx1.Padding = new System.Windows.Forms.Padding(2); this.TxtXML.Location = new System.Drawing.Point(3, 3);
this.panelEx1.RoundeStyle = ryControls.RoundStyle.None; this.TxtXML.Name = "TxtXML";
this.panelEx1.Size = new System.Drawing.Size(869, 326); this.TxtXML.OnlyInputText = true;
this.panelEx1.TabIndex = 8; this.TxtXML.Size = new System.Drawing.Size(868, 139);
this.panelEx1.TileBackColor = System.Drawing.Color.White; this.TxtXML.TabIndex = 32;
// this.TxtXML.Text = "";
// textEditorControl1 this.TxtXML.DoubleClick += new System.EventHandler(this.TxtXML_DoubleClick);
// //
this.textEditorControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) // panelEx1
| System.Windows.Forms.AnchorStyles.Left) //
| System.Windows.Forms.AnchorStyles.Right))); this.panelEx1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
this.textEditorControl1.ContextMenuStrip = this.contextMenuStripHighlightText1; | System.Windows.Forms.AnchorStyles.Left)
this.textEditorControl1.IsReadOnly = false; | System.Windows.Forms.AnchorStyles.Right)));
this.textEditorControl1.Location = new System.Drawing.Point(5, 5); this.panelEx1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(213)))), ((int)(((byte)(216)))), ((int)(((byte)(223)))));
this.textEditorControl1.Name = "textEditorControl1"; this.panelEx1.Controls.Add(this.fastColoredTextBox1);
this.textEditorControl1.Size = new System.Drawing.Size(859, 316); this.panelEx1.Location = new System.Drawing.Point(2, 3);
this.textEditorControl1.TabIndex = 5; this.panelEx1.Name = "panelEx1";
// this.panelEx1.Padding = new System.Windows.Forms.Padding(2);
// contextMenuStripHighlightText1 this.panelEx1.RoundeStyle = ryControls.RoundStyle.None;
// this.panelEx1.Size = new System.Drawing.Size(869, 322);
this.contextMenuStripHighlightText1.Name = "contextMenuStripHighlightText1"; this.panelEx1.TabIndex = 8;
this.contextMenuStripHighlightText1.Size = new System.Drawing.Size(101, 186); this.panelEx1.TileBackColor = System.Drawing.Color.White;
// //
// RySearchXpath // contextMenuStripHighlightText1
// //
this.RySearchXpath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) this.contextMenuStripHighlightText1.Name = "contextMenuStripHighlightText1";
| System.Windows.Forms.AnchorStyles.Right))); this.contextMenuStripHighlightText1.Size = new System.Drawing.Size(101, 186);
this.RySearchXpath.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(239)))), ((int)(((byte)(244))))); //
this.RySearchXpath.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95))))); // RySearchXpath
this.RySearchXpath.EmptyText = ""; //
this.RySearchXpath.Location = new System.Drawing.Point(179, 3); this.RySearchXpath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
this.RySearchXpath.Name = "RySearchXpath"; | System.Windows.Forms.AnchorStyles.Right)));
this.RySearchXpath.Size = new System.Drawing.Size(707, 25); this.RySearchXpath.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(239)))), ((int)(((byte)(244)))));
this.RySearchXpath.TabIndex = 12; this.RySearchXpath.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
this.RySearchXpath.OnSearch += new System.EventHandler(this.RySearchXpath_OnSearch); this.RySearchXpath.EmptyText = "";
// this.RySearchXpath.Location = new System.Drawing.Point(179, 3);
// label1 this.RySearchXpath.Name = "RySearchXpath";
// this.RySearchXpath.Size = new System.Drawing.Size(707, 25);
this.label1.AutoSize = true; this.RySearchXpath.TabIndex = 12;
this.label1.Location = new System.Drawing.Point(102, 8); this.RySearchXpath.OnSearch += new System.EventHandler(this.RySearchXpath_OnSearch);
this.label1.Name = "label1"; //
this.label1.Size = new System.Drawing.Size(71, 12); // label1
this.label1.TabIndex = 11; //
this.label1.Text = "Xpath表达式"; this.label1.AutoSize = true;
// this.label1.Location = new System.Drawing.Point(102, 8);
// CbbXMLType this.label1.Name = "label1";
// this.label1.Size = new System.Drawing.Size(71, 12);
this.CbbXMLType.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; this.label1.TabIndex = 11;
this.CbbXMLType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.label1.Text = "Xpath表达式";
this.CbbXMLType.FlatStyle = System.Windows.Forms.FlatStyle.Flat; //
this.CbbXMLType.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); // CbbXMLType
this.CbbXMLType.FormattingEnabled = true; //
this.CbbXMLType.Items.AddRange(new object[] { this.CbbXMLType.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
"XML内容", this.CbbXMLType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
"Html内容"}); this.CbbXMLType.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.CbbXMLType.Location = new System.Drawing.Point(11, 3); this.CbbXMLType.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.CbbXMLType.Name = "CbbXMLType"; this.CbbXMLType.FormattingEnabled = true;
this.CbbXMLType.Size = new System.Drawing.Size(85, 24); this.CbbXMLType.Items.AddRange(new object[] {
this.CbbXMLType.TabIndex = 10; "XML内容",
// "Html内容"});
// menuRight1 this.CbbXMLType.Location = new System.Drawing.Point(11, 3);
// this.CbbXMLType.Name = "CbbXMLType";
this.menuRight1.Name = "menuRight1"; this.CbbXMLType.Size = new System.Drawing.Size(85, 24);
this.menuRight1.Size = new System.Drawing.Size(173, 48); this.CbbXMLType.TabIndex = 10;
this.menuRight1.SourceContent = this; //
// // menuRight1
// TxtXML //
// this.menuRight1.Name = "menuRight1";
this.TxtXML.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.menuRight1.Size = new System.Drawing.Size(185, 92);
| System.Windows.Forms.AnchorStyles.Left) this.menuRight1.SourceContent = this;
| System.Windows.Forms.AnchorStyles.Right))); //
this.TxtXML.BorderStyle = System.Windows.Forms.BorderStyle.None; // fastColoredTextBox1
this.TxtXML.DetectUrls = false; //
this.TxtXML.EmptyText = "待匹配的XML或HTML内容"; this.fastColoredTextBox1.AutoScrollMinSize = new System.Drawing.Size(27, 14);
this.TxtXML.ForeColor = System.Drawing.Color.Black; this.fastColoredTextBox1.ContextMenuStrip = this.contextMenuStripHighlightText1;
this.TxtXML.Location = new System.Drawing.Point(3, 3); this.fastColoredTextBox1.Cursor = System.Windows.Forms.Cursors.IBeam;
this.TxtXML.Name = "TxtXML"; this.fastColoredTextBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.TxtXML.OnlyInputText = true; this.fastColoredTextBox1.Font = new System.Drawing.Font("Courier New", 9.75F);
this.TxtXML.Size = new System.Drawing.Size(868, 139); this.fastColoredTextBox1.Location = new System.Drawing.Point(2, 2);
this.TxtXML.TabIndex = 32; this.fastColoredTextBox1.Name = "fastColoredTextBox1";
this.TxtXML.Text = ""; this.fastColoredTextBox1.Size = new System.Drawing.Size(865, 318);
this.TxtXML.DoubleClick += new System.EventHandler(this.TxtXML_DoubleClick); this.fastColoredTextBox1.TabIndex = 0;
// //
// FrmXpath // FrmXpath
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(894, 509); this.ClientSize = new System.Drawing.Size(894, 509);
this.Controls.Add(this.splitContainer1); this.Controls.Add(this.splitContainer1);
this.Controls.Add(this.RySearchXpath); this.Controls.Add(this.RySearchXpath);
this.Controls.Add(this.label1); this.Controls.Add(this.label1);
this.Controls.Add(this.CbbXMLType); this.Controls.Add(this.CbbXMLType);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "FrmXpath"; this.Name = "FrmXpath";
this.TabPageContextMenuStrip = this.menuRight1; this.TabPageContextMenuStrip = this.menuRight1;
this.Text = "Xpath测试工具"; this.Text = "Xpath测试工具";
this.Load += new System.EventHandler(this.FrmXpath_Load); this.Load += new System.EventHandler(this.FrmXpath_Load);
this.splitContainer1.Panel1.ResumeLayout(false); this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false); this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false); this.splitContainer1.ResumeLayout(false);
this.panelEx1.ResumeLayout(false); this.panelEx1.ResumeLayout(false);
this.ResumeLayout(false); this.ResumeLayout(false);
this.PerformLayout(); this.PerformLayout();
} }
#endregion #endregion
private System.Windows.Forms.SplitContainer splitContainer1; private System.Windows.Forms.SplitContainer splitContainer1;
private ryControls.PanelEx panelEx1; private ryControls.PanelEx panelEx1;
private ICSharpCode.TextEditor.TextEditorControl textEditorControl1; private ryControls.rySearch RySearchXpath;
private ryControls.rySearch RySearchXpath; private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label1; private ryControls.RyComboBox CbbXMLType;
private ryControls.RyComboBox CbbXMLType; private ryProcessManager.hezuo.ContextMenuStripHighlightText contextMenuStripHighlightText1;
private ryProcessManager.hezuo.ContextMenuStripHighlightText contextMenuStripHighlightText1; private ryPaiban.Model.MenuRight menuRight1;
private ryPaiban.Model.MenuRight menuRight1; private ryControls.Controls.RichTextBox2 TxtXML;
private ryControls.Controls.RichTextBox2 TxtXML; private FastColoredTextBoxNS.FastColoredTextBox fastColoredTextBox1;
} }
} }

View File

@ -1,88 +1,132 @@
using HtmlAgilityPack; using FastColoredTextBoxNS;
using ICSharpCode.TextEditor.Document; using HtmlAgilityPack;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Data; using System.Data;
using System.Drawing; using System.Drawing;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Windows.Forms; using System.Text.RegularExpressions;
using WeifenLuo.WinFormsUI.Docking; using System.Windows.Forms;
using WeifenLuo.WinFormsUI.Docking;
namespace .Tools
{ namespace .Tools
public partial class FrmXpath : DockContent {
{ public partial class FrmXpath : DockContent
public FrmXpath() {
{ public FrmXpath()
InitializeComponent(); {
CbbXMLType.SelectedIndex = 0; InitializeComponent();
textEditorControl1.IsReadOnly = true; CbbXMLType.SelectedIndex = 0;
} fastColoredTextBox1.ReadOnly = true;
fastColoredTextBox1.ClearStylesBuffer();
private void RySearchXpath_OnSearch(object sender, EventArgs e) fastColoredTextBox1.Range.ClearStyle(StyleIndex.All);
{ fastColoredTextBox1.AddStyle(new MarkerStyle(new SolidBrush(Color.FromArgb(40, Color.Gray))));
string text = ""; fastColoredTextBox1.AutoIndentNeeded -= fctb_AutoIndentNeeded;
string format = "XML"; fastColoredTextBox1.Language = Language.JSON;
try fastColoredTextBox1.OnSyntaxHighlight(new TextChangedEventArgs(fastColoredTextBox1.Range));
{ }
if (CbbXMLType.SelectedIndex == 0) private void fctb_AutoIndentNeeded(object sender, AutoIndentEventArgs args)
{ {
format = "XML"; //block {}
System.Xml.XmlDocument xml = new System.Xml.XmlDocument(); if (Regex.IsMatch(args.LineText, @"^[^""']*\{.*\}[^""']*$"))
xml.LoadXml(TxtXML.Text); return;
var node = xml.SelectNodes(RySearchXpath.Text); //start of block {}
if (node != null) if (Regex.IsMatch(args.LineText, @"^[^""']*\{"))
{ {
for (int i = 0; i < node.Count; i++) args.ShiftNextLines = args.TabLength;
{ return;
if (text != "") { text += "\r\n\r\n"; } }
text += node[i].OuterXml; //end of block {}
} if (Regex.IsMatch(args.LineText, @"}[^""']*$"))
} {
} args.Shift = -args.TabLength;
else if (CbbXMLType.SelectedIndex == 1) args.ShiftNextLines = -args.TabLength;
{ return;
format = "HTML"; }
HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument(); //label
htmlDoc.LoadHtml(TxtXML.Text); if (Regex.IsMatch(args.LineText, @"^\s*\w+\s*:\s*($|//)") &&
HtmlNodeCollection anchors = htmlDoc.DocumentNode.SelectNodes(RySearchXpath.Text); !Regex.IsMatch(args.LineText, @"^\s*default\s*:"))
if (anchors != null) {
{ args.Shift = -args.TabLength;
for (int i = 0; i < anchors.Count; i++) return;
{ }
if (text != "") { text += "\r\n\r\n"; } //some statements: case, default
text += anchors[i].OuterHtml; if (Regex.IsMatch(args.LineText, @"^\s*(case|default)\b.*:\s*($|//)"))
} {
} args.Shift = -args.TabLength / 2;
} return;
} }
catch (Exception ex) //is unclosed operator in previous line ?
{ if (Regex.IsMatch(args.PrevLineText, @"^\s*(if|for|foreach|while|[\}\s]*else)\b[^{]*$"))
MessageBox.Show(ex.Message, "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Information); if (!Regex.IsMatch(args.PrevLineText, @"(;\s*$)|(;\s*//)"))//operator is unclosed
} {
textEditorControl1.Document.HighlightingStrategy = HighlightingStrategyFactory.CreateHighlightingStrategy(format); args.Shift = args.TabLength;
textEditorControl1.Text = text; return;
} }
}
private void FrmXpath_Load(object sender, EventArgs e)
{ private void RySearchXpath_OnSearch(object sender, EventArgs e)
{
} string text = "";
try
private void TxtXML_DoubleClick(object sender, EventArgs e) {
{ if (CbbXMLType.SelectedIndex == 0)
ryControls.Controls.RichTextBox2 txt = (ryControls.Controls.RichTextBox2)sender; {
.Controls.FrmText frm = new Controls.FrmText fastColoredTextBox1.Language = Language.XML;
{ System.Xml.XmlDocument xml = new System.Xml.XmlDocument();
Icon = Icon xml.LoadXml(TxtXML.Text);
}; var node = xml.SelectNodes(RySearchXpath.Text);
frm.richTextBox1.Text = txt.Text; if (node != null)
if (frm.ShowDialog() == DialogResult.OK) {
{ for (int i = 0; i < node.Count; i++)
txt.Text = frm.richTextBox1.Text; {
} if (text != "") { text += "\r\n\r\n"; }
} text += node[i].OuterXml;
} }
} }
}
else if (CbbXMLType.SelectedIndex == 1)
{
fastColoredTextBox1.Language = Language.HTML;
HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument();
htmlDoc.LoadHtml(TxtXML.Text);
HtmlNodeCollection anchors = htmlDoc.DocumentNode.SelectNodes(RySearchXpath.Text);
if (anchors != null)
{
for (int i = 0; i < anchors.Count; i++)
{
if (text != "") { text += "\r\n\r\n"; }
text += anchors[i].OuterHtml;
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
fastColoredTextBox1.Text = text;
}
private void FrmXpath_Load(object sender, EventArgs e)
{
}
private void TxtXML_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;
}
}
}
}

View File

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

View File

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup></configuration>