Compare commits

..

9 Commits

Author SHA1 Message Date
0e070635ae 升级到.NET 4.6.2之前备份 2023-12-04 09:26:50 +08:00
4afd0f7c6f ### 2022-11-30更新
------
#### VSoft    V1.0.2211.3001
- *.[改进]翻译多线程进行,并解决不能多行翻译的BUG。
2022-11-30 09:08:29 +08:00
28d84616e8 ### 2022-04-16更新
------
#### VSoft    V1.0.2204.1601
- *.[改进]启动时加载图标缓存,增加切换分组的流畅度。
2022-04-16 20:43:45 +08:00
鑫Intel
96e9feaa03 ### 2022-02-20更新
------
#### VSoft    V1.0.2202.2001
- *.[改进]删除鼠标移上去提示功能。
2022-04-16 19:38:02 +08:00
鑫Intel
8648407df3 ### 2022-02-10更新
------
#### VSoft    V1.0.2202.1001
- *.[改进]优化点击分组时的卡顿问题。
2022-02-11 17:01:10 +08:00
鑫Intel
a4462136c9 ### 2021-10-18更新
------
#### VSoft    V1.0.2110.1801
- *.[修复]修复在流程软件目录下,无法准确获取数据库目录的BUG。
2021-10-19 08:33:12 +08:00
鑫Intel
574e29870d ### 2021-10-08更新
------
#### VSoft    V1.0.2110.0801
- *.[新增]新增支持将分类绑定快捷键。
- *.[修复]修复新增软件后,热键可能设置不正确的BUG
2021-10-08 16:52:51 +08:00
鑫Intel
150b39ca18 ### 2021-09-07更新
------

#### VSoft    V1.0.2109.0701
- *.[新增]新增支持设置软件全局快捷键。
2021-09-07 17:29:44 +08:00
64e190aa7b ### 2021-07-05更新
------
#### VSoft    V1.0.2107.0501
- *.[新增]新增适配原生64位系统。
- *.[修复]修复将侧键作为热键时,点击两个侧键都会激活软件的BUG。
- *.[修复]修复点击主界面中设置按钮,设置按钮没在父窗体居中的BUG。
- *.[修复]修复在右键菜单中无法编辑和新增软件的BUG。
- *.[修复]修复主界面右键菜单打开的窗体没居中的BUG。
2021-07-05 21:44:49 +08:00
75 changed files with 15220 additions and 3731 deletions

3
.gitignore vendored
View File

@ -3,4 +3,5 @@ Res/
**/obj **/obj
*.pdb *.pdb
**/dcu **/dcu
*.dcu *.dcu
/Source/.vs

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.2"/></startup></configuration>

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -358,6 +358,30 @@
<param name="Parameter"></param> <param name="Parameter"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:ryCommonDb.SQLiteDataProvider.ExecuteNonQuery(ryCommonDb.RyQuickSQL,System.String,System.Boolean)">
<summary>
执行SQL语句
</summary>
<param name="mySQL"></param>
<param name="wheresql">只针对IsAdd为false才生效where 以后的sql语句</param>
<param name="IsAdd">是新增还是更新</param>
<returns></returns>
</member>
<member name="M:ryCommonDb.SQLiteDataProvider.Insert(ryCommonDb.RyQuickSQL)">
<summary>
插入数据库
</summary>
<param name="mySQL"></param>
<returns></returns>
</member>
<member name="M:ryCommonDb.SQLiteDataProvider.Update(ryCommonDb.RyQuickSQL,System.String)">
<summary>
更新数据库
</summary>
<param name="mySQL"></param>
<param name="wheresql">where 以后的sql语句</param>
<returns></returns>
</member>
<member name="M:ryCommonDb.SQLiteDataProvider.ExecuteNonQuery(System.String,ryCommonDb.RyQuickSQL)"> <member name="M:ryCommonDb.SQLiteDataProvider.ExecuteNonQuery(System.String,ryCommonDb.RyQuickSQL)">
<summary> <summary>

Binary file not shown.

BIN
Bin/Debug/VSoft/RaUI.dll Normal file

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

View File

@ -1,3 +1,3 @@
<root> <root>
<list id="Setting" ShowMainHotKey="1+88" OpenByClick="0" HideAfterRun="1" ShowMainMouseKeyOn="1" ShowMainMouseKey="1" /> <list id="Setting" ShowMainHotKey="1+88" OpenByClick="0" HideAfterRun="1" ShowMainMouseKeyOn="1" ShowMainMouseKey="2" />
</root> </root>

Binary file not shown.

Binary file not shown.

View File

@ -1,8 +1,8 @@
[VSoft] [VSoft]
hwnd=1577024 hwnd=331696
width=733 width=745
height=570 height=543
[VSoft_Test] [VSoft_Test]
hwnd=987400 hwnd=657946
width=733 width=733
height=570 height=570

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.2"/></startup></configuration>

View File

@ -1,3 +1,3 @@
<root> <root>
<list id="LastUpdateTime" Value="2021/6/15 10:04:53" /> <list id="LastUpdateTime" Value="2021/9/7 13:56:03" />
</root> </root>

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,4 +1,56 @@
### 2021-03-08更新 ### 2022-11-30更新
------
#### VSoft V1.0.2211.3001
- *.[改进]翻译多线程进行,并解决不能多行翻译的BUG。
### 2022-04-16更新
------
#### VSoft V1.0.2204.1601
- *.[改进]启动时加载图标缓存,增加切换分组的流畅度。
### 2022-02-20更新
------
#### VSoft V1.0.2202.2001
- *.[改进]删除鼠标移上去提示功能。
### 2022-02-10更新
------
#### VSoft V1.0.2202.1001
- *.[改进]优化点击分组时的卡顿问题。
### 2021-10-18更新
------
#### VSoft V1.0.2110.1801
- *.[修复]修复在流程软件目录下无法准确获取数据库目录的BUG。
### 2021-10-09更新
------
#### VSoft V1.0.2110.0901
- *.[修复]修复添加软件和添加分类时,相同热键依然能添加的BUG。
### 2021-10-08更新
------
#### VSoft V1.0.2110.0801
- *.[新增]新增支持将分类绑定快捷键。
- *.[修复]修复新增软件后,热键可能设置不正确的BUG
### 2021-09-07更新
------
#### VSoft V1.0.2109.0701
- *.[新增]新增支持设置软件全局快捷键。
### 2021-07-05更新
------
#### VSoft V1.0.2107.0501
- *.[新增]新增适配原生64位系统。
- *.[修复]修复将侧键作为热键时,点击两个侧键都会激活软件的BUG。
- *.[修复]修复点击主界面中设置按钮设置按钮没在父窗体居中的BUG。
- *.[修复]修复在右键菜单中无法编辑和新增软件的BUG。
- *.[修复]修复主界面右键菜单打开的窗体没居中的BUG。
#### VSoftBox V1.0.2107.0401
- *.[新增]新增适配原生64位系统。
### 2021-03-08更新
------ ------
#### VSoft V1.0.2103.0801 #### VSoft V1.0.2103.0801
- *.[改进]改进公司条件下的皮肤,更美观。 - *.[改进]改进公司条件下的皮肤,更美观。

Binary file not shown.

View File

@ -8,19 +8,21 @@
<OutputType>WinExe</OutputType> <OutputType>WinExe</OutputType>
<RootNamespace>DyLine</RootNamespace> <RootNamespace>DyLine</RootNamespace>
<AssemblyName>DyLine</AssemblyName> <AssemblyName>DyLine</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic> <Deterministic>true</Deterministic>
<TargetFrameworkProfile />
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>x86</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType> <DebugType>full</DebugType>
<Optimize>false</Optimize> <Optimize>false</Optimize>
<OutputPath>..\..\Bin\Debug\VSoft\</OutputPath> <OutputPath>..\..\Bin\Debug\VSoft\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants> <DefineConstants>DEBUG;TRACE;DY;TEST</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>
@ -30,6 +32,7 @@
<DefineConstants>TRACE</DefineConstants> <DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="System" /> <Reference Include="System" />
@ -45,18 +48,9 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="clsMsg.cs" /> <Compile Include="clsMsg.cs" />
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" /> <Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ryMemoryShare.cs" /> <Compile Include="ryMemoryShare.cs" />
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx"> <EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator> <Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput> <LastGenOutput>Resources.Designer.cs</LastGenOutput>
@ -65,7 +59,9 @@
<Compile Include="Properties\Resources.Designer.cs"> <Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen> <AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon> <DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile> </Compile>
<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,48 +0,0 @@

namespace DyLine
{
partial class Form1
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows
/// <summary>
/// 设计器支持所需的方法 - 不要修改
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.SuspendLayout();
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(251, 125);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);
}
#endregion
}
}

View File

@ -1,19 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace DyLine
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
}
}

View File

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

View File

@ -26,6 +26,7 @@ namespace DyLine
clsMsg ryMsg = new clsMsg(); clsMsg ryMsg = new clsMsg();
ryMsg.SendMsgToryProcess(0, item);//向流程软件发送连接信息 ryMsg.SendMsgToryProcess(0, item);//向流程软件发送连接信息
} }
} }
} }
} }

View File

@ -1,36 +1,36 @@
using System.Reflection; using System.Reflection;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
// 有关程序集的一般信息由以下 // 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改 // 控制。更改这些特性值可修改
// 与程序集关联的信息。 // 与程序集关联的信息。
[assembly: AssemblyTitle("当游命令行执行工具")] [assembly: AssemblyTitle("当游命令行执行工具")]
[assembly: AssemblyDescription("")] [assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")] [assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("DyLine")] [assembly: AssemblyProduct("DyLine")]
[assembly: AssemblyCopyright("Copyright © 2020")] [assembly: AssemblyCopyright("Copyright © 2021")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 会使此程序集中的类型 // 将 ComVisible 设置为 false 会使此程序集中的类型
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 //对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
//请将此类型的 ComVisible 特性设置为 true。 //请将此类型的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)] [assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("8ee4505a-7d76-4209-85d5-274357a81fb8")] [assembly: Guid("8ee4505a-7d76-4209-85d5-274357a81fb8")]
// 程序集的版本信息由下列四个值组成: // 程序集的版本信息由下列四个值组成:
// //
// 主版本 // 主版本
// 次版本 // 次版本
// 生成号 // 生成号
// 修订号 // 修订号
// //
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 //可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示: //通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyVersion("2.0.2110.1801")]
[assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyFileVersion("2.0.2110.1801")]

View File

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

View File

@ -1,29 +1,26 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // 此代码由工具生成。
// Runtime Version:4.0.30319.42000 // 运行时版本:4.0.30319.42000
// //
// Changes to this file may cause incorrect behavior and will be lost if // 对此文件的更改可能会导致不正确的行为,并且如果
// the code is regenerated. // 重新生成代码,这些更改将会丢失。
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace DyLine.Properties {
namespace DyLine.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.0.2.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 {
{ return defaultInstance;
get }
{ }
return defaultInstance; }
} }
}
}
}

3
Source/DyLine/app.config Normal file
View File

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

29
Source/VSoftBox/Init.cs Normal file
View File

@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using VSoft.Config;
namespace VSoftBox
{
class Init
{
static System.Threading.Mutex run;
public static void Show(string[] args)
{
Soft_Info.UserDataFolder = ryCommon.RyFiles.GetRealPath(Soft_Info.UserDataFolder);
run = new System.Threading.Mutex(true, Soft_Info.Soft_Id, out bool runone);
if (!runone) //已经运行了
{
ryCommon.Ini ini = new ryCommon.Ini(Soft_Info.UserDataFolder + "\\Win.dat");
ryControls.Win32.SendMessage((IntPtr)ini.ReadIni(Soft_Info.Soft_Id, "hwnd", 0), 17189, 100, 100);
}
else
{
Application.Run(new VSoft.FrmVSoft(args));
//Application.Run(new WindowsFormsApp2.Form1());
}
}
}
}

View File

@ -1,6 +1,9 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
#if DY
using System.Reflection;
#endif
using System.Windows.Forms; using System.Windows.Forms;
using VSoft.Config; using VSoft.Config;
@ -8,27 +11,49 @@ namespace VSoftBox
{ {
static class Program static class Program
{ {
static System.Threading.Mutex run; #if DY
/// <summary>
/// 流程软件路径
/// </summary>
static string ProcessPath;
#endif
/// <summary> /// <summary>
/// 应用程序的主入口点。 /// 应用程序的主入口点。
/// </summary> /// </summary>
[STAThread] [STAThread]
static void Main(string[] args) static void Main(string[] args)
{ {
#if DY
var sub_dir = @"\SysDb\Tools\VSoft";
if (Application.StartupPath.EndsWith(sub_dir, StringComparison.OrdinalIgnoreCase))
{
ProcessPath = Application.StartupPath.Substring(0, Application.StartupPath.Length - sub_dir.Length);
AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;
Soft_Info.UserDataFolder = ProcessPath+"\\UserDb\\Tools\\VSoft";
}
#endif
Application.EnableVisualStyles(); Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false); Application.SetCompatibleTextRenderingDefault(false);
Soft_Info.UserDataFolder = ryCommon.RyFiles.GetRealPath(Soft_Info.UserDataFolder); Init.Show(args);
run = new System.Threading.Mutex(true, Soft_Info.Soft_Id, out bool runone); }
if (!runone) //已经运行了 #if DY
static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
{
AssemblyName assemblyName = new AssemblyName(args.Name);
if (System.IO.File.Exists(ProcessPath + @"\" + assemblyName.Name + ".dll"))
{ {
ryCommon.Ini ini = new ryCommon.Ini(Soft_Info.UserDataFolder + "\\Win.dat"); return Assembly.LoadFrom(ProcessPath + @"\" + assemblyName.Name + ".dll");
ryControls.Win32.SendMessage((IntPtr)ini.ReadIni(Soft_Info.Soft_Id, "hwnd", 0), 17189, 100, 100); }
else if (System.IO.File.Exists(ProcessPath + @"\Bin\dlls\" + assemblyName.Name + ".dll"))
{
return Assembly.LoadFrom(ProcessPath + @"\Bin\dlls\" + assemblyName.Name + ".dll");
} }
else else
{ {
Application.Run(new VSoft.FrmVSoft(args)); return args.RequestingAssembly;
//Application.Run(new WindowsFormsApp2.Form1());
} }
} }
#endif
} }
} }

View File

@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 //可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示: //通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.2103.0801")] [assembly: AssemblyVersion("1.0.2302.1501")]
[assembly: AssemblyFileVersion("1.0.2103.0801")] [assembly: AssemblyFileVersion("1.0.2302.1501")]

View File

@ -1,69 +1,61 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// 此代码由工具生成。 // 此代码由工具生成。
// 运行时版本: 4.0.30319.42000 // 运行时版本:4.0.30319.42000
// //
// 对此文件的更改可能导致不正确的行为,如果 // 对此文件的更改可能导致不正确的行为,并且如果
// 重新生成代码,则所做更改将丢失。 // 重新生成代码,这些更改将会丢失。
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace VSoftBox.Properties namespace VSoftBox.Properties {
{ 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", "4.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.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 ((resourceMan == null))
{
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("VSoftBox.Properties.Resources", typeof(Resources).Assembly); global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("VSoftBox.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,28 +1,24 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // 此代码由工具生成。
// Runtime Version:4.0.30319.42000 // 运行时版本:4.0.30319.42000
// //
// Changes to this file may cause incorrect behavior and will be lost if // 对此文件的更改可能会导致不正确的行为,并且如果
// the code is regenerated. // 重新生成代码,这些更改将会丢失。
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace VSoftBox.Properties namespace VSoftBox.Properties {
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.5.0.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,19 +8,21 @@
<OutputType>WinExe</OutputType> <OutputType>WinExe</OutputType>
<RootNamespace>VSoftBox</RootNamespace> <RootNamespace>VSoftBox</RootNamespace>
<AssemblyName>VSoftBox</AssemblyName> <AssemblyName>VSoftBox</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic> <Deterministic>true</Deterministic>
<TargetFrameworkProfile />
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>x86</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType> <DebugType>full</DebugType>
<Optimize>false</Optimize> <Optimize>false</Optimize>
<OutputPath>..\..\Bin\Debug\VSoft\</OutputPath> <OutputPath>..\..\Bin\Debug\VSoft\</OutputPath>
<DefineConstants>TRACE;DEBUG</DefineConstants> <DefineConstants>TRACE;DEBUG;DY</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>
@ -30,18 +32,15 @@
<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>项目5.ico</ApplicationIcon> <ApplicationIcon>项目5.ico</ApplicationIcon>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="MyDb, Version=2.1.2011.901, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="RaUI, Version=4.0.2302.1401, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\Bin\Debug\VSoft\MyDb.dll</HintPath> <HintPath>..\..\Bin\Debug\VSoft\RaUI.dll</HintPath>
</Reference>
<Reference Include="ryControls, Version=2.1.2006.3001, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\Bin\Debug\VSoft\ryControls.dll</HintPath>
</Reference> </Reference>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Core" /> <Reference Include="System.Core" />
@ -55,6 +54,7 @@
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="Init.cs" />
<Compile Include="Program.cs" /> <Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Properties\Resources.resx"> <EmbeddedResource Include="Properties\Resources.resx">
@ -65,7 +65,9 @@
<Compile Include="Properties\Resources.Designer.cs"> <Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen> <AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon> <DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile> </Compile>
<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

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

View File

@ -3,6 +3,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Windows.Forms;
namespace VSoft.Config namespace VSoft.Config
{ {
@ -39,6 +40,14 @@ namespace VSoft.Config
/// 启动软件后隐藏自身 /// 启动软件后隐藏自身
/// </summary> /// </summary>
public static bool HideAfterRun = true; public static bool HideAfterRun = true;
public static Form MainForm { get; set; }
/// <summary>
/// 当前软件加载的热键列表
/// </summary>
public static List<HotKeyItem> HotKeyList = new List<HotKeyItem>();
/// <summary>
/// 获取设置
/// </summary>
public static void LoadSetting() public static void LoadSetting()
{ {
ryCommon.Storage Stor = new Storage(); ryCommon.Storage Stor = new Storage();
@ -51,5 +60,69 @@ namespace VSoft.Config
ShowMainMouseKey = Stor.GetAttrValue("ShowMainMouseKey", 0); ShowMainMouseKey = Stor.GetAttrValue("ShowMainMouseKey", 0);
//low_count = Stor.GetAttrValue("LowCount", 10); //low_count = Stor.GetAttrValue("LowCount", 10);
} }
/// <summary>
/// 设置热键到列表中
/// </summary>
/// <param name="id"></param>
/// <param name="name"></param>
/// <param name="hotkey"></param>
/// <returns>返回热键在列表中的位置</returns>
public static int SetHotKeyList(string id,string name,string hotkey)
{
var index= HotKeyList.FindIndex(a => a.ID == id);
if(index!=-1)
{
HotKeyList[index].Name = name;
HotKeyList[index].HotKey = hotkey;
return index;
}
else
{
HotKeyList.Add(new HotKeyItem() { ID=id, Name=name, HotKey=hotkey });
return HotKeyList.Count - 1;
}
}
/// <summary>
/// 从列表中删除热键
/// </summary>
/// <param name="id"></param>
/// <returns>返回热键在原来列表中的位置</returns>
public static int RemoveHotKeyList(string id)
{
var index = HotKeyList.FindIndex(a => a.ID == id);
if (index != -1)
{
HotKeyList.RemoveAt(index);
}
return index;
}
/// <summary>
/// 在列表中查找热键是否已存在
/// </summary>
/// <param name="hotkey"></param>
/// <returns>返回热键在原来列表中的位置</returns>
public static int IsHotKeyExistInList(string hotkey)
{
var index = HotKeyList.FindIndex(a => a.HotKey == hotkey);
return index;
}
}
public class HotKeyItem
{
/// <summary>
/// ID
/// </summary>
public string ID { get; set; } = "";
/// <summary>
/// 热键名称
/// </summary>
public string Name { get; set; } = "";
/// <summary>
/// 热键
/// </summary>
public string HotKey { get; set; } = "";
} }
} }

View File

@ -60,8 +60,9 @@
// btnCancel // btnCancel
// //
this.btnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.btnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnCancel.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95))))); this.btnCancel.BaseColor = System.Drawing.Color.Teal;
this.btnCancel.Location = new System.Drawing.Point(488, 462); this.btnCancel.ColorGradient = true;
this.btnCancel.Location = new System.Drawing.Point(393, 389);
this.btnCancel.Name = "btnCancel"; this.btnCancel.Name = "btnCancel";
this.btnCancel.Size = new System.Drawing.Size(79, 30); this.btnCancel.Size = new System.Drawing.Size(79, 30);
this.btnCancel.TabIndex = 22; this.btnCancel.TabIndex = 22;
@ -72,8 +73,9 @@
// btnOK // btnOK
// //
this.btnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.btnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnOK.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95))))); this.btnOK.BaseColor = System.Drawing.Color.Teal;
this.btnOK.Location = new System.Drawing.Point(403, 462); this.btnOK.ColorGradient = true;
this.btnOK.Location = new System.Drawing.Point(308, 389);
this.btnOK.Name = "btnOK"; this.btnOK.Name = "btnOK";
this.btnOK.Size = new System.Drawing.Size(79, 30); this.btnOK.Size = new System.Drawing.Size(79, 30);
this.btnOK.TabIndex = 21; this.btnOK.TabIndex = 21;
@ -96,7 +98,7 @@
this.chromeTabControl1.SelectedIndex = 0; this.chromeTabControl1.SelectedIndex = 0;
this.chromeTabControl1.ShowAddButton = false; this.chromeTabControl1.ShowAddButton = false;
this.chromeTabControl1.ShowCloseButton = false; this.chromeTabControl1.ShowCloseButton = false;
this.chromeTabControl1.Size = new System.Drawing.Size(568, 426); this.chromeTabControl1.Size = new System.Drawing.Size(473, 353);
this.chromeTabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed; this.chromeTabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
this.chromeTabControl1.TabContextMenuStrip = null; this.chromeTabControl1.TabContextMenuStrip = null;
this.chromeTabControl1.TabIndex = 23; this.chromeTabControl1.TabIndex = 23;
@ -115,7 +117,7 @@
this.tabPage2.Location = new System.Drawing.Point(1, 29); this.tabPage2.Location = new System.Drawing.Point(1, 29);
this.tabPage2.Name = "tabPage2"; this.tabPage2.Name = "tabPage2";
this.tabPage2.Padding = new System.Windows.Forms.Padding(3); this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
this.tabPage2.Size = new System.Drawing.Size(566, 396); this.tabPage2.Size = new System.Drawing.Size(471, 323);
this.tabPage2.TabIndex = 0; this.tabPage2.TabIndex = 0;
this.tabPage2.Text = "普通"; this.tabPage2.Text = "普通";
this.tabPage2.UseVisualStyleBackColor = true; this.tabPage2.UseVisualStyleBackColor = true;
@ -203,13 +205,13 @@
// //
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(577, 504); this.ClientSize = new System.Drawing.Size(482, 431);
this.Controls.Add(this.chromeTabControl1); this.Controls.Add(this.chromeTabControl1);
this.Controls.Add(this.btnCancel); this.Controls.Add(this.btnCancel);
this.Controls.Add(this.btnOK); this.Controls.Add(this.btnOK);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "FrmSetting"; this.Name = "FrmSetting";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "设置"; this.Text = "设置";
this.Load += new System.EventHandler(this.FrmSetting_Load); this.Load += new System.EventHandler(this.FrmSetting_Load);
this.Resize += new System.EventHandler(this.FrmSetting_Resize); this.Resize += new System.EventHandler(this.FrmSetting_Resize);

View File

@ -1,4 +1,5 @@
using ryCommon; using ryCommon;
using ryCommonDb;
using ryControls; using ryControls;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@ -8,6 +9,7 @@ using System.Drawing;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Windows.Forms; using System.Windows.Forms;
using VSoft.Prams;
namespace VSoft.Config namespace VSoft.Config
{ {
@ -29,6 +31,26 @@ namespace VSoft.Config
private void BtnOK_Click(object sender, EventArgs e) private void BtnOK_Click(object sender, EventArgs e)
{ {
if (hotkeyTextBox1.HaveHotKey)
{
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.SQLConnStr) == 1)
{
var ds = db.ReadData("select * from Softs where Hotkey='" + hotkeyTextBox1.HotKey + "' limit 1");
if (ds.HaveData())
{
Msg.ShowMsg("当前热键已经存在,请更换热键。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
ds.Dispose(); return;
}
ds.Dispose();
}
db.Free();
Config.Soft_Config.SetHotKeyList("showmain", "显示主界面", hotkeyTextBox1.HotKey);
}
else
{
Config.Soft_Config.RemoveHotKeyList("showmain");
}
mySetting.Save(); mySetting.Save();
ryCommon.RyRegedit.RegRoot = Microsoft.Win32.RegistryHive.CurrentUser; ryCommon.RyRegedit.RegRoot = Microsoft.Win32.RegistryHive.CurrentUser;
ryCommon.RyRegedit.SetAutoRun(ChkAutoRun.Checked, Soft_Info.Soft_Id, "\"" + Application.ExecutablePath.Replace("/","\\") + "\" "+ Soft_Info.Soft_Pram); ryCommon.RyRegedit.SetAutoRun(ChkAutoRun.Checked, Soft_Info.Soft_Id, "\"" + Application.ExecutablePath.Replace("/","\\") + "\" "+ Soft_Info.Soft_Pram);

View File

@ -78,7 +78,7 @@
this.label7.AutoSize = true; this.label7.AutoSize = true;
this.label7.BackColor = System.Drawing.Color.Transparent; this.label7.BackColor = System.Drawing.Color.Transparent;
this.label7.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.label7.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.label7.Location = new System.Drawing.Point(13, 321); this.label7.Location = new System.Drawing.Point(13, 333);
this.label7.Name = "label7"; this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(467, 12); this.label7.Size = new System.Drawing.Size(467, 12);
this.label7.TabIndex = 20; this.label7.TabIndex = 20;
@ -101,7 +101,7 @@
this.label3.AutoSize = true; this.label3.AutoSize = true;
this.label3.BackColor = System.Drawing.Color.Transparent; this.label3.BackColor = System.Drawing.Color.Transparent;
this.label3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.label3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.label3.Location = new System.Drawing.Point(12, 343); this.label3.Location = new System.Drawing.Point(12, 355);
this.label3.Name = "label3"; this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(365, 12); this.label3.Size = new System.Drawing.Size(365, 12);
this.label3.TabIndex = 18; this.label3.TabIndex = 18;
@ -164,7 +164,7 @@
this.pnlTopLogo.Dock = System.Windows.Forms.DockStyle.Top; this.pnlTopLogo.Dock = System.Windows.Forms.DockStyle.Top;
this.pnlTopLogo.Location = new System.Drawing.Point(1, 27); this.pnlTopLogo.Location = new System.Drawing.Point(1, 27);
this.pnlTopLogo.Name = "pnlTopLogo"; this.pnlTopLogo.Name = "pnlTopLogo";
this.pnlTopLogo.Size = new System.Drawing.Size(491, 59); this.pnlTopLogo.Size = new System.Drawing.Size(493, 59);
this.pnlTopLogo.TabIndex = 8; this.pnlTopLogo.TabIndex = 8;
// //
// lblTitle // lblTitle
@ -184,7 +184,7 @@
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.BackColor = System.Drawing.Color.White; this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(493, 362); this.ClientSize = new System.Drawing.Size(495, 374);
this.Controls.Add(this.label1); this.Controls.Add(this.label1);
this.Controls.Add(this.label7); this.Controls.Add(this.label7);
this.Controls.Add(this.label6); this.Controls.Add(this.label6);
@ -196,11 +196,10 @@
this.Controls.Add(this.lblVisitUrl); this.Controls.Add(this.lblVisitUrl);
this.Controls.Add(this.label2); this.Controls.Add(this.label2);
this.Controls.Add(this.pnlTopLogo); this.Controls.Add(this.pnlTopLogo);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false; this.MaximizeBox = false;
this.Name = "FrmAbout"; this.Name = "FrmAbout";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "关于"; this.Text = "关于";
this.Load += new System.EventHandler(this.FrmAbout_Load); this.Load += new System.EventHandler(this.FrmAbout_Load);
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();

View File

@ -40,8 +40,9 @@
// BtnCancel // BtnCancel
// //
this.BtnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.BtnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.BtnCancel.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95))))); this.BtnCancel.BaseColor = System.Drawing.Color.Teal;
this.BtnCancel.Location = new System.Drawing.Point(264, 131); this.BtnCancel.ColorGradient = true;
this.BtnCancel.Location = new System.Drawing.Point(262, 130);
this.BtnCancel.Name = "BtnCancel"; this.BtnCancel.Name = "BtnCancel";
this.BtnCancel.Size = new System.Drawing.Size(75, 27); this.BtnCancel.Size = new System.Drawing.Size(75, 27);
this.BtnCancel.TabIndex = 10; this.BtnCancel.TabIndex = 10;
@ -52,8 +53,9 @@
// BtnOK // BtnOK
// //
this.BtnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.BtnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.BtnOK.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95))))); this.BtnOK.BaseColor = System.Drawing.Color.Teal;
this.BtnOK.Location = new System.Drawing.Point(183, 131); this.BtnOK.ColorGradient = true;
this.BtnOK.Location = new System.Drawing.Point(181, 130);
this.BtnOK.Name = "BtnOK"; this.BtnOK.Name = "BtnOK";
this.BtnOK.Size = new System.Drawing.Size(75, 27); this.BtnOK.Size = new System.Drawing.Size(75, 27);
this.BtnOK.TabIndex = 9; this.BtnOK.TabIndex = 9;
@ -123,14 +125,14 @@
// //
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(350, 165); this.ClientSize = new System.Drawing.Size(348, 164);
this.Controls.Add(this.label2); this.Controls.Add(this.label2);
this.Controls.Add(this.TxtDes); this.Controls.Add(this.TxtDes);
this.Controls.Add(this.label1); this.Controls.Add(this.label1);
this.Controls.Add(this.TxtName); this.Controls.Add(this.TxtName);
this.Controls.Add(this.BtnCancel); this.Controls.Add(this.BtnCancel);
this.Controls.Add(this.BtnOK); this.Controls.Add(this.BtnOK);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false; this.MaximizeBox = false;
this.Name = "FrmAddColumn"; this.Name = "FrmAddColumn";

View File

@ -28,394 +28,416 @@
/// </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(FrmAddSoft)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmAddSoft));
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();
this.使ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.使ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.of_File = new System.Windows.Forms.OpenFileDialog(); this.of_File = new System.Windows.Forms.OpenFileDialog();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.TxtCmdId = new ryControls.TextBoxEx2(); this.TxtCmdId = new ryControls.TextBoxEx2();
this.label6 = new System.Windows.Forms.Label(); this.label6 = new System.Windows.Forms.Label();
this.LblCustomImg = new System.Windows.Forms.Label(); this.LblCustomImg = new System.Windows.Forms.Label();
this.TxtDes = new ryControls.TextBoxEx2(); this.TxtDes = new ryControls.TextBoxEx2();
this.label4 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label();
this.chromeTabControl1 = new ryControls.ChromeTabControl(); this.chromeTabControl1 = new ryControls.ChromeTabControl();
this.tabPage1 = new System.Windows.Forms.TabPage(); this.tabPage1 = new System.Windows.Forms.TabPage();
this.ChkRunAsAdmin = new System.Windows.Forms.CheckBox(); this.label7 = new System.Windows.Forms.Label();
this.BtnBrowser = new ryControls.ButtonEx(); this.hotkeyTextBox1 = new ryControls.HotkeyTextBox();
this.TxtStartPath = new ryControls.TextBoxEx2(); this.ChkRunAsAdmin = new System.Windows.Forms.CheckBox();
this.label5 = new System.Windows.Forms.Label(); this.BtnBrowser = new ryControls.ButtonEx();
this.TxtPath = new ryControls.TextBoxEx2(); this.TxtStartPath = new ryControls.TextBoxEx2();
this.label2 = new System.Windows.Forms.Label(); this.label5 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label(); this.TxtPath = new ryControls.TextBoxEx2();
this.TxtRunPram = new ryControls.TextBoxEx2(); this.label2 = new System.Windows.Forms.Label();
this.BtnCancel = new ryControls.ButtonEx(); this.label3 = new System.Windows.Forms.Label();
this.BtnOK = new ryControls.ButtonEx(); this.TxtRunPram = new ryControls.TextBoxEx2();
this.PicImg = new System.Windows.Forms.PictureBox(); this.BtnCancel = new ryControls.ButtonEx();
this.label1 = new System.Windows.Forms.Label(); this.BtnOK = new ryControls.ButtonEx();
this.TxtName = new ryControls.TextBoxEx2(); this.PicImg = new System.Windows.Forms.PictureBox();
this.contextMenuStrip1.SuspendLayout(); this.label1 = new System.Windows.Forms.Label();
this.chromeTabControl1.SuspendLayout(); this.TxtName = new ryControls.TextBoxEx2();
this.tabPage1.SuspendLayout(); this.contextMenuStrip1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.PicImg)).BeginInit(); this.chromeTabControl1.SuspendLayout();
this.SuspendLayout(); this.tabPage1.SuspendLayout();
// ((System.ComponentModel.ISupportInitialize)(this.PicImg)).BeginInit();
// contextMenuStrip1 this.SuspendLayout();
// //
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { // contextMenuStrip1
this.ToolStripMenuItem, //
this.使ToolStripMenuItem}); this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.contextMenuStrip1.Name = "contextMenuStrip1"; this.ToolStripMenuItem,
this.contextMenuStrip1.Size = new System.Drawing.Size(173, 48); this.使ToolStripMenuItem});
// this.contextMenuStrip1.Name = "contextMenuStrip1";
// 选择图标ToolStripMenuItem this.contextMenuStrip1.Size = new System.Drawing.Size(173, 48);
// //
this.ToolStripMenuItem.Name = "选择图标ToolStripMenuItem"; // 选择图标ToolStripMenuItem
this.ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); //
this.ToolStripMenuItem.Text = "选择自定义图标"; this.ToolStripMenuItem.Name = "选择图标ToolStripMenuItem";
this.ToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItem_Click); this.ToolStripMenuItem.Size = new System.Drawing.Size(172, 22);
// this.ToolStripMenuItem.Text = "选择自定义图标";
// 使用应用图标ToolStripMenuItem this.ToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItem_Click);
// //
this.使ToolStripMenuItem.Name = "使用应用图标ToolStripMenuItem"; // 使用应用图标ToolStripMenuItem
this.使ToolStripMenuItem.Size = new System.Drawing.Size(172, 22); //
this.使ToolStripMenuItem.Text = "使用当前应用图标"; this.使ToolStripMenuItem.Name = "使用应用图标ToolStripMenuItem";
this.使ToolStripMenuItem.Click += new System.EventHandler(this.使ToolStripMenuItem_Click); this.使ToolStripMenuItem.Size = new System.Drawing.Size(172, 22);
// this.使ToolStripMenuItem.Text = "使用当前应用图标";
// openFileDialog1 this.使ToolStripMenuItem.Click += new System.EventHandler(this.使ToolStripMenuItem_Click);
// //
this.openFileDialog1.Filter = "图片文件|*.jpg;*.gif;*.bmp;*.png;*.jpeg;*.ico|应用程序|*.exe"; // openFileDialog1
// //
// of_File this.openFileDialog1.Filter = "图片文件|*.jpg;*.gif;*.bmp;*.png;*.jpeg;*.ico|应用程序|*.exe";
// //
this.of_File.Filter = "所有文件|*.*"; // of_File
// //
// TxtCmdId this.of_File.Filter = "所有文件|*.*";
// //
this.TxtCmdId.BackColor = System.Drawing.Color.White; // TxtCmdId
this.TxtCmdId.EmptyText = "默认为空"; //
this.TxtCmdId.Location = new System.Drawing.Point(310, 35); this.TxtCmdId.BackColor = System.Drawing.Color.White;
this.TxtCmdId.MaxLength = 999999999; this.TxtCmdId.EmptyText = "默认为空";
this.TxtCmdId.Multiline = false; this.TxtCmdId.Location = new System.Drawing.Point(310, 35);
this.TxtCmdId.Name = "TxtCmdId"; this.TxtCmdId.MaxLength = 999999999;
this.TxtCmdId.OnlyNumeric = false; this.TxtCmdId.Multiline = false;
this.TxtCmdId.PasswordChar = '\0'; this.TxtCmdId.Name = "TxtCmdId";
this.TxtCmdId.ReadOnly = false; this.TxtCmdId.OnlyNumeric = false;
this.TxtCmdId.SelectedText = ""; this.TxtCmdId.PasswordChar = '\0';
this.TxtCmdId.SelectionLength = 0; this.TxtCmdId.ReadOnly = false;
this.TxtCmdId.SelectionStart = 0; this.TxtCmdId.SelectedText = "";
this.TxtCmdId.Size = new System.Drawing.Size(133, 22); this.TxtCmdId.SelectionLength = 0;
this.TxtCmdId.TabIndex = 14; this.TxtCmdId.SelectionStart = 0;
this.TxtCmdId.TextAlign = System.Windows.Forms.HorizontalAlignment.Left; this.TxtCmdId.Size = new System.Drawing.Size(133, 22);
this.TxtCmdId.ToolTip = "当输入了唯一命令ID后用户可以根据该ID来运行当前软件\r\n或执行当前命令。\r\n\r\n*.命令ID只支持英文和数字字符"; this.TxtCmdId.TabIndex = 14;
this.TxtCmdId.WordWrap = true; this.TxtCmdId.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
// this.TxtCmdId.ToolTip = "当输入了唯一命令ID后用户可以根据该ID来运行当前软件\r\n或执行当前命令。\r\n\r\n*.命令ID只支持英文和数字字符";
// label6 this.TxtCmdId.WordWrap = true;
// //
this.label6.AutoSize = true; // label6
this.label6.Location = new System.Drawing.Point(239, 39); //
this.label6.Name = "label6"; this.label6.AutoSize = true;
this.label6.Size = new System.Drawing.Size(65, 12); this.label6.Location = new System.Drawing.Point(239, 38);
this.label6.TabIndex = 13; this.label6.Name = "label6";
this.label6.Text = "唯一命令ID"; this.label6.Size = new System.Drawing.Size(65, 12);
// this.label6.TabIndex = 13;
// LblCustomImg this.label6.Text = "唯一命令ID";
// //
this.LblCustomImg.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); // LblCustomImg
this.LblCustomImg.BackColor = System.Drawing.Color.Transparent; //
this.LblCustomImg.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.LblCustomImg.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.LblCustomImg.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.LblCustomImg.BackColor = System.Drawing.Color.Transparent;
this.LblCustomImg.ForeColor = System.Drawing.Color.DodgerBlue; this.LblCustomImg.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.LblCustomImg.Location = new System.Drawing.Point(448, 125); this.LblCustomImg.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.LblCustomImg.Name = "LblCustomImg"; this.LblCustomImg.ForeColor = System.Drawing.Color.DodgerBlue;
this.LblCustomImg.Size = new System.Drawing.Size(86, 18); this.LblCustomImg.Location = new System.Drawing.Point(576, 125);
this.LblCustomImg.TabIndex = 12; this.LblCustomImg.Name = "LblCustomImg";
this.LblCustomImg.Text = "自动获取"; this.LblCustomImg.Size = new System.Drawing.Size(86, 18);
this.LblCustomImg.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.LblCustomImg.TabIndex = 12;
// this.LblCustomImg.Text = "自动获取";
// TxtDes this.LblCustomImg.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
// //
this.TxtDes.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) // TxtDes
| System.Windows.Forms.AnchorStyles.Right))); //
this.TxtDes.BackColor = System.Drawing.Color.White; this.TxtDes.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
this.TxtDes.EmptyText = ""; | System.Windows.Forms.AnchorStyles.Right)));
this.TxtDes.Location = new System.Drawing.Point(57, 65); this.TxtDes.BackColor = System.Drawing.Color.White;
this.TxtDes.MaxLength = 999999999; this.TxtDes.EmptyText = "";
this.TxtDes.Multiline = true; this.TxtDes.Location = new System.Drawing.Point(57, 65);
this.TxtDes.Name = "TxtDes"; this.TxtDes.MaxLength = 999999999;
this.TxtDes.OnlyNumeric = false; this.TxtDes.Multiline = true;
this.TxtDes.PasswordChar = '\0'; this.TxtDes.Name = "TxtDes";
this.TxtDes.ReadOnly = false; this.TxtDes.OnlyNumeric = false;
this.TxtDes.SelectedText = ""; this.TxtDes.PasswordChar = '\0';
this.TxtDes.SelectionLength = 0; this.TxtDes.ReadOnly = false;
this.TxtDes.SelectionStart = 0; this.TxtDes.SelectedText = "";
this.TxtDes.Size = new System.Drawing.Size(385, 80); this.TxtDes.SelectionLength = 0;
this.TxtDes.TabIndex = 11; this.TxtDes.SelectionStart = 0;
this.TxtDes.TextAlign = System.Windows.Forms.HorizontalAlignment.Left; this.TxtDes.Size = new System.Drawing.Size(513, 80);
this.TxtDes.ToolTip = ""; this.TxtDes.TabIndex = 11;
this.TxtDes.WordWrap = true; this.TxtDes.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
// this.TxtDes.ToolTip = "";
// label4 this.TxtDes.WordWrap = true;
// //
this.label4.AutoSize = true; // label4
this.label4.Location = new System.Drawing.Point(12, 65); //
this.label4.Name = "label4"; this.label4.AutoSize = true;
this.label4.Size = new System.Drawing.Size(29, 12); this.label4.Location = new System.Drawing.Point(12, 65);
this.label4.TabIndex = 10; this.label4.Name = "label4";
this.label4.Text = "备注"; this.label4.Size = new System.Drawing.Size(29, 12);
// this.label4.TabIndex = 10;
// chromeTabControl1 this.label4.Text = "备注";
// //
this.chromeTabControl1.AllowDragTab = false; // chromeTabControl1
this.chromeTabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) //
| System.Windows.Forms.AnchorStyles.Left) this.chromeTabControl1.AllowDragTab = false;
| System.Windows.Forms.AnchorStyles.Right))); this.chromeTabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
this.chromeTabControl1.BackTabPageImage = null; | System.Windows.Forms.AnchorStyles.Left)
this.chromeTabControl1.Controls.Add(this.tabPage1); | System.Windows.Forms.AnchorStyles.Right)));
this.chromeTabControl1.Cursor = System.Windows.Forms.Cursors.Default; this.chromeTabControl1.BackTabPageImage = null;
this.chromeTabControl1.ItemSize = new System.Drawing.Size(100, 25); this.chromeTabControl1.Controls.Add(this.tabPage1);
this.chromeTabControl1.Location = new System.Drawing.Point(12, 155); this.chromeTabControl1.Cursor = System.Windows.Forms.Cursors.Default;
this.chromeTabControl1.Name = "chromeTabControl1"; this.chromeTabControl1.ItemSize = new System.Drawing.Size(100, 25);
this.chromeTabControl1.SelectedIndex = 0; this.chromeTabControl1.Location = new System.Drawing.Point(12, 155);
this.chromeTabControl1.ShowAddButton = false; this.chromeTabControl1.Name = "chromeTabControl1";
this.chromeTabControl1.ShowCloseButton = false; this.chromeTabControl1.SelectedIndex = 0;
this.chromeTabControl1.Size = new System.Drawing.Size(522, 306); this.chromeTabControl1.ShowAddButton = false;
this.chromeTabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed; this.chromeTabControl1.ShowCloseButton = false;
this.chromeTabControl1.TabContextMenuStrip = null; this.chromeTabControl1.Size = new System.Drawing.Size(650, 415);
this.chromeTabControl1.TabIndex = 9; this.chromeTabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
this.chromeTabControl1.TabMaxWidth = 100; this.chromeTabControl1.TabContextMenuStrip = null;
// this.chromeTabControl1.TabIndex = 9;
// tabPage1 this.chromeTabControl1.TabMaxWidth = 100;
// //
this.tabPage1.Controls.Add(this.ChkRunAsAdmin); // tabPage1
this.tabPage1.Controls.Add(this.BtnBrowser); //
this.tabPage1.Controls.Add(this.TxtStartPath); this.tabPage1.Controls.Add(this.label7);
this.tabPage1.Controls.Add(this.label5); this.tabPage1.Controls.Add(this.hotkeyTextBox1);
this.tabPage1.Controls.Add(this.TxtPath); this.tabPage1.Controls.Add(this.ChkRunAsAdmin);
this.tabPage1.Controls.Add(this.label2); this.tabPage1.Controls.Add(this.BtnBrowser);
this.tabPage1.Controls.Add(this.label3); this.tabPage1.Controls.Add(this.TxtStartPath);
this.tabPage1.Controls.Add(this.TxtRunPram); this.tabPage1.Controls.Add(this.label5);
this.tabPage1.Location = new System.Drawing.Point(1, 29); this.tabPage1.Controls.Add(this.TxtPath);
this.tabPage1.Name = "tabPage1"; this.tabPage1.Controls.Add(this.label2);
this.tabPage1.Padding = new System.Windows.Forms.Padding(3); this.tabPage1.Controls.Add(this.label3);
this.tabPage1.Size = new System.Drawing.Size(520, 276); this.tabPage1.Controls.Add(this.TxtRunPram);
this.tabPage1.TabIndex = 0; this.tabPage1.Location = new System.Drawing.Point(1, 29);
this.tabPage1.Text = "运行"; this.tabPage1.Name = "tabPage1";
this.tabPage1.UseVisualStyleBackColor = true; this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
// this.tabPage1.Size = new System.Drawing.Size(648, 385);
// ChkRunAsAdmin this.tabPage1.TabIndex = 0;
// this.tabPage1.Text = "运行";
this.ChkRunAsAdmin.AutoSize = true; this.tabPage1.UseVisualStyleBackColor = true;
this.ChkRunAsAdmin.Location = new System.Drawing.Point(8, 131); //
this.ChkRunAsAdmin.Name = "ChkRunAsAdmin"; // label7
this.ChkRunAsAdmin.Size = new System.Drawing.Size(144, 16); //
this.ChkRunAsAdmin.TabIndex = 9; this.label7.AutoSize = true;
this.ChkRunAsAdmin.Text = "强制以管理员方式启动"; this.label7.Location = new System.Drawing.Point(6, 153);
this.ChkRunAsAdmin.UseVisualStyleBackColor = true; this.label7.Name = "label7";
// this.label7.Size = new System.Drawing.Size(53, 12);
// BtnBrowser this.label7.TabIndex = 11;
// this.label7.Text = "运行热键";
this.BtnBrowser.BaseColor = System.Drawing.Color.DarkGreen; //
this.BtnBrowser.ColorGradient = true; // hotkeyTextBox1
this.BtnBrowser.Location = new System.Drawing.Point(463, 20); //
this.BtnBrowser.Name = "BtnBrowser"; this.hotkeyTextBox1.BackColor = System.Drawing.Color.White;
this.BtnBrowser.Size = new System.Drawing.Size(33, 27); this.hotkeyTextBox1.HotKey = "0+0";
this.BtnBrowser.TabIndex = 8; this.hotkeyTextBox1.Location = new System.Drawing.Point(8, 168);
this.BtnBrowser.Text = "..."; this.hotkeyTextBox1.Name = "hotkeyTextBox1";
this.BtnBrowser.UseVisualStyleBackColor = true; this.hotkeyTextBox1.Size = new System.Drawing.Size(244, 26);
this.BtnBrowser.Click += new System.EventHandler(this.BtnBrowser_Click); this.hotkeyTextBox1.T_Key = System.Windows.Forms.Keys.None;
// this.hotkeyTextBox1.T_Modifiers = 0;
// TxtStartPath this.hotkeyTextBox1.TabIndex = 10;
// //
this.TxtStartPath.BackColor = System.Drawing.Color.White; // ChkRunAsAdmin
this.TxtStartPath.EmptyText = "留空则表示使用默认设置"; //
this.TxtStartPath.Location = new System.Drawing.Point(8, 103); this.ChkRunAsAdmin.AutoSize = true;
this.TxtStartPath.MaxLength = 999999999; this.ChkRunAsAdmin.Location = new System.Drawing.Point(8, 131);
this.TxtStartPath.Multiline = false; this.ChkRunAsAdmin.Name = "ChkRunAsAdmin";
this.TxtStartPath.Name = "TxtStartPath"; this.ChkRunAsAdmin.Size = new System.Drawing.Size(144, 16);
this.TxtStartPath.OnlyNumeric = false; this.ChkRunAsAdmin.TabIndex = 9;
this.TxtStartPath.PasswordChar = '\0'; this.ChkRunAsAdmin.Text = "强制以管理员方式启动";
this.TxtStartPath.ReadOnly = false; this.ChkRunAsAdmin.UseVisualStyleBackColor = true;
this.TxtStartPath.SelectedText = ""; //
this.TxtStartPath.SelectionLength = 0; // BtnBrowser
this.TxtStartPath.SelectionStart = 0; //
this.TxtStartPath.Size = new System.Drawing.Size(449, 22); this.BtnBrowser.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(150)))), ((int)(((byte)(20)))));
this.TxtStartPath.TabIndex = 7; this.BtnBrowser.ColorGradient = true;
this.TxtStartPath.TextAlign = System.Windows.Forms.HorizontalAlignment.Left; this.BtnBrowser.Location = new System.Drawing.Point(463, 20);
this.TxtStartPath.ToolTip = ""; this.BtnBrowser.Name = "BtnBrowser";
this.TxtStartPath.WordWrap = true; this.BtnBrowser.Size = new System.Drawing.Size(33, 27);
// this.BtnBrowser.TabIndex = 8;
// label5 this.BtnBrowser.Text = "...";
// this.BtnBrowser.UseVisualStyleBackColor = true;
this.label5.AutoSize = true; this.BtnBrowser.Click += new System.EventHandler(this.BtnBrowser_Click);
this.label5.Location = new System.Drawing.Point(6, 88); //
this.label5.Name = "label5"; // TxtStartPath
this.label5.Size = new System.Drawing.Size(53, 12); //
this.label5.TabIndex = 6; this.TxtStartPath.BackColor = System.Drawing.Color.White;
this.label5.Text = "当前路径"; this.TxtStartPath.EmptyText = "留空则表示使用默认设置";
// this.TxtStartPath.Location = new System.Drawing.Point(8, 103);
// TxtPath this.TxtStartPath.MaxLength = 999999999;
// this.TxtStartPath.Multiline = false;
this.TxtPath.BackColor = System.Drawing.Color.White; this.TxtStartPath.Name = "TxtStartPath";
this.TxtPath.EmptyText = ""; this.TxtStartPath.OnlyNumeric = false;
this.TxtPath.Location = new System.Drawing.Point(6, 23); this.TxtStartPath.PasswordChar = '\0';
this.TxtPath.MaxLength = 999999999; this.TxtStartPath.ReadOnly = false;
this.TxtPath.Multiline = false; this.TxtStartPath.SelectedText = "";
this.TxtPath.Name = "TxtPath"; this.TxtStartPath.SelectionLength = 0;
this.TxtPath.OnlyNumeric = false; this.TxtStartPath.SelectionStart = 0;
this.TxtPath.PasswordChar = '\0'; this.TxtStartPath.Size = new System.Drawing.Size(449, 22);
this.TxtPath.ReadOnly = false; this.TxtStartPath.TabIndex = 7;
this.TxtPath.SelectedText = ""; this.TxtStartPath.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
this.TxtPath.SelectionLength = 0; this.TxtStartPath.ToolTip = "";
this.TxtPath.SelectionStart = 0; this.TxtStartPath.WordWrap = true;
this.TxtPath.Size = new System.Drawing.Size(451, 22); //
this.TxtPath.TabIndex = 3; // label5
this.TxtPath.TextAlign = System.Windows.Forms.HorizontalAlignment.Left; //
this.TxtPath.ToolTip = ""; this.label5.AutoSize = true;
this.TxtPath.WordWrap = true; this.label5.Location = new System.Drawing.Point(6, 88);
this.TxtPath.TextChanged2 += new System.EventHandler(this.TxtPath_TextChanged2); this.label5.Name = "label5";
// this.label5.Size = new System.Drawing.Size(53, 12);
// label2 this.label5.TabIndex = 6;
// this.label5.Text = "当前路径";
this.label2.AutoSize = true; //
this.label2.Location = new System.Drawing.Point(6, 8); // TxtPath
this.label2.Name = "label2"; //
this.label2.Size = new System.Drawing.Size(29, 12); this.TxtPath.BackColor = System.Drawing.Color.White;
this.label2.TabIndex = 2; this.TxtPath.EmptyText = "";
this.label2.Text = "路径"; this.TxtPath.Location = new System.Drawing.Point(6, 23);
// this.TxtPath.MaxLength = 999999999;
// label3 this.TxtPath.Multiline = false;
// this.TxtPath.Name = "TxtPath";
this.label3.AutoSize = true; this.TxtPath.OnlyNumeric = false;
this.label3.Location = new System.Drawing.Point(6, 48); this.TxtPath.PasswordChar = '\0';
this.label3.Name = "label3"; this.TxtPath.ReadOnly = false;
this.label3.Size = new System.Drawing.Size(29, 12); this.TxtPath.SelectedText = "";
this.label3.TabIndex = 4; this.TxtPath.SelectionLength = 0;
this.label3.Text = "参数"; this.TxtPath.SelectionStart = 0;
// this.TxtPath.Size = new System.Drawing.Size(451, 22);
// TxtRunPram this.TxtPath.TabIndex = 3;
// this.TxtPath.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
this.TxtRunPram.BackColor = System.Drawing.Color.White; this.TxtPath.ToolTip = "";
this.TxtRunPram.EmptyText = ""; this.TxtPath.WordWrap = true;
this.TxtRunPram.Location = new System.Drawing.Point(6, 63); this.TxtPath.TextChanged2 += new System.EventHandler(this.TxtPath_TextChanged2);
this.TxtRunPram.MaxLength = 999999999; //
this.TxtRunPram.Multiline = false; // label2
this.TxtRunPram.Name = "TxtRunPram"; //
this.TxtRunPram.OnlyNumeric = false; this.label2.AutoSize = true;
this.TxtRunPram.PasswordChar = '\0'; this.label2.Location = new System.Drawing.Point(6, 8);
this.TxtRunPram.ReadOnly = false; this.label2.Name = "label2";
this.TxtRunPram.SelectedText = ""; this.label2.Size = new System.Drawing.Size(29, 12);
this.TxtRunPram.SelectionLength = 0; this.label2.TabIndex = 2;
this.TxtRunPram.SelectionStart = 0; this.label2.Text = "路径";
this.TxtRunPram.Size = new System.Drawing.Size(451, 22); //
this.TxtRunPram.TabIndex = 5; // label3
this.TxtRunPram.TextAlign = System.Windows.Forms.HorizontalAlignment.Left; //
this.TxtRunPram.ToolTip = ""; this.label3.AutoSize = true;
this.TxtRunPram.WordWrap = true; this.label3.Location = new System.Drawing.Point(6, 48);
// this.label3.Name = "label3";
// BtnCancel this.label3.Size = new System.Drawing.Size(29, 12);
// this.label3.TabIndex = 4;
this.BtnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.label3.Text = "参数";
this.BtnCancel.BaseColor = System.Drawing.Color.DarkGreen; //
this.BtnCancel.ColorGradient = true; // TxtRunPram
this.BtnCancel.Location = new System.Drawing.Point(458, 467); //
this.BtnCancel.Name = "BtnCancel"; this.TxtRunPram.BackColor = System.Drawing.Color.White;
this.BtnCancel.Size = new System.Drawing.Size(75, 27); this.TxtRunPram.EmptyText = "";
this.BtnCancel.TabIndex = 8; this.TxtRunPram.Location = new System.Drawing.Point(6, 63);
this.BtnCancel.Text = "取消"; this.TxtRunPram.MaxLength = 999999999;
this.BtnCancel.UseVisualStyleBackColor = true; this.TxtRunPram.Multiline = false;
this.BtnCancel.Click += new System.EventHandler(this.BtnCancel_Click); this.TxtRunPram.Name = "TxtRunPram";
// this.TxtRunPram.OnlyNumeric = false;
// BtnOK this.TxtRunPram.PasswordChar = '\0';
// this.TxtRunPram.ReadOnly = false;
this.BtnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.TxtRunPram.SelectedText = "";
this.BtnOK.BaseColor = System.Drawing.Color.DarkGreen; this.TxtRunPram.SelectionLength = 0;
this.BtnOK.ColorGradient = true; this.TxtRunPram.SelectionStart = 0;
this.BtnOK.Location = new System.Drawing.Point(377, 467); this.TxtRunPram.Size = new System.Drawing.Size(451, 22);
this.BtnOK.Name = "BtnOK"; this.TxtRunPram.TabIndex = 5;
this.BtnOK.Size = new System.Drawing.Size(75, 27); this.TxtRunPram.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
this.BtnOK.TabIndex = 7; this.TxtRunPram.ToolTip = "";
this.BtnOK.Text = "确定"; this.TxtRunPram.WordWrap = true;
this.BtnOK.UseVisualStyleBackColor = true; //
this.BtnOK.Click += new System.EventHandler(this.BtnOK_Click); // BtnCancel
// //
// PicImg this.BtnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
// this.BtnCancel.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(150)))), ((int)(((byte)(20)))));
this.PicImg.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.BtnCancel.ColorGradient = true;
this.PicImg.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.BtnCancel.Location = new System.Drawing.Point(586, 576);
this.PicImg.ContextMenuStrip = this.contextMenuStrip1; this.BtnCancel.Name = "BtnCancel";
this.PicImg.Cursor = System.Windows.Forms.Cursors.Hand; this.BtnCancel.Size = new System.Drawing.Size(75, 27);
this.PicImg.Location = new System.Drawing.Point(448, 36); this.BtnCancel.TabIndex = 8;
this.PicImg.Name = "PicImg"; this.BtnCancel.Text = "取消";
this.PicImg.Size = new System.Drawing.Size(86, 86); this.BtnCancel.UseVisualStyleBackColor = true;
this.PicImg.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; this.BtnCancel.Click += new System.EventHandler(this.BtnCancel_Click);
this.PicImg.TabIndex = 6; //
this.PicImg.TabStop = false; // BtnOK
this.PicImg.Click += new System.EventHandler(this.PicImg_Click); //
// this.BtnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
// label1 this.BtnOK.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(150)))), ((int)(((byte)(20)))));
// this.BtnOK.ColorGradient = true;
this.label1.AutoSize = true; this.BtnOK.Location = new System.Drawing.Point(505, 576);
this.label1.Location = new System.Drawing.Point(10, 39); this.BtnOK.Name = "BtnOK";
this.label1.Name = "label1"; this.BtnOK.Size = new System.Drawing.Size(75, 27);
this.label1.Size = new System.Drawing.Size(41, 12); this.BtnOK.TabIndex = 7;
this.label1.TabIndex = 1; this.BtnOK.Text = "确定";
this.label1.Text = "软件名"; this.BtnOK.UseVisualStyleBackColor = true;
// this.BtnOK.Click += new System.EventHandler(this.BtnOK_Click);
// TxtName //
// // PicImg
this.TxtName.BackColor = System.Drawing.Color.White; //
this.TxtName.EmptyText = ""; this.PicImg.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.TxtName.Location = new System.Drawing.Point(57, 35); this.PicImg.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.TxtName.MaxLength = 999999999; this.PicImg.ContextMenuStrip = this.contextMenuStrip1;
this.TxtName.Multiline = false; this.PicImg.Cursor = System.Windows.Forms.Cursors.Hand;
this.TxtName.Name = "TxtName"; this.PicImg.Location = new System.Drawing.Point(576, 36);
this.TxtName.OnlyNumeric = false; this.PicImg.Name = "PicImg";
this.TxtName.PasswordChar = '\0'; this.PicImg.Size = new System.Drawing.Size(86, 86);
this.TxtName.ReadOnly = false; this.PicImg.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.TxtName.SelectedText = ""; this.PicImg.TabIndex = 6;
this.TxtName.SelectionLength = 0; this.PicImg.TabStop = false;
this.TxtName.SelectionStart = 0; this.PicImg.Click += new System.EventHandler(this.PicImg_Click);
this.TxtName.Size = new System.Drawing.Size(175, 22); //
this.TxtName.TabIndex = 0; // label1
this.TxtName.TextAlign = System.Windows.Forms.HorizontalAlignment.Left; //
this.TxtName.ToolTip = ""; this.label1.AutoSize = true;
this.TxtName.WordWrap = true; this.label1.Location = new System.Drawing.Point(10, 38);
// this.label1.Name = "label1";
// FrmAddSoft this.label1.Size = new System.Drawing.Size(41, 12);
// this.label1.TabIndex = 1;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.label1.Text = "软件名";
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; //
this.ClientSize = new System.Drawing.Size(543, 506); // TxtName
this.Controls.Add(this.TxtCmdId); //
this.Controls.Add(this.label6); this.TxtName.BackColor = System.Drawing.Color.White;
this.Controls.Add(this.LblCustomImg); this.TxtName.EmptyText = "";
this.Controls.Add(this.TxtDes); this.TxtName.Location = new System.Drawing.Point(57, 35);
this.Controls.Add(this.label4); this.TxtName.MaxLength = 999999999;
this.Controls.Add(this.chromeTabControl1); this.TxtName.Multiline = false;
this.Controls.Add(this.BtnCancel); this.TxtName.Name = "TxtName";
this.Controls.Add(this.BtnOK); this.TxtName.OnlyNumeric = false;
this.Controls.Add(this.PicImg); this.TxtName.PasswordChar = '\0';
this.Controls.Add(this.label1); this.TxtName.ReadOnly = false;
this.Controls.Add(this.TxtName); this.TxtName.SelectedText = "";
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.TxtName.SelectionLength = 0;
this.Name = "FrmAddSoft"; this.TxtName.SelectionStart = 0;
this.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224))))); this.TxtName.Size = new System.Drawing.Size(175, 22);
this.ShadowWidth = 0; this.TxtName.TabIndex = 0;
this.ShowShadow = true; this.TxtName.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.TxtName.ToolTip = "";
this.Text = "添加软件"; this.TxtName.WordWrap = true;
this.Load += new System.EventHandler(this.FrmAddSoft_Load); //
this.contextMenuStrip1.ResumeLayout(false); // FrmAddSoft
this.chromeTabControl1.ResumeLayout(false); //
this.tabPage1.ResumeLayout(false); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.tabPage1.PerformLayout(); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
((System.ComponentModel.ISupportInitialize)(this.PicImg)).EndInit(); this.ClientSize = new System.Drawing.Size(671, 615);
this.ResumeLayout(false); this.Controls.Add(this.TxtCmdId);
this.PerformLayout(); this.Controls.Add(this.label6);
this.Controls.Add(this.LblCustomImg);
this.Controls.Add(this.TxtDes);
this.Controls.Add(this.label4);
this.Controls.Add(this.chromeTabControl1);
this.Controls.Add(this.BtnCancel);
this.Controls.Add(this.BtnOK);
this.Controls.Add(this.PicImg);
this.Controls.Add(this.label1);
this.Controls.Add(this.TxtName);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "FrmAddSoft";
this.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "添加软件";
this.Load += new System.EventHandler(this.FrmAddSoft_Load);
this.contextMenuStrip1.ResumeLayout(false);
this.chromeTabControl1.ResumeLayout(false);
this.tabPage1.ResumeLayout(false);
this.tabPage1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.PicImg)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
} }
#endregion #endregion
@ -445,6 +467,8 @@
private System.Windows.Forms.CheckBox ChkRunAsAdmin; private System.Windows.Forms.CheckBox ChkRunAsAdmin;
private System.Windows.Forms.Label label6; private System.Windows.Forms.Label label6;
private ryControls.TextBoxEx2 TxtCmdId; private ryControls.TextBoxEx2 TxtCmdId;
private System.Windows.Forms.ToolTip toolTip1; private System.Windows.Forms.ToolTip toolTip1;
private System.Windows.Forms.Label label7;
public ryControls.HotkeyTextBox hotkeyTextBox1;
} }
} }

View File

@ -65,6 +65,7 @@ namespace VSoft
TxtPath.Text = reader["Path"].ToString(); TxtPath.Text = reader["Path"].ToString();
TxtRunPram.Text = reader["RunPram"].ToString(); TxtRunPram.Text = reader["RunPram"].ToString();
TxtStartPath.Text = reader["StartPath"].ToString(); TxtStartPath.Text = reader["StartPath"].ToString();
hotkeyTextBox1.HotKey = reader["Hotkey"].ToString();
Json json = new Json(reader["SetJson"].ToString()); Json json = new Json(reader["SetJson"].ToString());
ChkRunAsAdmin.Checked = json.GetJsonValue("RunAsAdmin", false); ChkRunAsAdmin.Checked = json.GetJsonValue("RunAsAdmin", false);
var _IconPath = reader["IconPath"].ToString(); var _IconPath = reader["IconPath"].ToString();
@ -84,7 +85,10 @@ namespace VSoft
} }
db.Free(); db.Free();
} }
/// <summary>
/// 当前操作的id
/// </summary>
public int Op_Id { get; set; } = -1;
private void BtnOK_Click(object sender, EventArgs e) private void BtnOK_Click(object sender, EventArgs e)
{ {
if (TxtName.Text.Length == 0) if (TxtName.Text.Length == 0)
@ -126,6 +130,26 @@ namespace VSoft
} }
ds.Dispose(); ds.Dispose();
} }
if (hotkeyTextBox1.HaveHotKey)
{
var ds_soft = db.ReadData("select * from " + tableName + " where Hotkey='" + hotkeyTextBox1.HotKey + "' and id<>" + SelectId + " limit 1");
var ds_type = db.ReadData("select * from Columns where Hotkey='" + hotkeyTextBox1.HotKey + "' limit 1");
if (mydb.HaveData(ds_soft) || ds_type.HaveData())
{
Msg.ShowMsg("当前热键已经存在,请更换热键。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
ds_soft.Dispose(); ds_type.Dispose(); return;
}
else
{
if(Config.Soft_Config.IsHotKeyExistInList(hotkeyTextBox1.HotKey)>=0)
{
Msg.ShowMsg("当前热键已经存在,请更换热键。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
ds_soft.Dispose(); ds_type.Dispose(); return;
}
}
ds_soft.Dispose();
ds_type.Dispose();
}
RyQuickSQL mySQL = new RyQuickSQL(tableName); RyQuickSQL mySQL = new RyQuickSQL(tableName);
mySQL.AddField("Name", TxtName.Text); mySQL.AddField("Name", TxtName.Text);
mySQL.AddField("CmdId", TxtCmdId.Text); mySQL.AddField("CmdId", TxtCmdId.Text);
@ -136,7 +160,8 @@ namespace VSoft
Json json = new Json(""); Json json = new Json("");
json.Add("RunAsAdmin", ChkRunAsAdmin.Checked); json.Add("RunAsAdmin", ChkRunAsAdmin.Checked);
mySQL.AddField("SetJson", json.Text);//设置 mySQL.AddField("SetJson", json.Text);//设置
mySQL.AddField("Des", TxtDes.Text);//备注 mySQL.AddField("Des", TxtDes.Text);//备注
mySQL.AddField("Hotkey", hotkeyTextBox1.HaveHotKey?hotkeyTextBox1.HotKey:"");//快捷键
mySQL.AddField("Pinyin", ryCommon.PinYin.Convert(TxtName.Text) + "\r\n" + ryCommon.PinYin.ConvertFirstPY(TxtName.Text)); mySQL.AddField("Pinyin", ryCommon.PinYin.Convert(TxtName.Text) + "\r\n" + ryCommon.PinYin.ConvertFirstPY(TxtName.Text));
mySQL.AddField("editTime", DateTime.Now); mySQL.AddField("editTime", DateTime.Now);
if (IsAdd >= 1) if (IsAdd >= 1)
@ -146,11 +171,17 @@ namespace VSoft
mySQL.AddField("ColumnId",ColumnId); mySQL.AddField("ColumnId",ColumnId);
mySQL.AddField("sortindex",Itrycn_Db.GetSoftCount(db, ColumnId) + 1); mySQL.AddField("sortindex",Itrycn_Db.GetSoftCount(db, ColumnId) + 1);
mySQL.AddField("addTime", DateTime.Now); mySQL.AddField("addTime", DateTime.Now);
db.ExecuteNonQuery(mySQL.GetInsertSQL(), mySQL); var ds= db.ReadData(mySQL.GetInsertSQL()+";select last_insert_rowid();", mySQL);
if (ds.HaveData())
{
Op_Id = ds.GetFirstRowCellValue();
}
ds.Dispose();
} }
else else
{ {
db.ExecuteNonQuery(mySQL.GetUpdateSQL() + " where id=" + SelectId, mySQL); db.ExecuteNonQuery(mySQL.GetUpdateSQL() + " where id=" + SelectId, mySQL);
Op_Id = SelectId;
} }
} }
db.Free(); db.Free();

View File

@ -1,209 +1,209 @@
<?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="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>254, 17</value> <value>254, 17</value>
</metadata> </metadata>
<metadata name="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="openFileDialog1.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="of_File.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="of_File.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>165, 17</value> <value>165, 17</value>
</metadata> </metadata>
<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>419, 17</value> <value>419, 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>
AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAACMuAAAjLgAAAAAAAAAA AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAACMuAAAjLgAAAAAAAAAA
AAAAAAAAAAAAAKizMQCVogAAoKscAJ2pFQCVowUAtrpDAqmwKAWmriMGpq4kB6auJAemriQHpq4kB6au AAAAAAAAAAAAAKizMQCVogAAoKscAJ2pFQCVowUAtrpDAqmwKAWmriMGpq4kB6auJAemriQHpq4kB6au
JAemriQHpq4kB6auJAemriQHpq4kB6auJAemriQHpq4jBqiwKAW0uT4Ck6IBAJ2pFQCgrBwAh5QAAKey JAemriQHpq4kB6auJAemriQHpq4kB6auJAemriQHpq4jBqiwKAW0uT4Ck6IBAJ2pFQCgrBwAh5QAAKey
LgAAAAAAAAAAAAAAAACfriQAorApAJupFgCgrB0Tn6oYU56pFomeqRalnqkVsJ6pFbSeqRW0nqkVtJ6p LgAAAAAAAAAAAAAAAACfriQAorApAJupFgCgrB0Tn6oYU56pFomeqRalnqkVsJ6pFbSeqRW0nqkVtJ6p
FbSeqRW0nqkVtJ6pFbSeqRW0nqkVtJ6pFbSeqRW0nqkVtJ6pFbSeqRW0nqkVsZ6pFqaeqRaLn6oYVqCs FbSeqRW0nqkVtJ6pFbSeqRW0nqkVtJ6pFbSeqRW0nqkVtJ6pFbSeqRW0nqkVsZ6pFqaeqRaLn6oYVqCs
HRaaqRUAoa8mAJ+tIwAAAAAAo7IwAKGwKQCVpQsAnqscQp2qGMScqRf7nKkW/5ypFv+cqRb/nKkW/5yp HRaaqRUAoa8mAJ+tIwAAAAAAo7IwAKGwKQCVpQsAnqscQp2qGMScqRf7nKkW/5ypFv+cqRb/nKkW/5yp
Fv+cqRb/nKkW/5ypFv+cqRb/nKkW/5ypFv+cqRb/nKkW/5ypFv+cqRb/nKkW/5ypFv+cqRb/nKkW/5yp Fv+cqRb/nKkW/5ypFv+cqRb/nKkW/5ypFv+cqRb/nKkW/5ypFv+cqRb/nKkW/5ypFv+cqRb/nKkW/5yp
Fv+cqRf8naoYyZ2rHEiKnQAAoK4lAKCxKwCGogAAmaoZAJysHkSbqhvjm6oa/5uqGv+bqhr/m6oa/5uq Fv+cqRf8naoYyZ2rHEiKnQAAoK4lAKCxKwCGogAAmaoZAJysHkSbqhvjm6oa/5uqGv+bqhr/m6oa/5uq
Gv+bqhr/m6oa/5uqGv+bqhr/m6oa/5uqGv+bqhr/m6oa/5uqGv+bqhr/m6oa/5uqGv+bqhr/m6oa/5uq Gv+bqhr/m6oa/5uqGv+bqhr/m6oa/5uqGv+bqhr/m6oa/5uqGv+bqhr/m6oa/5uqGv+bqhr/m6oa/5uq
Gv+bqhr/m6oa/5uqGv+bqhr/m6ob6JyrHk2YqRYA1s2DAJyuJACcriYZmqwfy5mrHf+Zqx3/masd/5mr Gv+bqhr/m6oa/5uqGv+bqhr/m6ob6JyrHk2YqRYA1s2DAJyuJACcriYZmqwfy5mrHf+Zqx3/masd/5mr
Hf+Zqx3/masd/5mrHf+Zqx3/masd/5mrHf+Zqx3/masc/5mrHP+Zqxz/masc/5mrHf+Zqx3/masd/5mr Hf+Zqx3/masd/5mrHf+Zqx3/masd/5mrHf+Zqx3/masc/5mrHP+Zqxz/masc/5mrHf+Zqx3/masd/5mr
Hf+Zqx3/masd/5mrHf+Zqx3/masd/5mrHf+Zqx3/mqwe0puuJB6brSMAl6sfAJmtJGGYrCD+mKwg/5is Hf+Zqx3/masd/5mrHf+Zqx3/masd/5mrHf+Zqx3/mqwe0puuJB6brSMAl6sfAJmtJGGYrCD+mKwg/5is
IP+YrCD/mKwg/5isIP+YrCD/mKwg/5isIP+XrB//lqsd/5isIv+dsCz/obM1/6GzNP+dsCv/mKwh/5ar IP+YrCD/mKwg/5isIP+YrCD/mKwg/5isIP+XrB//lqsd/5isIv+dsCz/obM1/6GzNP+dsCv/mKwh/5ar
Hf+XrB//mKwg/5esH/+YrCH/mKwg/5esH/+YrCD/mKwg/5isIP+YrCD/ma0jbJaqHAD///8Al64mm5et Hf+XrB//mKwg/5esH/+YrCH/mKwg/5esH/+YrCD/mKwg/5isIP+YrCD/ma0jbJaqHAD///8Al64mm5et
JP+XrST/l60k/5etJP+XrST/l60k/5etJP+WrSP/lawi/6G1Ov+9y3X/2eGu/+jt0P/v8t3/7/Lc/+fs JP+XrST/l60k/5etJP+XrST/l60k/5etJP+WrSP/lawi/6G1Ov+9y3X/2eGu/+jt0P/v8t3/7/Lc/+fs
zf/W36n/uslu/5+zNf+UqyD/p7lG/9bfqf/Z4a7/tcRj/5asIv+XrST/l60k/5etJP+XriamprtJA520 zf/W36n/uslu/5+zNf+UqyD/p7lG/9bfqf/Z4a7/tcRj/5asIv+XrST/l60k/5etJP+XriamprtJA520
OgiWryu4la4p/5WuKf+Vrin/la4p/5WuKf+Vrin/la0o/5mxMP+/zXz/7PDY//7+/f////////////// OgiWryu4la4p/5WuKf+Vrin/la4p/5WuKf+Vrin/la0o/5mxMP+/zXz/7PDY//7+/f//////////////
///////////////////9/vz/6O3Q/8LQg//l68v////////////R3KP/lK0n/5WuKf+Vrin/la4p/5au ///////////////////9/vz/6O3Q/8LQg//l68v////////////R3KP/lK0n/5WuKf+Vrin/la4p/5au
K8KbszYNm7Q8DZWvMMOUry//lK8v/5SvL/+Ury//lK8v/5SuLf+ctT7/1N6r//39+/////////////// K8KbszYNm7Q8DZWvMMOUry//lK8v/5SvL/+Ury//lK8v/5SuLf+ctT7/1N6r//39+///////////////
///7/Pj/9vnv//f57//8/fn//////////////////////////////////////8vYm/+Uri3/lK8v/5Sv ///7/Pj/9vnv//f57//8/fn//////////////////////////////////////8vYm/+Uri3/lK8v/5Sv
L/+Ury//la8wzJqzOxOctkYPlLA2x5OwNP+TsDT/k7A0/5OwNP+TrzP/mLM+/9bhsv////////////// L/+Ury//la8wzJqzOxOctkYPlLA2x5OwNP+TsDT/k7A0/5OwNP+TrzP/mLM+/9bhsv//////////////
///t8t//ydic/6/Fa/+lvVf/pr1Y/7HGbv/M2qL/8/bq///////////////////////b5Lz/nbdH/5Kv ///t8t//ydic/6/Fa/+lvVf/pr1Y/7HGbv/M2qL/8/bq///////////////////////b5Lz/nbdH/5Kv
M/+TsDT/k7A0/5OwNP+TsDXQlrI6FZy4TBCTsT3HkrA6/5KxOv+SsTr/krA6/5KwOv/E1JT//v79//// M/+TsDT/k7A0/5OwNP+TsDXQlrI6FZy4TBCTsT3HkrA6/5KxOv+SsTr/krA6/5KwOv/E1JT//v79////
///9/vz/0+Cy/5+6U/+RsDj/kK83/5GwOP+RsDj/j641/6K8WP/r8Nr//////////////////v7+/7/R ///9/vz/0+Cy/5+6U/+RsDj/kK83/5GwOP+RsDj/j641/6K8WP/r8Nr//////////////////v7+/7/R
jP+Qrzf/krE6/5KxOv+SsTr/krA6/5KxO9CUsj4Wm7lREJKyQseRskD/kbJA/5GyQP+QsT7/o75f//L2 jP+Qrzf/krE6/5KxOv+SsTr/krA6/5KxO9CUsj4Wm7lREJKyQseRskD/kbJA/5GyQP+QsT7/o75f//L2
6P///////////9Derv+VtEf/kLE+/5GyQP+RskD/kbJA/4+xPv+hvV3/5ezS//////////////////// 6P///////////9Derv+VtEf/kLE+/5GyQP+RskD/kbJA/4+xPv+hvV3/5ezS////////////////////
////////6/Hd/526Vf+QsT//kbJA/5GyQP+RskD/kbJA0JOzQxaZulcQkbRIx4+zRv+Ps0b/j7NG/46y ////////6/Hd/526Vf+QsT//kbJA/5GyQP+RskD/kbJA0JOzQxaZulcQkbRIx4+zRv+Ps0b/j7NG/46y
RP/H2aL////////////m7tb/mblW/46yRP+Ps0b/j7NG/4+zRv+OskT/oL5h/+Xt0/////////////// RP/H2aL////////////m7tb/mblW/46yRP+Ps0b/j7NG/4+zRv+OskT/oL5h/+Xt0///////////////
///g6s3/7vTk////////////vdKR/46yQ/+Ps0b/j7NG/4+zRv+Qs0bQkbRJFpi6WxCPtE3HjrRL/460 ///g6s3/7vTk////////////vdKR/46yQ/+Ps0b/j7NG/4+zRv+Qs0bQkbRJFpi6WxCPtE3HjrRL/460
S/+Ns0r/lLdU/+Xt1f///////v79/7nQkP+Mskj/jrRL/460S/+OtEv/jbNJ/5+/Zv/k7dT///////// S/+Ns0r/lLdU/+Xt1f///////v79/7nQkP+Mskj/jrRL/460S/+OtEv/jbNJ/5+/Zv/k7dT/////////
////////2ebD/5e5Wf/C15/////////////c58f/kLVP/46zS/+OtEv/jrRL/460S9CQtU4WlrtfEI22 ////////2ebD/5e5Wf/C15/////////////c58f/kLVP/46zS/+OtEv/jrRL/460S9CQtU4WlrtfEI22
UceMtU//jLVP/4u0Tf+dwGn/9Pju///////y9+z/nL9o/4u0Tf+MtU//jLVP/4u0Tv+bvmb/5O3V//// UceMtU//jLVP/4u0Tf+dwGn/9Pju///////y9+z/nL9o/4u0Tf+MtU//jLVP/4u0Tv+bvmb/5O3V////
/////////////9jmxf+Wu17/irNL/6TEdP/4+vT//////+3z5P+XvF//i7RO/4y1T/+MtU//jLVP0I62 /////////////9jmxf+Wu17/irNL/6TEdP/4+vT//////+3z5P+XvF//i7RO/4y1T/+MtU//jLVP0I62
UhaVvGIQjLdVx4q2Uv+LtlP/ibVQ/6XGef/5+/f//////+fw3P+Rul3/irZS/4u2U/+LtlP/ibVQ/8PZ UhaVvGIQjLdVx4q2Uv+LtlP/ibVQ/6XGef/5+/f//////+fw3P+Rul3/irZS/4u2U/+LtlP/ibVQ/8PZ
pv/////////////////Y58b/lLxi/4m1Uf+KtVH/l71l/+/15///////9Pjv/5zBbf+JtVH/i7ZT/4u2 pv/////////////////Y58b/lLxi/4m1Uf+KtVH/l71l/+/15///////9Pjv/5zBbf+JtVH/i7ZT/4u2
U/+LtlPQjbdWFpS9ZRCKt1jHibdW/4m3Vv+HtlT/pch+//r8+P//////5e/Z/4+6Xv+Jtlb/ibdW/4m3 U/+LtlPQjbdWFpS9ZRCKt1jHibdW/4m3Vv+HtlT/pch+//r8+P//////5e/Z/4+6Xv+Jtlb/ibdW/4m3
Vv+HtlT/ttKX//3+/P//////1+fG/5O9Zf+ItlT/ibdW/4i2Vf+UvWb/7fTl///////1+fH/nMNy/4i2 Vv+HtlT/ttKX//3+/P//////1+fG/5O9Zf+ItlT/ibdW/4i2Vf+UvWb/7fTl///////1+fH/nMNy/4i2
VP+Jt1b/ibdW/4m3VtCLuFkWkr5pEIm4XMeHt1r/h7da/4a3WP+dxXj/9vrz///////t9Ob/k75q/4e3 VP+Jt1b/ibdW/4m3VtCLuFkWkr5pEIm4XMeHt1r/h7da/4a3WP+dxXj/9vrz///////t9Ob/k75q/4e3
Wf+Ht1r/h7da/4e3Wf+MumD/sdCU/7bUm/+RvWf/hrdY/4e4Wv+Ht1r/hrdY/5rDdP/0+PD///////D2 Wf+Ht1r/h7da/4e3Wf+MumD/sdCU/7bUm/+RvWf/hrdY/4e4Wv+Ht1r/hrdY/5rDdP/0+PD///////D2
6/+WwG7/h7dY/4e3Wv+Ht1r/iLha0Iq5XRaRv2wQh7lfx4a4Xf+GuF3/hbhd/5C+bP/r8+T///////r8 6/+WwG7/h7dY/4e3Wv+Ht1r/iLha0Iq5XRaRv2wQh7lfx4a4Xf+GuF3/hbhd/5C+bP/r8+T///////r8
+f+my4n/hLdb/4a4Xf+GuF3/hrhd/4a4Xf+Et1v/hLdb/4W4Xf+GuF3/hrhd/4a4Xf+Et1v/sNGW//3+ +f+my4n/hLdb/4a4Xf+GuF3/hrhd/4a4Xf+Et1v/hLdb/4W4Xf+GuF3/hrhd/4a4Xf+Et1v/sNGW//3+
/f//////4u7Y/4u8Zf+GuF3/hrhd/4a4Xf+GuF7QiLphFo+/bxCGumPHhLlh/4S5Yf+EuWH/hbpi/9Dk /f//////4u7Y/4u8Zf+GuF3/hrhd/4a4Xf+GuF7QiLphFo+/bxCGumPHhLlh/4S5Yf+EuWH/hbpi/9Dk
wv///////////9HlxP+GumP/hLlh/4S5Yf+EuWH/hLlh/4S5Yf+EuWH/hLlh/4S5Yf+EuWH/hLlg/4m8 wv///////////9HlxP+GumP/hLlh/4S5Yf+EuWH/hLlh/4S5Yf+EuWH/hLlh/4S5Yf+EuWH/hLlg/4m8
aP/b6tH////////////E3rT/g7lg/4S5Yf+EuWH/hLlh/4W5YdCHumQWjsByEIS7ZseDumT/g7pk/4O6 aP/b6tH////////////E3rT/g7lg/4S5Yf+EuWH/hLlh/4W5YdCHumQWjsByEIS7ZseDumT/g7pk/4O6
ZP+BuWL/pc2Q//r8+P//////+fz4/67Smv+BuWL/g7pk/4O6ZP+DumT/g7pk/4O6ZP+DumT/g7pk/4K6 ZP+BuWL/pc2Q//r8+P//////+fz4/67Smv+BuWL/g7pk/4O6ZP+DumT/g7pk/4O6ZP+DumT/g7pk/4K6
ZP+CumP/uNem//z9/P//////9fnz/5zIhP+BuWL/g7pk/4O6ZP+DumT/g7pk0IW7ZxaMwXQQg7xox4G7 ZP+CumP/uNem//z9/P//////9fnz/5zIhP+BuWL/g7pk/4O6ZP+DumT/g7pk0IW7ZxaMwXQQg7xox4G7
Z/+Bu2f/gbtn/4G7Zv+FvWv/0ufJ////////////8vjv/6vSmf+CvGj/f7tl/4G7Zv+Bu2f/gbtn/4G7 Z/+Bu2f/gbtn/4G7Zv+FvWv/0ufJ////////////8vjv/6vSmf+CvGj/f7tl/4G7Zv+Bu2f/gbtn/4G7
Zv9/umX/g71q/7PWo//2+vT////////////H4bz/grxo/4G7Z/+Bu2f/gbtn/4G7Z/+BvGfQg71qFovD Zv9/umX/g71q/7PWo//2+vT////////////H4bz/grxo/4G7Z/+Bu2f/gbtn/4G7Z/+BvGfQg71qFovD
dxCBvWvHf71q/3+9av9/vWr/f71q/368aP+Tx4H/6PPk////////////+Pv2/8njv/+ay4n/hsBy/4G+ dxCBvWvHf71q/3+9av9/vWr/f71q/368aP+Tx4H/6PPk////////////+Pv2/8njv/+ay4n/hsBy/4G+
bP+Bvmz/h8Fz/57Mjf/P5sb/+v35////////////4O/b/43Eev9+vGn/f71q/3+9av9/vWr/f71q/4C9 bP+Bvmz/h8Fz/57Mjf/P5sb/+v35////////////4O/b/43Eev9+vGn/f71q/3+9av9/vWr/f71q/4C9
atCCvm0WhsJ3Dn++bsV+vm3/fr5t/36+bf9+vm3/fr5t/3y9a/+bzY7/6fTm//////////////////b6 atCCvm0WhsJ3Dn++bsV+vm3/fr5t/36+bf9+vm3/fr5t/3y9a/+bzY7/6fTm//////////////////b6
9f/j8d//1urQ/9fq0f/l8uH/+Pv3/////////////////+Lx3/+UyYb/fL1r/36+bf9+vm3/fr5t/36+ 9f/j8d//1urQ/9fq0f/l8uH/+Pv3/////////////////+Lx3/+UyYb/fL1r/36+bf9+vm3/fr5t/36+
bf9+vm3/f75uzoXBdRSFw3kKfb9xvHy/cP98v3D/fL9w/3y/cP98v3D/fL9w/3u+bv+Syoj/1evR//z9 bf9+vm3/f75uzoXBdRSFw3kKfb9xvHy/cP98v3D/fL9w/3y/cP98v3D/fL9w/3u+bv+Syoj/1evR//z9
+/////////////////////////////////////////////r8+f/O58r/jceD/3u+bv98v3D/fL9w/3y/ +/////////////////////////////////////////////r8+f/O58r/jceD/3u+bv98v3D/fL9w/3y/
cP98v3D/fL9w/3y/cP99v3HGg8J4D5XNjQJ7wXSlesBz/3rAc/96wHP/esBz/3rAc/96wHP/esBz/3nA cP98v3D/fL9w/3y/cP99v3HGg8J4D5XNjQJ7wXSlesBz/3rAc/96wHP/esBz/3rAc/96wHP/esBz/3nA
cf+Aw3n/ptWi/9Tr0//w+O//+/37//7+/v/+/v7/+v36/+737f/Q6c7/odOc/37Cdv95wHH/esBz/3rA cf+Aw3n/ptWi/9Tr0//w+O//+/37//7+/v/+/v7/+v36/+737f/Q6c7/odOc/37Cdv95wHH/esBz/3rA
c/96wHP/esBz/3rAc/96wHP/esBz/3vBdLCIxoAFdcByAHrCd3J4wXb/eMF2/3jBdv94wXb/eMF2/3jB c/96wHP/esBz/3rAc/96wHP/esBz/3vBdLCIxoAFdcByAHrCd3J4wXb/eMF2/3jBdv94wXb/eMF2/3jB
dv94wXb/eMF2/3jBdf92wHT/e8N5/4vKif+b0pr/pdak/6XWpP+a0Zn/icmH/3rCeP92wHT/eMF1/3jB dv94wXb/eMF2/3jBdf92wHT/e8N5/4vKif+b0pr/pdak/6XWpP+a0Zn/icmH/3rCeP92wHT/eMF1/3jB
dv94wXb/eMF2/3jBdv94wXb/eMF2/3jBdv94wXb/esJ3fnG+bwB5w3oAesR7KXfDeOB2wnj/dsJ4/3bC dv94wXb/eMF2/3jBdv94wXb/eMF2/3jBdv94wXb/esJ3fnG+bwB5w3oAesR7KXfDeOB2wnj/dsJ4/3bC
eP92wnj/dsJ4/3bCeP92wnj/dsJ4/3bCeP92wnj/dcJ3/3TBdv90wXb/dMF2/3TBdv91wnf/dsJ4/3bC eP92wnj/dsJ4/3bCeP92wnj/dsJ4/3bCeP92wnj/dcJ3/3TBdv90wXb/dMF2/3TBdv91wnf/dsJ4/3bC
eP92wnj/dsJ4/3bCeP92wnj/dsJ4/3bCeP92wnj/dsJ4/3fDeOd5w3sxeMN5AIHJhgBbuWYAdsR8aXTE eP92wnj/dsJ4/3bCeP92wnj/dsJ4/3bCeP92wnj/dsJ4/3fDeOd5w3sxeMN5AIHJhgBbuWYAdsR8aXTE
e/d0xHv/dMR7/3TEe/90xHv/dMR7/3TEe/90xHv/dMR7/3TEe/90xHv/dMR7/3TEe/90xHv/dMR7/3TE e/d0xHv/dMR7/3TEe/90xHv/dMR7/3TEe/90xHv/dMR7/3TEe/90xHv/dMR7/3TEe/90xHv/dMR7/3TE
e/90xHv/dMR7/3TEe/90xHv/dMR7/3TEe/90xHv/dMR7/3TEe/90xHv5dsR8c8vlvQB/x4MAfseBAHjG e/90xHv/dMR7/3TEe/90xHv/dMR7/3TEe/90xHv/dMR7/3TEe/90xHv5dsR8c8vlvQB/x4MAfseBAHjG
gAB5yIUEdMV/bnPFfuhyxX7/csV+/3LFfv9yxX7/csV+/3LFfv9yxX7/csV+/3LFfv9yxX7/csV+/3LF gAB5yIUEdMV/bnPFfuhyxX7/csV+/3LFfv9yxX7/csV+/3LFfv9yxX7/csV+/3LFfv9yxX7/csV+/3LF
fv9yxX7/csV+/3LFfv9yxX7/csV+/3LFfv9yxX7/csV+/3LFfv9yxX7/c8V+63TFf3Z6yIUHeMaAAH3G fv9yxX7/csV+/3LFfv9yxX7/csV+/3LFfv9yxX7/csV+/3LFfv9yxX7/c8V+63TFf3Z6yIUHeMaAAH3G
gAAAAAAAdsV/AHfGgQDZ//wAdMaCNHLGgYpyxoG+ccaB1HHGgd1xxoHfccaB33HGgd9xxoHfccaB33HG gAAAAAAAdsV/AHfGgQDZ//wAdMaCNHLGgYpyxoG+ccaB1HHGgd1xxoHfccaB33HGgd9xxoHfccaB33HG
gd9xxoHfccaB33HGgd9xxoHfccaB33HGgd9xxoHfccaB33HGgd1xxoHVcsaBwHLGgY10xoI5iNKaAXfG gd9xxoHfccaB33HGgd9xxoHfccaB33HGgd9xxoHfccaB33HGgd1xxoHVcsaBwHLGgY10xoI5iNKaAXfG
gQB3xoAAAAAAAAAAAAAAAAAAeciFAHzJhwBzxoEAYLtqAHjKigx2yYcZdMiGIXbIhyR2yYgkdsmIJHbJ gQB3xoAAAAAAAAAAAAAAAAAAeciFAHzJhwBzxoEAYLtqAHjKigx2yYcZdMiGIXbIhyR2yYgkdsmIJHbJ
iCR2yYgkdsmIJHbJiCR2yYgkdsmIJHbJiCR2yYgkdsmIJHbJiCR2yIckdMiGIXbJhxp4yooMV7VfAHPG iCR2yYgkdsmIJHbJiCR2yYgkdsmIJHbJiCR2yYgkdsmIJHbJiCR2yIckdMiGIXbJhxp4yooMV7VfAHPG
gAB6yIYAeMeEAAAAAAAAAAAAwAAAA4AAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA gAB6yIYAeMeEAAAAAAAAAAAAwAAAA4AAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAgAAAAcAAAAM= AAAAAAAAAAAAAAAAAAAAAAAAgAAAAcAAAAM=
</value> </value>
</data> </data>
</root> </root>

View File

@ -28,117 +28,142 @@
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmAddType)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmAddType));
this.label2 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label();
this.TxtDes = new ryControls.TextBoxEx2(); this.TxtDes = new ryControls.TextBoxEx2();
this.label1 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label();
this.TxtName = new ryControls.TextBoxEx2(); this.TxtName = new ryControls.TextBoxEx2();
this.BtnCancel = new ryControls.ButtonEx(); this.BtnCancel = new ryControls.ButtonEx();
this.BtnOK = new ryControls.ButtonEx(); this.BtnOK = new ryControls.ButtonEx();
this.SuspendLayout(); this.label7 = new System.Windows.Forms.Label();
// this.hotkeyTextBox1 = new ryControls.HotkeyTextBox();
// label2 this.SuspendLayout();
// //
this.label2.AutoSize = true; // label2
this.label2.Location = new System.Drawing.Point(12, 81); //
this.label2.Name = "label2"; this.label2.AutoSize = true;
this.label2.Size = new System.Drawing.Size(29, 12); this.label2.Location = new System.Drawing.Point(12, 77);
this.label2.TabIndex = 16; this.label2.Name = "label2";
this.label2.Text = "备注"; this.label2.Size = new System.Drawing.Size(29, 12);
// this.label2.TabIndex = 16;
// TxtDes this.label2.Text = "备注";
// //
this.TxtDes.BackColor = System.Drawing.Color.White; // TxtDes
this.TxtDes.EmptyText = ""; //
this.TxtDes.Location = new System.Drawing.Point(12, 101); this.TxtDes.BackColor = System.Drawing.Color.White;
this.TxtDes.MaxLength = 999999999; this.TxtDes.EmptyText = "";
this.TxtDes.Multiline = false; this.TxtDes.Location = new System.Drawing.Point(12, 95);
this.TxtDes.Name = "TxtDes"; this.TxtDes.MaxLength = 999999999;
this.TxtDes.OnlyNumeric = false; this.TxtDes.Multiline = false;
this.TxtDes.PasswordChar = '\0'; this.TxtDes.Name = "TxtDes";
this.TxtDes.ReadOnly = false; this.TxtDes.OnlyNumeric = false;
this.TxtDes.SelectedText = ""; this.TxtDes.PasswordChar = '\0';
this.TxtDes.SelectionLength = 0; this.TxtDes.ReadOnly = false;
this.TxtDes.SelectionStart = 0; this.TxtDes.SelectedText = "";
this.TxtDes.Size = new System.Drawing.Size(327, 22); this.TxtDes.SelectionLength = 0;
this.TxtDes.TabIndex = 15; this.TxtDes.SelectionStart = 0;
this.TxtDes.TextAlign = System.Windows.Forms.HorizontalAlignment.Left; this.TxtDes.Size = new System.Drawing.Size(327, 22);
this.TxtDes.ToolTip = ""; this.TxtDes.TabIndex = 15;
this.TxtDes.WordWrap = true; this.TxtDes.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
// this.TxtDes.ToolTip = "";
// label1 this.TxtDes.WordWrap = true;
// //
this.label1.AutoSize = true; // label1
this.label1.Location = new System.Drawing.Point(12, 34); //
this.label1.Name = "label1"; this.label1.AutoSize = true;
this.label1.Size = new System.Drawing.Size(29, 12); this.label1.Location = new System.Drawing.Point(12, 34);
this.label1.TabIndex = 12; this.label1.Name = "label1";
this.label1.Text = "名称"; this.label1.Size = new System.Drawing.Size(29, 12);
// this.label1.TabIndex = 12;
// TxtName this.label1.Text = "名称";
// //
this.TxtName.BackColor = System.Drawing.Color.White; // TxtName
this.TxtName.EmptyText = ""; //
this.TxtName.Location = new System.Drawing.Point(12, 54); this.TxtName.BackColor = System.Drawing.Color.White;
this.TxtName.MaxLength = 999999999; this.TxtName.EmptyText = "";
this.TxtName.Multiline = false; this.TxtName.Location = new System.Drawing.Point(12, 50);
this.TxtName.Name = "TxtName"; this.TxtName.MaxLength = 999999999;
this.TxtName.OnlyNumeric = false; this.TxtName.Multiline = false;
this.TxtName.PasswordChar = '\0'; this.TxtName.Name = "TxtName";
this.TxtName.ReadOnly = false; this.TxtName.OnlyNumeric = false;
this.TxtName.SelectedText = ""; this.TxtName.PasswordChar = '\0';
this.TxtName.SelectionLength = 0; this.TxtName.ReadOnly = false;
this.TxtName.SelectionStart = 0; this.TxtName.SelectedText = "";
this.TxtName.Size = new System.Drawing.Size(327, 22); this.TxtName.SelectionLength = 0;
this.TxtName.TabIndex = 11; this.TxtName.SelectionStart = 0;
this.TxtName.TextAlign = System.Windows.Forms.HorizontalAlignment.Left; this.TxtName.Size = new System.Drawing.Size(327, 22);
this.TxtName.ToolTip = ""; this.TxtName.TabIndex = 11;
this.TxtName.WordWrap = true; this.TxtName.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
// this.TxtName.ToolTip = "";
// BtnCancel this.TxtName.WordWrap = true;
// //
this.BtnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); // BtnCancel
this.BtnCancel.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95))))); //
this.BtnCancel.Location = new System.Drawing.Point(264, 128); this.BtnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.BtnCancel.Name = "BtnCancel"; this.BtnCancel.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(150)))), ((int)(((byte)(20)))));
this.BtnCancel.Size = new System.Drawing.Size(75, 27); this.BtnCancel.ColorGradient = true;
this.BtnCancel.TabIndex = 10; this.BtnCancel.Location = new System.Drawing.Point(263, 180);
this.BtnCancel.Text = "取消"; this.BtnCancel.Name = "BtnCancel";
this.BtnCancel.UseVisualStyleBackColor = true; this.BtnCancel.Size = new System.Drawing.Size(75, 27);
this.BtnCancel.Click += new System.EventHandler(this.BtnCancel_Click); this.BtnCancel.TabIndex = 10;
// this.BtnCancel.Text = "取消";
// BtnOK this.BtnCancel.UseVisualStyleBackColor = true;
// this.BtnCancel.Click += new System.EventHandler(this.BtnCancel_Click);
this.BtnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); //
this.BtnOK.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95))))); // BtnOK
this.BtnOK.Location = new System.Drawing.Point(183, 128); //
this.BtnOK.Name = "BtnOK"; this.BtnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.BtnOK.Size = new System.Drawing.Size(75, 27); this.BtnOK.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(150)))), ((int)(((byte)(20)))));
this.BtnOK.TabIndex = 9; this.BtnOK.ColorGradient = true;
this.BtnOK.Text = "确定"; this.BtnOK.Location = new System.Drawing.Point(182, 180);
this.BtnOK.UseVisualStyleBackColor = true; this.BtnOK.Name = "BtnOK";
this.BtnOK.Click += new System.EventHandler(this.BtnOK_Click); this.BtnOK.Size = new System.Drawing.Size(75, 27);
// this.BtnOK.TabIndex = 9;
// FrmAddType this.BtnOK.Text = "确定";
// this.BtnOK.UseVisualStyleBackColor = true;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.BtnOK.Click += new System.EventHandler(this.BtnOK_Click);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; //
this.ClientSize = new System.Drawing.Size(350, 162); // label7
this.Controls.Add(this.label2); //
this.Controls.Add(this.TxtDes); this.label7.AutoSize = true;
this.Controls.Add(this.label1); this.label7.Location = new System.Drawing.Point(12, 121);
this.Controls.Add(this.TxtName); this.label7.Name = "label7";
this.Controls.Add(this.BtnCancel); this.label7.Size = new System.Drawing.Size(53, 12);
this.Controls.Add(this.BtnOK); this.label7.TabIndex = 18;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; this.label7.Text = "运行热键";
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); //
this.MaximizeBox = false; // hotkeyTextBox1
this.Name = "FrmAddType"; //
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.hotkeyTextBox1.BackColor = System.Drawing.Color.White;
this.Text = "添加分类"; this.hotkeyTextBox1.HotKey = "0+0";
this.ResumeLayout(false); this.hotkeyTextBox1.Location = new System.Drawing.Point(12, 140);
this.PerformLayout(); this.hotkeyTextBox1.Name = "hotkeyTextBox1";
this.hotkeyTextBox1.Size = new System.Drawing.Size(244, 26);
this.hotkeyTextBox1.T_Key = System.Windows.Forms.Keys.None;
this.hotkeyTextBox1.T_Modifiers = 0;
this.hotkeyTextBox1.TabIndex = 17;
//
// FrmAddType
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(349, 214);
this.Controls.Add(this.label7);
this.Controls.Add(this.hotkeyTextBox1);
this.Controls.Add(this.label2);
this.Controls.Add(this.TxtDes);
this.Controls.Add(this.label1);
this.Controls.Add(this.TxtName);
this.Controls.Add(this.BtnCancel);
this.Controls.Add(this.BtnOK);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.Name = "FrmAddType";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "添加分类";
this.ResumeLayout(false);
this.PerformLayout();
} }
#endregion #endregion
@ -148,6 +173,8 @@
private System.Windows.Forms.Label label1; private System.Windows.Forms.Label label1;
public ryControls.TextBoxEx2 TxtName; public ryControls.TextBoxEx2 TxtName;
private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label2;
public ryControls.TextBoxEx2 TxtDes; public ryControls.TextBoxEx2 TxtDes;
private System.Windows.Forms.Label label7;
public ryControls.HotkeyTextBox hotkeyTextBox1;
} }
} }

View File

@ -1,81 +1,114 @@
using ryCommonDb; using ryCommon;
using System; using ryCommonDb;
using System.Collections.Generic; using System;
using System.ComponentModel; using System.Collections.Generic;
using System.Data; using System.ComponentModel;
using System.Drawing; using System.Data;
using System.Linq; using System.Drawing;
using System.Text; using System.Linq;
using System.Windows.Forms; using System.Text;
using VSoft.Prams; using System.Windows.Forms;
using VSoft.Prams;
namespace VSoft
{ namespace VSoft
public partial class FrmAddType : Skins.SKinForm {
{ public partial class FrmAddType : Skins.SKinForm
public string SQLConnStr { get; set; } = Itrycn_Db.SQLConnStr; {
public FrmAddType() public string SQLConnStr { get; set; } = Itrycn_Db.SQLConnStr;
{ public FrmAddType()
InitializeComponent(); {
} InitializeComponent();
public string tableName = "Columns"; }
public int IsAdd { get; set; } = 1; public string tableName = "Columns";
public int SelectId { get; set; } = -1; public int IsAdd { get; set; } = 1;
public int ParentId { get; set; } = -1; public int SelectId { get; set; } = -1;
public void GetInfo(int id) public int ParentId { get; set; } = -1;
{ /// <summary>
SelectId = id; /// 当前操作的id
Text = "修改分类"; /// </summary>
DataProvider mydb = new DataProvider(); public int Op_Id { get; set; } = -1;
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType); public void GetInfo(int id)
if (db.ConnDb(SQLConnStr) == 1) {
{ SelectId = id;
DataSet ds = db.ReadData(tableName, id.ToString()); Text = "修改分类";
if (mydb.HaveData(ds)) DataProvider mydb = new DataProvider();
{ IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
DataRow reader = ds.Tables[0].Rows[0]; if (db.ConnDb(SQLConnStr) == 1)
#region {
TxtName.Text = reader["Name"].ToString(); DataSet ds = db.ReadData(tableName, id.ToString());
TxtDes.Text = reader["Des"].ToString(); if (mydb.HaveData(ds))
#endregion {
} DataRow reader = ds.Tables[0].Rows[0];
ds.Dispose(); #region
} TxtName.Text = reader["Name"].ToString();
db.Free(); TxtDes.Text = reader["Des"].ToString();
} hotkeyTextBox1.HotKey = reader["Hotkey"].ToString();
private void BtnCancel_Click(object sender, EventArgs e) #endregion
{ }
DialogResult = DialogResult.Cancel; ds.Dispose();
} }
db.Free();
private void BtnOK_Click(object sender, EventArgs e) }
{ private void BtnCancel_Click(object sender, EventArgs e)
if (TxtName.Text.Length == 0) {
{ DialogResult = DialogResult.Cancel;
Msg.ShowMsg("名称不能为空。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); }
return;
} private void BtnOK_Click(object sender, EventArgs e)
RyQuickSQL mySQL = new RyQuickSQL(tableName); {
mySQL.AddField("Name", TxtName.Text); if (TxtName.Text.Length == 0)
mySQL.AddField("Des", TxtDes.Text); {
mySQL.AddField("editTime", DateTime.Now); Msg.ShowMsg("名称不能为空。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType); return;
if (db.ConnDb(SQLConnStr) == 1) }
{ RyQuickSQL mySQL = new RyQuickSQL(tableName);
if (IsAdd >= 1) mySQL.AddField("Name", TxtName.Text);
{ mySQL.AddField("Des", TxtDes.Text);
mySQL.AddField("sortindex", Itrycn_Db.GetColumnCount(db, ParentId) + 1); mySQL.AddField("Hotkey", hotkeyTextBox1.HaveHotKey ? hotkeyTextBox1.HotKey : "");//快捷键
mySQL.AddField("parentId", ParentId); mySQL.AddField("editTime", DateTime.Now);
mySQL.AddField("addTime", DateTime.Now); IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
db.ExecuteNonQuery(mySQL.GetInsertSQL(), mySQL); if (db.ConnDb(SQLConnStr) == 1)
} {
else if (hotkeyTextBox1.HaveHotKey)
{ {
db.ExecuteNonQuery(mySQL.GetUpdateSQL() + " where id=" + SelectId, mySQL); var ds_type = db.ReadData("select * from " + tableName + " where Hotkey='" + hotkeyTextBox1.HotKey + "' and id<>" + SelectId + " limit 1");
} var ds_soft = db.ReadData("select * from Softs where Hotkey='" + hotkeyTextBox1.HotKey + "' limit 1");
} if (ds_soft.HaveData() || ds_type.HaveData())
db.Free(); {
DialogResult = DialogResult.OK; Msg.ShowMsg("当前热键已经存在,请更换热键。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
} ds_soft.Dispose(); ds_type.Dispose(); return;
} }
} else
{
if (Config.Soft_Config.IsHotKeyExistInList(hotkeyTextBox1.HotKey) >= 0)
{
Msg.ShowMsg("当前热键已经存在,请更换热键。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
ds_soft.Dispose(); ds_type.Dispose(); return;
}
}
ds_soft.Dispose();
ds_type.Dispose();
}
if (IsAdd >= 1)
{
mySQL.AddField("sortindex", Itrycn_Db.GetColumnCount(db, ParentId) + 1);
mySQL.AddField("parentId", ParentId);
mySQL.AddField("addTime", DateTime.Now);
var ds = db.ReadData(mySQL.GetInsertSQL() + ";select last_insert_rowid();", mySQL);
if (ds.HaveData())
{
Op_Id = ds.GetFirstRowCellValue();
}
ds.Dispose();
}
else
{
db.ExecuteNonQuery(mySQL.GetUpdateSQL() + " where id=" + SelectId, mySQL);
Op_Id = SelectId;
}
}
db.Free();
DialogResult = DialogResult.OK;
}
}
}

View File

@ -1,167 +1,167 @@
<?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>
<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>
AAABAAEAGBgAAAEAIACICQAAFgAAACgAAAAYAAAAMAAAAAEAIAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAA AAABAAEAGBgAAAEAIACICQAAFgAAACgAAAAYAAAAMAAAAAEAIAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAA
AAAAAAAUAAAAagAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA AAAAAAAUAAAAagAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA
AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACNAAAAVAAAAAgAAABOAAAA5AAAAPkAAAD4AAAA+AAA AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACNAAAAVAAAAAgAAABOAAAA5AAAAPkAAAD4AAAA+AAA
APgAAAD4AAAA+AAAAPgAAAD4AAAA+AAAAPgAAAD4AAAA+AAAAPgAAAD4AAAA+AAAAPgAAAD4AAAA+AAA APgAAAD4AAAA+AAAAPgAAAD4AAAA+AAAAPgAAAD4AAAA+AAAAPgAAAD4AAAA+AAAAPgAAAD4AAAA+AAA
APgAAAD6AAAAywAAACYBAQFrAQEB+wEBAf8BAQH/AQEB/wEBAf8BAQH/AQEB/wEBAf8BAQH/AQEB/wEB APgAAAD6AAAAywAAACYBAQFrAQEB+wEBAf8BAQH/AQEB/wEBAf8BAQH/AQEB/wEBAf8BAQH/AQEB/wEB
Af8BAQH/AQEB/wEBAf8BAQH/AQEB/wEBAf8BAQH/AQEB/wEBAf8BAQH/AQEB6gEBATgDAwNrBAQE+gQE Af8BAQH/AQEB/wEBAf8BAQH/AQEB/wEBAf8BAQH/AQEB/wEBAf8BAQH/AQEB6gEBATgDAwNrBAQE+gQE
BP8EBAT/BAQE/wQEBP8EBAT/BAQE/wQEBP8EBAT/BAQE/wQEBP8EBAT/BAQE/wQEBP8EBAT/BAQE/wQE BP8EBAT/BAQE/wQEBP8EBAT/BAQE/wQEBP8EBAT/BAQE/wQEBP8EBAT/BAQE/wQEBP8EBAT/BAQE/wQE
BP8EBAT/BAQE/wQEBP8EBAT/BAQE6gMDAzgGBgZrBwcH+gcHCP8HBwj/BwcI/wcHCP8HBwf/BQUF/wQE BP8EBAT/BAQE/wQEBP8EBAT/BAQE6gMDAzgGBgZrBwcH+gcHCP8HBwj/BwcI/wcHCP8HBwf/BQUF/wQE
BP8EBAT/BAQE/wYGBv8HBwj/BwcI/wcHCP8HBwj/BwcI/wcHCP8HBwj/BwcI/wcHCP8HBwj/BwcH6gUF BP8EBAT/BAQE/wYGBv8HBwj/BwcI/wcHCP8HBwj/BwcI/wcHCP8HBwj/BwcI/wcHCP8HBwj/BwcH6gUF
BTgICAlrCwsL+gsLC/8LCwv/CwsL/wsLC/8NDQ3/Li4v/zc3N/83Nzf/Nzc3/yAgIP8KCgr/CwsL/wsL BTgICAlrCwsL+gsLC/8LCwv/CwsL/wsLC/8NDQ3/Li4v/zc3N/83Nzf/Nzc3/yAgIP8KCgr/CwsL/wsL
C/8LCwv/CwsL/wsLC/8LCwv/CwsL/wsLC/8LCwv/CgoL6gcHBzgLCwxrDw8P+g8PD/8PDw//Dw8P/w0N C/8LCwv/CwsL/wsLC/8LCwv/CwsL/wsLC/8LCwv/CgoL6gcHBzgLCwxrDw8P+g8PD/8PDw//Dw8P/w0N
Df8qKiv/n5+f/66urv+tra3/r6+v/3l5ef8RERH/Dg4P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8P Df8qKiv/n5+f/66urv+tra3/r6+v/3l5ef8RERH/Dg4P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8P
D/8PDw//Dg4O6gkJCjgPDw9rExMU+hMTFP8TExT/ExMU/xAQEf9fX1//u7u7/76+vv+/v7//vb29/6mp D/8PDw//Dg4O6gkJCjgPDw9rExMU+hMTFP8TExT/ExMU/xAQEf9fX1//u7u7/76+vv+/v7//vb29/6mp
qf8uLi//ERES/xMTFP8TExT/ExMU/xMTFP8TExT/ExMU/xMTFP8TExT/EhIT6gwMDDgSEhNrFxcY+hcX qf8uLi//ERES/xMTFP8TExT/ExMU/xMTFP8TExT/ExMU/xMTFP8TExT/EhIT6gwMDDgSEhNrFxcY+hcX
GP8XFxj/FxcY/x8fIP+ZmZn/ycnJ/87Ozv/Q0ND/zMzM/8XFxf9kZGT/FBQV/xgYGf8XFxj/FxcY/xcX GP8XFxj/FxcY/x8fIP+ZmZn/ycnJ/87Ozv/Q0ND/zMzM/8XFxf9kZGT/FBQV/xgYGf8XFxj/FxcY/xcX
GP8XFxj/FxcY/xcXGP8YGBn/FhYX6g8PDzgWFhZrHBwd+h0dHf8dHR3/GRka/0ZGR//CwsL/1NTU/9zc GP8XFxj/FxcY/xcXGP8YGBn/FhYX6g8PDzgWFhZrHBwd+h0dHf8dHR3/GRka/0ZGR//CwsL/1NTU/9zc
3P/e3t7/2dnZ/9LS0v+enp7/IyMk/xwcHf8dHR3/HR0d/x0dHf8dHR3/HR0d/x0dHf8dHR3/Gxsc6hIS 3P/e3t7/2dnZ/9LS0v+enp7/IyMk/xwcHf8dHR3/HR0d/x0dHf8dHR3/HR0d/x0dHf8dHR3/Gxsc6hIS
EzgZGRprICAh+iEhIv8hISL/Hh4f/4CAgP/U1NT/3t7e/+Xl5f/o6Oj/4+Pj/9ra2v/Fxcb/SUlK/x4e EzgZGRprICAh+iEhIv8hISL/Hh4f/4CAgP/U1NT/3t7e/+Xl5f/o6Oj/4+Pj/9ra2v/Fxcb/SUlK/x4e
H/8hISL/ISEi/yEhIv8hISL/ISEi/yEhIv8hISL/Hx8h6hUVFjgdHR5rJSUn+iYmJ/8kJCb/NDQ1/7W1 H/8hISL/ISEi/yEhIv8hISL/ISEi/yEhIv8hISL/Hx8h6hUVFjgdHR5rJSUn+iYmJ/8kJCb/NDQ1/7W1
tf/c3Nz/5eXl/+Dg4P/Fxcb/6enp/+Hh4f/Y2Nj/goKD/yMjJP8mJif/JiYn/yYmJ/8mJij/JiYo/yYm tf/c3Nz/5eXl/+Dg4P/Fxcb/6enp/+Hh4f/Y2Nj/goKD/yMjJP8mJif/JiYn/yYmJ/8mJij/JiYo/yYm
J/8mJif/JCQm6hgYGTghISJrKyss+iwsLf8nJyj/YmJj/9TU1P/i4uL/7Ozs/729vf9ra2v/4+Pj/+jo J/8mJif/JCQm6hgYGTghISJrKyss+iwsLf8nJyj/YmJj/9TU1P/i4uL/7Ozs/729vf9ra2v/4+Pj/+jo
6P/f39//t7e3/zg4Of8qKiv/Kyst/ycnKP8hISL/IyMk/yoqK/8sLC3/Kior6hsbHDglJSZrLy8w+i8v 6P/f39//t7e3/zg4Of8qKiv/Kyst/ycnKP8hISL/IyMk/yoqK/8sLC3/Kior6hsbHDglJSZrLy8w+i8v
Mf8vLzD/nJyd/+Dg4P/p6en/7u7u/4aGh/84ODn/wcHB/+7u7v/l5eX/1tbW/2VlZf8rKy3/LCwt/0BA Mf8vLzD/nJyd/+Dg4P/p6en/7u7u/4aGh/84ODn/wcHB/+7u7v/l5eX/1tbW/2VlZf8rKy3/LCwt/0BA
Qf9ubm//X19f/zAwMf8vLzD/Li4v6h4eHzgoKClrMzM1+jIyNP9MTE3/ysrK/+fn5//u7u7/29vb/1RU Qf9ubm//X19f/zAwMf8vLzD/Li4v6h4eHzgoKClrMzM1+jIyNP9MTE3/ysrK/+fn5//u7u7/29vb/1RU
Vf8vLzH/iYmK/+/v7//s7Oz/4+Pj/56en/8yMjP/QkJD/6qqqv/Kysr/x8fG/3t7fP8yMjT/MjI06iEh Vf8vLzH/iYmK/+/v7//s7Oz/4+Pj/56en/8yMjP/QkJD/6qqqv/Kysr/x8fG/3t7fP8yMjT/MjI06iEh
IjgsLC1rODg6+jQ0Nv9+foD/4eHh/+3t7f/09PP/sLCx/zw8Pv83Nzn/WFha/93d3v/y8vL/6enp/83N IjgsLC1rODg6+jQ0Nv9+foD/4eHh/+3t7f/09PP/sLCx/zw8Pv83Nzn/WFha/93d3v/y8vL/6enp/83N
zv9MTE7/Xl5g/8/Pz//V1dX/1tbW/6qqqv89PT//NjY56iQkJTgvLzFrPDw++kRERf+3t7f/6urq//Pz zv9MTE7/Xl5g/8/Pz//V1dX/1tbW/6qqqv89PT//NjY56iQkJTgvLzFrPDw++kRERf+3t7f/6urq//Pz
8//v7+//enp7/zs7Pf89PT//QUFC/7OztP/29vb/8PDw/+bm5v+FhYX/S0tN/7y8vP/l5eX/3t7e/4mJ 8//v7+//enp7/zs7Pf89PT//QUFC/7OztP/29vb/8PDw/+bm5v+FhYX/S0tN/7y8vP/l5eX/3t7e/4mJ
iv89PT//Ozs96icnKDgyMjRrQEBC+k1NT/9+fn//iYmK/42Njv+FhYb/Tk5Q/0FBQ/9CQkT/QEBC/2Rk iv89PT//Ozs96icnKDgyMjRrQEBC+k1NT/9+fn//iYmK/42Njv+FhYb/Tk5Q/0FBQ/9CQkT/QEBC/2Rk
Zf+NjY7/i4uM/4iIif9wcHH/QkJE/1paXP+FhYb/d3d4/0lJS/9BQUP/Pz9B6ioqKzg2NjdrRUVH+kVF Zf+NjY7/i4uM/4iIif9wcHH/QkJE/1paXP+FhYb/d3d4/0lJS/9BQUP/Pz9B6ioqKzg2NjdrRUVH+kVF
SP9DQ0X/QkJF/0JCRf9DQ0X/RUVH/0ZGSP9GRkj/RkZI/0RERv9CQkX/QkJF/0JCRf9EREb/RkZI/0RE SP9DQ0X/QkJF/0JCRf9DQ0X/RUVH/0ZGSP9GRkj/RkZI/0RERv9CQkX/QkJF/0JCRf9EREb/RkZI/0RE
R/9CQkX/Q0NF/0VFSP9GRkj/Q0NF6iwsLTg5OTprSEhL+kpKTP9KSkz/SkpM/0pKTP9KSkz/SUlM/0lJ R/9CQkX/Q0NF/0VFSP9GRkj/Q0NF6iwsLTg5OTprSEhL+kpKTP9KSkz/SkpM/0pKTP9KSkz/SUlM/0lJ
TP9JSUz/SUlM/0pKTP9KSkz/SkpM/0pKTP9KSkz/SUlM/0lJTP9KSkz/SkpM/0lJTP9KSkz/R0dJ6i4u TP9JSUz/SUlM/0pKTP9KSkz/SkpM/0pKTP9KSkz/SUlM/0lJTP9KSkz/SkpM/0lJTP9KSkz/R0dJ6i4u
MDg7Oz1rS0tN+k1NT/9NTU//TU1P/01NT/9NTU//TU1P/01NT/9NTU//TU1P/01NT/9NTU//TU1P/01N MDg7Oz1rS0tN+k1NT/9NTU//TU1P/01NT/9NTU//TU1P/01NT/9NTU//TU1P/01NT/9NTU//TU1P/01N
T/9NTU//TU1P/01NT/9NTU//TU1P/01NT/9NTU//SkpM6jExMjg/P0FoTk5R+09PUv9PT1L/T09S/09P T/9NTU//TU1P/01NT/9NTU//TU1P/01NT/9NTU//SkpM6jExMjg/P0FoTk5R+09PUv9PT1L/T09S/09P
Uv9PT1L/T09S/09PUv9PT1L/T09S/09PUv9PT1L/T09S/09PUv9PT1L/T09S/09PUv9PT1L/T09S/09P Uv9PT1L/T09S/09PUv9PT1L/T09S/09PUv9PT1L/T09S/09PUv9PT1L/T09S/09PUv9PT1L/T09S/09P
Uv9PT1L/TExP6jQ0NjZMTE9AVlZZ31VVWPlVVVj4VVVY+FVVWPhVVVj4VVVY+FVVWPhVVVj4VVVY+FVV Uv9PT1L/TExP6jQ0NjZMTE9AVlZZ31VVWPlVVVj4VVVY+FVVWPhVVVj4VVVY+FVVWPhVVVj4VVVY+FVV
WPhVVVj4VVVY+FVVWPhVVVj4VVVY+FVVWPhVVVj4VVVY+FVVWPhVVVn6VlZZw0RERRxgYGIFcXF1PW1t WPhVVVj4VVVY+FVVWPhVVVj4VVVY+FVVWPhVVVj4VVVY+FVVWPhVVVn6VlZZw0RERRxgYGIFcXF1PW1t
cVpsbHBZbGxwWWxscFlsbHBZbGxwWWxscFlsbHBZbGxwWWxscFlsbHBZbGxwWWxscFlsbHBZbGxwWWxs cVpsbHBZbGxwWWxscFlsbHBZbGxwWWxscFlsbHBZbGxwWWxscFlsbHBZbGxwWWxscFlsbHBZbGxwWWxs
cFlsbHBZbGxwWWxscFltbXJZcHBzLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA cFlsbHBZbGxwWWxscFltbXJZcHBzLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAA= AAA=
</value> </value>
</data> </data>
</root> </root>

View File

@ -78,7 +78,7 @@
this.panelEx1.Name = "panelEx1"; this.panelEx1.Name = "panelEx1";
this.panelEx1.Padding = new System.Windows.Forms.Padding(3); this.panelEx1.Padding = new System.Windows.Forms.Padding(3);
this.panelEx1.RoundeStyle = ryControls.RoundStyle.None; this.panelEx1.RoundeStyle = ryControls.RoundStyle.None;
this.panelEx1.Size = new System.Drawing.Size(587, 417); this.panelEx1.Size = new System.Drawing.Size(730, 474);
this.panelEx1.TabIndex = 1; this.panelEx1.TabIndex = 1;
this.panelEx1.TileBackColor = System.Drawing.Color.White; this.panelEx1.TileBackColor = System.Drawing.Color.White;
// //
@ -106,7 +106,7 @@
this.IconViewEx1.SelectedForeColor = System.Drawing.Color.Black; this.IconViewEx1.SelectedForeColor = System.Drawing.Color.Black;
this.IconViewEx1.SelectedStartBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(251)))), ((int)(((byte)(237))))); this.IconViewEx1.SelectedStartBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(251)))), ((int)(((byte)(237)))));
this.IconViewEx1.ShowItemToolTips = true; this.IconViewEx1.ShowItemToolTips = true;
this.IconViewEx1.Size = new System.Drawing.Size(581, 381); this.IconViewEx1.Size = new System.Drawing.Size(724, 438);
this.IconViewEx1.TabIndex = 0; this.IconViewEx1.TabIndex = 0;
this.IconViewEx1.TextHeight = 20; this.IconViewEx1.TextHeight = 20;
this.IconViewEx1.TileSize = new System.Drawing.Size(90, 90); this.IconViewEx1.TileSize = new System.Drawing.Size(90, 90);
@ -192,7 +192,7 @@
this.panel1.Dock = System.Windows.Forms.DockStyle.Top; this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
this.panel1.Location = new System.Drawing.Point(3, 3); this.panel1.Location = new System.Drawing.Point(3, 3);
this.panel1.Name = "panel1"; this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(581, 30); this.panel1.Size = new System.Drawing.Size(724, 30);
this.panel1.TabIndex = 1; this.panel1.TabIndex = 1;
this.panel1.Visible = false; this.panel1.Visible = false;
// //
@ -222,7 +222,7 @@
// //
this.BtnAddColumn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.BtnAddColumn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.BtnAddColumn.Image = ((System.Drawing.Image)(resources.GetObject("BtnAddColumn.Image"))); this.BtnAddColumn.Image = ((System.Drawing.Image)(resources.GetObject("BtnAddColumn.Image")));
this.BtnAddColumn.Location = new System.Drawing.Point(649, 65); this.BtnAddColumn.Location = new System.Drawing.Point(792, 65);
this.BtnAddColumn.Name = "BtnAddColumn"; this.BtnAddColumn.Name = "BtnAddColumn";
this.BtnAddColumn.Size = new System.Drawing.Size(27, 28); this.BtnAddColumn.Size = new System.Drawing.Size(27, 28);
this.BtnAddColumn.TabIndex = 3; this.BtnAddColumn.TabIndex = 3;
@ -323,7 +323,7 @@
this.TabList_Type.SelectedEndBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(236)))), ((int)(((byte)(181))))); this.TabList_Type.SelectedEndBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(236)))), ((int)(((byte)(181)))));
this.TabList_Type.SelectedForeColor = System.Drawing.Color.Black; this.TabList_Type.SelectedForeColor = System.Drawing.Color.Black;
this.TabList_Type.SelectedStartBackColor = System.Drawing.Color.LightSkyBlue; this.TabList_Type.SelectedStartBackColor = System.Drawing.Color.LightSkyBlue;
this.TabList_Type.Size = new System.Drawing.Size(83, 414); this.TabList_Type.Size = new System.Drawing.Size(83, 471);
this.TabList_Type.TabIndex = 4; this.TabList_Type.TabIndex = 4;
this.TabList_Type.TileSize = new System.Drawing.Size(80, 28); this.TabList_Type.TileSize = new System.Drawing.Size(80, 28);
this.TabList_Type.UseCompatibleStateImageBehavior = false; this.TabList_Type.UseCompatibleStateImageBehavior = false;
@ -361,7 +361,7 @@
this.TabList_Column.SelectedEndBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(236)))), ((int)(((byte)(181))))); this.TabList_Column.SelectedEndBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(236)))), ((int)(((byte)(181)))));
this.TabList_Column.SelectedForeColor = System.Drawing.Color.Black; this.TabList_Column.SelectedForeColor = System.Drawing.Color.Black;
this.TabList_Column.SelectedStartBackColor = System.Drawing.Color.LightSkyBlue; this.TabList_Column.SelectedStartBackColor = System.Drawing.Color.LightSkyBlue;
this.TabList_Column.Size = new System.Drawing.Size(556, 29); this.TabList_Column.Size = new System.Drawing.Size(699, 29);
this.TabList_Column.TabIndex = 1; this.TabList_Column.TabIndex = 1;
this.TabList_Column.TileSize = new System.Drawing.Size(70, 28); this.TabList_Column.TileSize = new System.Drawing.Size(70, 28);
this.TabList_Column.UseCompatibleStateImageBehavior = false; this.TabList_Column.UseCompatibleStateImageBehavior = false;
@ -377,7 +377,7 @@
// //
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(689, 529); this.ClientSize = new System.Drawing.Size(832, 586);
this.Controls.Add(this.LblDrag); this.Controls.Add(this.LblDrag);
this.Controls.Add(this.pictureBox1); this.Controls.Add(this.pictureBox1);
this.Controls.Add(this.TabList_Type); this.Controls.Add(this.TabList_Type);

View File

@ -199,6 +199,8 @@ namespace VSoft
private void FrmVSoft_Load(object sender, EventArgs e) private void FrmVSoft_Load(object sender, EventArgs e)
{ {
Config.Soft_Info.UserDataFolder = ryCommon.RyFiles.GetRealPath(Config.Soft_Info.UserDataFolder); Config.Soft_Info.UserDataFolder = ryCommon.RyFiles.GetRealPath(Config.Soft_Info.UserDataFolder);
Itrycn_Db.SQLConnStr = Config.Soft_Info.UserDataFolder + "\\Softs.dat|";
Itrycn_Db.SQLConnStr_Logs = Config.Soft_Info.UserDataFolder + "\\logs.dat|";
VSoft.Prams.Itrycn_Db.CreateTable(); VSoft.Prams.Itrycn_Db.CreateTable();
VSoft.Config.Soft_Config.LoadSetting(); VSoft.Config.Soft_Config.LoadSetting();
LoadColumn(); LoadColumn();
@ -528,6 +530,7 @@ namespace VSoft
ColumnId = ColumnId, ColumnId = ColumnId,
TopMost=TopMost TopMost=TopMost
}; };
frm.ShowInCenter(this);
if (frm.ShowDialog() == DialogResult.OK) if (frm.ShowDialog() == DialogResult.OK)
{ {
LoadDb(); LoadDb();
@ -546,6 +549,7 @@ namespace VSoft
TopMost=TopMost TopMost=TopMost
}; };
frm.GetInfo(info.Id); frm.GetInfo(info.Id);
frm.ShowInCenter(this);
if (frm.ShowDialog() == DialogResult.OK) if (frm.ShowDialog() == DialogResult.OK)
{ {
SetSoftRow(info.Id, IconViewEx1.SelectedItems[0].Index); SetSoftRow(info.Id, IconViewEx1.SelectedItems[0].Index);

View File

@ -136,7 +136,7 @@
<data name="IconViewEx1.Icon" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="IconViewEx1.Icon" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL
EwAACxMBAJqcGAAABvRJREFUeF7tnE2IHEUUxwcjIjkE1JMREnMWD7phd7uzfuBJEPSkd0+55BLQc9ds DwAACw8BkvkDpQAABvRJREFUeF7tnE2IHEUUxwcjIjkE1JMREnMWD7phd7uzfuBJEPSkd0+55BLQc9ds
ooIXT+bix8kgbtSYgxA1hsWLImLAPYTEXBRUNGiMEojpnpTvdWpIT2/Nm+6e7uqerv+DH0tPVfVs7/t1 ooIXT+bix8kgbtSYgxA1hsWLImLAPYTEXBRUNGiMEojpnpTvdWpIT2/Nm+6e7uqerv+DH0tPVfVs7/t1
ffTHDopEoPS9QTQ6FKrkbKjiC/TzCqFBp6CcpLk5G6h4GK7rYKD0HSaF1WL5iN4XqOR4ECU3cl8GFoAg ffTHDopEoPS9QTQ6FKrkbKjiC/TzCqFBp6CcpLk5G6h4GK7rYKD0HSaF1WL5iN4XqOR4ECU3cl8GFoAg
ii8eWNePmXQWjyWld4ZRcox2kuR3ChYPOonfeVLpu0165TgQ6d3UlWzZdgQWF+oNvufcmjTbIzyq99KZ ii8eWNePmXQWjyWld4ZRcox2kuR3ChYPOonfeVLpu0165TgQ6d3UlWzZdgQWF+oNvufcmjTbIzyq99KZ
@ -188,7 +188,7 @@
<data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAAFAAAAA8CAYAAADxJz2MAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAu iVBORw0KGgoAAAANSUhEUgAAAFAAAAA8CAYAAADxJz2MAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAu
IwAALiMBeKU/dgAABJxJREFUeF7tmM1tGzEQhX3OIYDvObkFt6ACcnELbkFIBVEJcQtqQYc0ICBpwC24 IgAALiIBquLdkgAABJxJREFUeF7tmM1tGzEQhX3OIYDvObkFt6ACcnELbkFIBVEJcQtqQYc0ICBpwC24
BeW9zcxiyB2Rsz/6WYMDfIA05JIzs49c7j6cTqfGDFxnI47rbMRxnY04rrMRx3U24rjORhzX2YjjOhtx BeW9zcxiyB2Rsz/6WYMDfIA05JIzs49c7j6cTqfGDFxnI47rbMRxnY04rrMRx3U24rjORhzX2YjjOhtx
XGcjzk3ty5+fe3AAr15wa+BmxqKBk+GdPi/Ie+ZmhmIdTfHyQj57wd4jNzEUaGMK5tEKWDIUiPueVzhy XGcjzk3ty5+fe3AAr15wa+BmxqKBk+GdPi/Ie+ZmhmIdTfHyQj57wd4jNzEUaGMK5tEKWDIUiPueVzhy
8AK9V65uKFBNfRsv0Hvl6oYCldT37gV5z2hSj2ALPiSR7f+WZQ3jPsn451jfUxhB28Ip/P8oeS9mGPPN 8AK9V65uKFBNfRsv0Hvl6oYCldT37gV5z2hSj2ALPiSR7f+WZQ3jPsn451jfUxhB28Ip/P8oeS9mGPPN

View File

@ -52,7 +52,6 @@
this.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.Menu修改分类 = new System.Windows.Forms.ToolStripMenuItem(); this.Menu修改分类 = new System.Windows.Forms.ToolStripMenuItem();
this.Menu删除分类 = new System.Windows.Forms.ToolStripMenuItem(); this.Menu删除分类 = new System.Windows.Forms.ToolStripMenuItem();
this.LblDrag = new System.Windows.Forms.Label();
this.timer1 = new System.Windows.Forms.Timer(this.components); this.timer1 = new System.Windows.Forms.Timer(this.components);
this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components); this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components);
this.MenuTray = new System.Windows.Forms.ContextMenuStrip(this.components); this.MenuTray = new System.Windows.Forms.ContextMenuStrip(this.components);
@ -153,7 +152,7 @@
// //
this.BtnAddColumn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.BtnAddColumn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.BtnAddColumn.Image = ((System.Drawing.Image)(resources.GetObject("BtnAddColumn.Image"))); this.BtnAddColumn.Image = ((System.Drawing.Image)(resources.GetObject("BtnAddColumn.Image")));
this.BtnAddColumn.Location = new System.Drawing.Point(685, 36); this.BtnAddColumn.Location = new System.Drawing.Point(681, 36);
this.BtnAddColumn.Name = "BtnAddColumn"; this.BtnAddColumn.Name = "BtnAddColumn";
this.BtnAddColumn.Size = new System.Drawing.Size(27, 28); this.BtnAddColumn.Size = new System.Drawing.Size(27, 28);
this.BtnAddColumn.TabIndex = 3; this.BtnAddColumn.TabIndex = 3;
@ -222,15 +221,6 @@
this.Menu删除分类.Text = "删除分类"; this.Menu删除分类.Text = "删除分类";
this.Menu删除分类.Click += new System.EventHandler(this.Menu删除分类_Click); this.Menu删除分类.Click += new System.EventHandler(this.Menu删除分类_Click);
// //
// LblDrag
//
this.LblDrag.BackColor = System.Drawing.Color.Black;
this.LblDrag.Location = new System.Drawing.Point(123, 54);
this.LblDrag.Name = "LblDrag";
this.LblDrag.Size = new System.Drawing.Size(2, 89);
this.LblDrag.TabIndex = 6;
this.LblDrag.Visible = false;
//
// notifyIcon1 // notifyIcon1
// //
this.notifyIcon1.ContextMenuStrip = this.MenuTray; this.notifyIcon1.ContextMenuStrip = this.MenuTray;
@ -297,7 +287,7 @@
this.LblSetting.Cursor = System.Windows.Forms.Cursors.Hand; this.LblSetting.Cursor = System.Windows.Forms.Cursors.Hand;
this.LblSetting.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.LblSetting.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.LblSetting.ForeColor = System.Drawing.Color.White; this.LblSetting.ForeColor = System.Drawing.Color.White;
this.LblSetting.Location = new System.Drawing.Point(580, 9); this.LblSetting.Location = new System.Drawing.Point(576, 9);
this.LblSetting.Name = "LblSetting"; this.LblSetting.Name = "LblSetting";
this.LblSetting.Size = new System.Drawing.Size(29, 12); this.LblSetting.Size = new System.Drawing.Size(29, 12);
this.LblSetting.TabIndex = 7; this.LblSetting.TabIndex = 7;
@ -311,7 +301,7 @@
this.PnlLeft.Dock = System.Windows.Forms.DockStyle.Left; this.PnlLeft.Dock = System.Windows.Forms.DockStyle.Left;
this.PnlLeft.Location = new System.Drawing.Point(2, 32); this.PnlLeft.Location = new System.Drawing.Point(2, 32);
this.PnlLeft.Name = "PnlLeft"; this.PnlLeft.Name = "PnlLeft";
this.PnlLeft.Size = new System.Drawing.Size(81, 497); this.PnlLeft.Size = new System.Drawing.Size(81, 509);
this.PnlLeft.TabIndex = 8; this.PnlLeft.TabIndex = 8;
// //
// TabList_Type // TabList_Type
@ -340,7 +330,7 @@
this.TabList_Type.SelectedEndBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(236)))), ((int)(((byte)(181))))); this.TabList_Type.SelectedEndBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(236)))), ((int)(((byte)(181)))));
this.TabList_Type.SelectedForeColor = System.Drawing.Color.Black; this.TabList_Type.SelectedForeColor = System.Drawing.Color.Black;
this.TabList_Type.SelectedStartBackColor = System.Drawing.Color.LightSkyBlue; this.TabList_Type.SelectedStartBackColor = System.Drawing.Color.LightSkyBlue;
this.TabList_Type.Size = new System.Drawing.Size(77, 394); this.TabList_Type.Size = new System.Drawing.Size(77, 406);
this.TabList_Type.TabIndex = 4; this.TabList_Type.TabIndex = 4;
this.TabList_Type.TileSize = new System.Drawing.Size(77, 28); this.TabList_Type.TileSize = new System.Drawing.Size(77, 28);
this.TabList_Type.UseCompatibleStateImageBehavior = false; this.TabList_Type.UseCompatibleStateImageBehavior = false;
@ -364,12 +354,12 @@
this.rySearch1.ButtonRoundBackColor = System.Drawing.SystemColors.Control; this.rySearch1.ButtonRoundBackColor = System.Drawing.SystemColors.Control;
this.rySearch1.ColorGradient = true; this.rySearch1.ColorGradient = true;
this.rySearch1.EmptyText = "输入名称或拼音搜索"; this.rySearch1.EmptyText = "输入名称或拼音搜索";
this.rySearch1.Location = new System.Drawing.Point(537, 36); this.rySearch1.Location = new System.Drawing.Point(533, 36);
this.rySearch1.Name = "rySearch1"; this.rySearch1.Name = "rySearch1";
this.rySearch1.Size = new System.Drawing.Size(142, 27); this.rySearch1.Size = new System.Drawing.Size(142, 27);
this.rySearch1.TabIndex = 2; this.rySearch1.TabIndex = 2;
this.rySearch1.OnSearch += new System.EventHandler(this.rySearch1_OnSearch); this.rySearch1.OnSearch += new System.EventHandler(this.RySearch1_OnSearch);
this.rySearch1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.rySearch1_KeyDown); this.rySearch1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.RySearch1_KeyDown);
// //
// panelEx1 // panelEx1
// //
@ -378,17 +368,16 @@
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.panelEx1.BackColor = System.Drawing.Color.White; this.panelEx1.BackColor = System.Drawing.Color.White;
this.panelEx1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(213)))), ((int)(((byte)(216)))), ((int)(((byte)(223))))); this.panelEx1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(213)))), ((int)(((byte)(216)))), ((int)(((byte)(223)))));
this.panelEx1.Controls.Add(this.LblDrag);
this.panelEx1.Controls.Add(this.LblEmpty); this.panelEx1.Controls.Add(this.LblEmpty);
this.panelEx1.Controls.Add(this.IconViewEx1); this.panelEx1.Controls.Add(this.IconViewEx1);
this.panelEx1.Location = new System.Drawing.Point(84, 65); this.panelEx1.Location = new System.Drawing.Point(84, 65);
this.panelEx1.Name = "panelEx1"; this.panelEx1.Name = "panelEx1";
this.panelEx1.Padding = new System.Windows.Forms.Padding(3); this.panelEx1.Padding = new System.Windows.Forms.Padding(3);
this.panelEx1.RoundeStyle = ryControls.RoundStyle.None; this.panelEx1.RoundeStyle = ryControls.RoundStyle.None;
this.panelEx1.Size = new System.Drawing.Size(628, 462); this.panelEx1.Size = new System.Drawing.Size(656, 473);
this.panelEx1.TabIndex = 1; this.panelEx1.TabIndex = 1;
this.panelEx1.TileBackColor = System.Drawing.Color.White; this.panelEx1.TileBackColor = System.Drawing.Color.White;
this.panelEx1.Resize += new System.EventHandler(this.panelEx1_Resize); this.panelEx1.Resize += new System.EventHandler(this.PanelEx1_Resize);
// //
// LblEmpty // LblEmpty
// //
@ -426,7 +415,8 @@
this.IconViewEx1.SelectedEndBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(236)))), ((int)(((byte)(181))))); this.IconViewEx1.SelectedEndBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(236)))), ((int)(((byte)(181)))));
this.IconViewEx1.SelectedForeColor = System.Drawing.Color.Black; this.IconViewEx1.SelectedForeColor = System.Drawing.Color.Black;
this.IconViewEx1.SelectedStartBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(251)))), ((int)(((byte)(237))))); this.IconViewEx1.SelectedStartBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(251)))), ((int)(((byte)(237)))));
this.IconViewEx1.Size = new System.Drawing.Size(622, 456); this.IconViewEx1.ShowGroups = false;
this.IconViewEx1.Size = new System.Drawing.Size(650, 467);
this.IconViewEx1.TabIndex = 0; this.IconViewEx1.TabIndex = 0;
this.IconViewEx1.TextHeight = 20; this.IconViewEx1.TextHeight = 20;
this.IconViewEx1.TileSize = new System.Drawing.Size(100, 100); this.IconViewEx1.TileSize = new System.Drawing.Size(100, 100);
@ -439,6 +429,7 @@
this.IconViewEx1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.IconViewEx1_KeyDown); this.IconViewEx1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.IconViewEx1_KeyDown);
this.IconViewEx1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.IconViewEx1_MouseClick); this.IconViewEx1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.IconViewEx1_MouseClick);
this.IconViewEx1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.IconViewEx1_MouseDoubleClick); this.IconViewEx1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.IconViewEx1_MouseDoubleClick);
this.IconViewEx1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.IconViewEx1_MouseMove);
this.IconViewEx1.Resize += new System.EventHandler(this.IconViewEx1_Resize); this.IconViewEx1.Resize += new System.EventHandler(this.IconViewEx1_Resize);
// //
// TabList_Column // TabList_Column
@ -464,7 +455,7 @@
this.TabList_Column.SelectedEndBackColor = System.Drawing.Color.SkyBlue; this.TabList_Column.SelectedEndBackColor = System.Drawing.Color.SkyBlue;
this.TabList_Column.SelectedForeColor = System.Drawing.Color.Black; this.TabList_Column.SelectedForeColor = System.Drawing.Color.Black;
this.TabList_Column.SelectedStartBackColor = System.Drawing.Color.PowderBlue; this.TabList_Column.SelectedStartBackColor = System.Drawing.Color.PowderBlue;
this.TabList_Column.Size = new System.Drawing.Size(450, 29); this.TabList_Column.Size = new System.Drawing.Size(446, 29);
this.TabList_Column.TabIndex = 1; this.TabList_Column.TabIndex = 1;
this.TabList_Column.TileSize = new System.Drawing.Size(70, 30); this.TabList_Column.TileSize = new System.Drawing.Size(70, 30);
this.TabList_Column.UseCompatibleStateImageBehavior = false; this.TabList_Column.UseCompatibleStateImageBehavior = false;
@ -483,7 +474,7 @@
this.BackColor = System.Drawing.Color.White; this.BackColor = System.Drawing.Color.White;
this.BorderWidth = 2; this.BorderWidth = 2;
this.CaptionHeight = 30; this.CaptionHeight = 30;
this.ClientSize = new System.Drawing.Size(717, 531); this.ClientSize = new System.Drawing.Size(745, 543);
this.ControlBoxOffset = new System.Drawing.Point(8, 8); this.ControlBoxOffset = new System.Drawing.Point(8, 8);
this.Controls.Add(this.rySearch1); this.Controls.Add(this.rySearch1);
this.Controls.Add(this.PnlLeft); this.Controls.Add(this.PnlLeft);
@ -495,7 +486,6 @@
this.MinimumSize = new System.Drawing.Size(160, 60); this.MinimumSize = new System.Drawing.Size(160, 60);
this.Name = "FrmVSoft"; this.Name = "FrmVSoft";
this.SideResizeWidth = 4; this.SideResizeWidth = 4;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "VSoft"; this.Text = "VSoft";
themeForm1.BorderWidth = 2; themeForm1.BorderWidth = 2;
themeForm1.CaptionBackColorBottom = System.Drawing.Color.White; themeForm1.CaptionBackColorBottom = System.Drawing.Color.White;
@ -662,7 +652,6 @@
private System.Windows.Forms.ToolStripMenuItem Menu修改分类; private System.Windows.Forms.ToolStripMenuItem Menu修改分类;
private System.Windows.Forms.ToolStripMenuItem Menu删除分类; private System.Windows.Forms.ToolStripMenuItem Menu删除分类;
private System.Windows.Forms.ColumnHeader columnHeader1; private System.Windows.Forms.ColumnHeader columnHeader1;
private System.Windows.Forms.Label LblDrag;
private System.Windows.Forms.Timer timer1; private System.Windows.Forms.Timer timer1;
private System.Windows.Forms.ColumnHeader columnHeader2; private System.Windows.Forms.ColumnHeader columnHeader2;
private System.Windows.Forms.NotifyIcon notifyIcon1; private System.Windows.Forms.NotifyIcon notifyIcon1;

View File

@ -10,25 +10,31 @@ using System.Diagnostics;
using System.Drawing; using System.Drawing;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading;
using System.Windows.Forms; using System.Windows.Forms;
using VSoft.Config; using VSoft.Config;
using VSoft.Prams; using VSoft.Prams;
using VSoft.Skins; using VSoft.Skins;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.Header;
namespace VSoft namespace VSoft
{ {
public partial class FrmVSoft : SKinForm public partial class FrmVSoft : SKinForm
{ {
string[] prog_args; readonly string[] prog_args;
string SQLConnStr = Itrycn_Db.SQLConnStr; readonly string SQLConnStr = Itrycn_Db.SQLConnStr;
MouseHook mouse = new MouseHook(); readonly MouseHook mouse = new MouseHook();
public FrmVSoft(string[] args) public FrmVSoft(string[] args)
{ {
InitializeComponent(); InitializeComponent();
prog_args = args; prog_args = args;
//配置软件信息 //配置软件信息
notifyIcon1.Text = Config.Soft_Info.Soft_Title; notifyIcon1.Text = Config.Soft_Info.Soft_Title;
Text = Config.Soft_Info.Soft_Title + " V" + RySoft.VersionStr; Text = Config.Soft_Info.Soft_Title + " V" + RySoft.GetVersionStr(Application.ExecutablePath);
#if TEST
Text +=" V内部测试版";
#endif
if (!Config.Soft_Info.ShowTray) { notifyIcon1.Visible = false; } if (!Config.Soft_Info.ShowTray) { notifyIcon1.Visible = false; }
#if DY #if DY
ToolStripMenuItem.Text = "关于"; ToolStripMenuItem.Text = "关于";
@ -45,6 +51,7 @@ namespace VSoft
PnlLeft.BackColor = backcolor; PnlLeft.BackColor = backcolor;
} }
private readonly System.Windows.Forms.ToolTip lvTp = new System.Windows.Forms.ToolTip();
private void FrmVSoft_FormClosed(object sender, FormClosedEventArgs e) private void FrmVSoft_FormClosed(object sender, FormClosedEventArgs e)
{ {
mouse.Stop(); mouse.Stop();
@ -65,7 +72,7 @@ namespace VSoft
} }
if (e.Button== button) if (e.Button== button)
{ {
ryCommon.RyFiles.WriteAllText(Application.StartupPath+"\\1.txt",e.Button.ToString(),Encoding.UTF8); //ryCommon.RyFiles.WriteAllText(Application.StartupPath+"\\1.txt",e.Button.ToString(),Encoding.UTF8);
if(Math.Abs((dt_lastMouse-DateTime.Now).TotalMilliseconds)<500) if(Math.Abs((dt_lastMouse-DateTime.Now).TotalMilliseconds)<500)
{ {
clickcount++; clickcount++;
@ -90,7 +97,8 @@ namespace VSoft
{ {
LoadDb(false); LoadDb(false);
} }
Dictionary<string, Image> dictCacheImg = new Dictionary<string, Image>();
readonly Dictionary<string, Image> dictCacheImg = new Dictionary<string, Image>();
private void LoadDb(bool isSearch) private void LoadDb(bool isSearch)
{ {
IconViewEx1.Items.Clear(); IconViewEx1.Items.Clear();
@ -122,16 +130,18 @@ namespace VSoft
for (int i = 0; i < ds.Tables[0].Rows.Count; i++) for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{ {
DataRow row = ds.Tables[0].Rows[i]; DataRow row = ds.Tables[0].Rows[i];
SoftInfo info = new SoftInfo(); SoftInfo info = new SoftInfo
info.Id = row["id"].ToInt(); {
info.SoftType = row["SoftType"].ToInt(); Id = row["id"].ToInt(),
info.ColumnId = row["ColumnId"].ToInt(); SoftType = row["SoftType"].ToInt(),
info.Name = row["Name"].ToString(); ColumnId = row["ColumnId"].ToInt(),
info.Path = row["Path"].ToString(); Name = row["Name"].ToString(),
info.RunPram = row["RunPram"].ToString(); Path = row["Path"].ToString(),
info.SetJson = row["SetJson"].ToString(); RunPram = row["RunPram"].ToString(),
info.StartPath= row["StartPath"].ToString(); SetJson = row["SetJson"].ToString(),
info.IconPath = row["IconPath"].ToString(); StartPath = row["StartPath"].ToString(),
IconPath = row["IconPath"].ToString()
};
string img_path; string img_path;
if (info.IconPath.Length == 0) if (info.IconPath.Length == 0)
{ {
@ -139,7 +149,7 @@ namespace VSoft
} }
else else
{ {
img_path = RyFiles.GetRealPath(row["IconPath"].ToString()); img_path = RyFiles.GetRealPath(info.IconPath);
} }
if(dictCacheImg.ContainsKey(img_path)) if(dictCacheImg.ContainsKey(img_path))
{ {
@ -150,6 +160,7 @@ namespace VSoft
info.Image = API.GetImg(img_path, 128); info.Image = API.GetImg(img_path, 128);
dictCacheImg.Add(img_path, info.Image); dictCacheImg.Add(img_path, info.Image);
} }
Application.DoEvents();
IconViewEx1.Items.Add(info.Name).Tag = info ; IconViewEx1.Items.Add(info.Name).Tag = info ;
} }
IconViewEx1.EndUpdate(); IconViewEx1.EndUpdate();
@ -160,6 +171,7 @@ namespace VSoft
} }
else { LblEmpty.Visible = false; } else { LblEmpty.Visible = false; }
} }
db.Free();
} }
private void LoadColumn() private void LoadColumn()
{ {
@ -239,12 +251,57 @@ namespace VSoft
TabList_Type.Items[0].Selected = true; TabList_Type.Items[0].Selected = true;
} }
} }
int hot_index = 0;
/// <summary>
/// 注册热键
/// </summary>
private void RegisterHotkey()
{
hotkey.UnHotKey();
IDbInterface db2 = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db2.ConnDb(SQLConnStr) == 1)
{
var index = 100;
HotkeyValue hot = new HotkeyValue(Soft_Config.ShowMainHotKey);
hotkey.RegHotKey(100, hot.Modifiers_Int, hot.KeyCode);
var ds_type = db2.ReadData("select * from Columns where Hotkey<>''");
if (ds_type.HaveData())
{
for (int i = 0; i < ds_type.Tables[0].Rows.Count; i++)
{
index++;
var item = ds_type.GetRow(i);
hot.LoadHotKeyStr(item["HotKey"].ToString());
hotkey.RegHotKey(index, "type_" + item["id"].ToInt(), hot.Modifiers_Int, hot.KeyCode);
}
}
ds_type.Dispose();
var ds = db2.ReadData("select * from Softs where Hotkey<>''");
if (ds.HaveData())
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
index++;
var item = ds.GetRow(i);
hot.LoadHotKeyStr(item["HotKey"].ToString());
hotkey.RegHotKey(index, "soft_" + item["id"].ToInt(), hot.Modifiers_Int, hot.KeyCode);
}
}
ds.Dispose();
hot_index = index;
}
db2.Free();
}
SysFuns.WinHotReg hotkey; SysFuns.WinHotReg hotkey;
private void FrmVSoft_Load(object sender, EventArgs e) private void FrmVSoft_Load(object sender, EventArgs e)
{ {
//IconViewEx1.SetInterval(100, 100);
Config.Soft_Config.MainForm = this;
MinimumSize = new Size(400, 200); MinimumSize = new Size(400, 200);
LblEmpty.Left =((panelEx1.Width - LblEmpty.Width) / 2); LblEmpty.Left =((panelEx1.Width - LblEmpty.Width) / 2);
Config.Soft_Info.UserDataFolder = ryCommon.RyFiles.GetRealPath(Config.Soft_Info.UserDataFolder); Config.Soft_Info.UserDataFolder = ryCommon.RyFiles.GetRealPath(Config.Soft_Info.UserDataFolder);
Itrycn_Db.SQLConnStr = Soft_Info.UserDataFolder + "\\Softs.dat|";
Itrycn_Db.SQLConnStr_Logs = Soft_Info.UserDataFolder + "\\logs.dat|";
VSoft.Prams.Itrycn_Db.CreateTable(); VSoft.Prams.Itrycn_Db.CreateTable();
var dbver = Itrycn_Db.GetDbVer(); var dbver = Itrycn_Db.GetDbVer();
if (dbver == 2) //当前要求的数据库 if (dbver == 2) //当前要求的数据库
@ -299,9 +356,37 @@ namespace VSoft
// Msg.ShowMsg("管理员模式下启动本软件,可能会导致无法拖放图标到本软件。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); // Msg.ShowMsg("管理员模式下启动本软件,可能会导致无法拖放图标到本软件。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
//} //}
hotkey = new SysFuns.WinHotReg(Handle); hotkey = new SysFuns.WinHotReg(Handle);
HotkeyValue hot = new HotkeyValue(Soft_Config.ShowMainHotKey);
hotkey.RegHotKey(100,hot.Modifiers_Int, hot.KeyCode);
hotkey.OnHotkey += Hotkey_OnHotkey; hotkey.OnHotkey += Hotkey_OnHotkey;
RegisterHotkey();
#region
IDbInterface db2 = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db2.ConnDb(SQLConnStr) == 1)
{
DataSet ds = db2.ReadData("select * from Softs");
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
DataRow row = ds.Tables[0].Rows[i];
var IconPath = row["IconPath"].ToString();
var TruePath = RyFiles.GetRealPath(row["Path"].ToString());
string img_path;
Image image;
if (IconPath.Length == 0)
{
img_path = TruePath;
}
else
{
img_path = RyFiles.GetRealPath(IconPath);
}
if (!dictCacheImg.ContainsKey(img_path))
{
image = API.GetImg(img_path, 128);
dictCacheImg.Add(img_path, image);
}
}
}
db2.Free();
#endregion
ryCommon.RyRegedit.RegRoot = Microsoft.Win32.RegistryHive.CurrentUser; ryCommon.RyRegedit.RegRoot = Microsoft.Win32.RegistryHive.CurrentUser;
//如果开机启动没有启动 //如果开机启动没有启动
if(!ryCommon.RyRegedit.IsAutoRun(Soft_Info.Soft_Id, "\"" + Application.ExecutablePath.Replace("/", "\\") + "\" " + Soft_Info.Soft_Pram)) if(!ryCommon.RyRegedit.IsAutoRun(Soft_Info.Soft_Id, "\"" + Application.ExecutablePath.Replace("/", "\\") + "\" " + Soft_Info.Soft_Pram))
@ -313,8 +398,12 @@ namespace VSoft
break; break;
} }
} }
ShowInCenter(null);
#if DY
#else
LiveUpdate.RyUpdate update = new LiveUpdate.RyUpdate(Soft_Info.Update_Url); LiveUpdate.RyUpdate update = new LiveUpdate.RyUpdate(Soft_Info.Update_Url);
update.CheckUpdate(); update.CheckUpdate();
#endif
mouse.OnMouseActivity += Mouse_OnMouseActivity; mouse.OnMouseActivity += Mouse_OnMouseActivity;
mouse.Start(); mouse.Start();
} }
@ -326,6 +415,79 @@ namespace VSoft
case 100: case 100:
ShowOrHideUI(); ShowOrHideUI();
break; break;
default:
var ids=hotkey.GetTag(HotKeyID);
if(ids.IndexOfEx("type_")==0)
{
#region
var id = ids.Substring(5).ToInt();
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(SQLConnStr) == 1)
{
//var sql = "select * from Columns where id=" + id;
DataSet ds = db.ReadData("select * from Columns where id=" + id);
if (ds.HaveData())
{
DataRow row = ds.GetFirstRowData();
var parentId=row["parentId"].ToInt();
if(parentId>0)
{
for (int i = 0; i < TabList_Column.Items.Count; i++)
{
if (TabList_Column.Items[i].Tag.ToInt()==parentId)
{
TabList_Column.Items[i].Selected = true;
for (int m = 0; m < TabList_Type.Items.Count; m++)
{
if (TabList_Type.Items[m].Tag.ToInt() == row["id"].ToInt())
{
TabList_Type.Items[m].Selected = true;
ShowOrHideUI(true);
break;
}
}
break;
}
}
}
}
db.Free();
}
db.Free();
#endregion
}
else if (ids.IndexOfEx("soft_") == 0)
{
#region
var id = ids.Substring(5).ToInt();
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(SQLConnStr) == 1)
{
//var sql = "select * from Softs where id=" + id;
DataSet ds = db.ReadData("select * from Softs where id=" + id);
if (ds.HaveData())
{
DataRow row = ds.GetFirstRowData();
SoftInfo info = new SoftInfo
{
Id = row["id"].ToInt(),
SoftType = row["SoftType"].ToInt(),
ColumnId = row["ColumnId"].ToInt(),
Name = row["Name"].ToString(),
Path = row["Path"].ToString(),
RunPram = row["RunPram"].ToString(),
SetJson = row["SetJson"].ToString(),
StartPath = row["StartPath"].ToString(),
IconPath = row["IconPath"].ToString()
};
VSoft.Prams.Run.Open(info, false);
}
db.Free();
}
db.Free();
#endregion
}
break;
} }
} }
[System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "SetForegroundWindow")] [System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "SetForegroundWindow")]
@ -333,9 +495,9 @@ namespace VSoft
/// <summary> /// <summary>
/// 显示或隐藏UI /// 显示或隐藏UI
/// </summary> /// </summary>
private void ShowOrHideUI() private void ShowOrHideUI(bool ForceShow=false)
{ {
if (this.Visible && RyForm.GetActiveWindow() == Handle) if (this.Visible && RyForm.GetActiveWindow() == Handle && !ForceShow)
{ {
this.Hide(); this.Hide();
} }
@ -405,7 +567,7 @@ namespace VSoft
} }
} }
private void rySearch1_OnSearch(object sender, EventArgs e) private void RySearch1_OnSearch(object sender, EventArgs e)
{ {
if(rySearch1.Text.Length==0) if(rySearch1.Text.Length==0)
{ {
@ -441,8 +603,11 @@ namespace VSoft
} }
private void BtnAddColumn_Click(object sender, EventArgs e) private void BtnAddColumn_Click(object sender, EventArgs e)
{ {
FrmAddColumn frm = new FrmAddColumn(); FrmAddColumn frm = new FrmAddColumn
frm.TopMost = TopMost; {
TopMost = TopMost
};
frm.ShowInCenter(this);
if (frm.ShowDialog() == DialogResult.OK) if (frm.ShowDialog() == DialogResult.OK)
{ {
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType); IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
@ -464,10 +629,13 @@ namespace VSoft
private void ToolStripMenuItem_Click(object sender, EventArgs e) private void ToolStripMenuItem_Click(object sender, EventArgs e)
{ {
if (TabList_Column.SelectedItems.Count == 0) { return; } if (TabList_Column.SelectedItems.Count == 0) { return; }
FrmAddColumn frm = new FrmAddColumn(); FrmAddColumn frm = new FrmAddColumn
frm.TopMost = TopMost; {
frm.IsAdd = 0; TopMost = TopMost,
IsAdd = 0
};
frm.GetInfo(TabList_Column.SelectedItems[0].Tag.ToInt()); frm.GetInfo(TabList_Column.SelectedItems[0].Tag.ToInt());
frm.ShowInCenter(this);
if (frm.ShowDialog() == DialogResult.OK) if (frm.ShowDialog() == DialogResult.OK)
{ {
SetColumnRow(TabList_Column.SelectedItems[0].Tag.ToInt(), TabList_Column.SelectedItems[0].Index); SetColumnRow(TabList_Column.SelectedItems[0].Tag.ToInt(), TabList_Column.SelectedItems[0].Index);
@ -550,14 +718,20 @@ namespace VSoft
return; return;
} }
var id = TabList_Column.SelectedItems[0].Tag.ToInt(); var id = TabList_Column.SelectedItems[0].Tag.ToInt();
FrmAddType frm = new FrmAddType(); FrmAddType frm = new FrmAddType
frm.TopMost = TopMost; {
frm.ParentId = id; TopMost = TopMost,
ParentId = id
};
frm.ShowInCenter(this);
if (frm.ShowDialog() == DialogResult.OK) if (frm.ShowDialog() == DialogResult.OK)
{ {
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType); IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(SQLConnStr) == 1) if (db.ConnDb(SQLConnStr) == 1)
{ {
hot_index++;
HotkeyValue hot = new HotkeyValue(frm.hotkeyTextBox1.HotKey);
hotkey.RegHotKey(hot_index,"type_"+frm.Op_Id, hot.Modifiers_Int, hot.KeyCode);
DataSet ds = db.ReadData("select * from Columns where parentId=" + id + " order by sortindex desc limit 1"); DataSet ds = db.ReadData("select * from Columns where parentId=" + id + " order by sortindex desc limit 1");
TabList_Type.BeginUpdate(); TabList_Type.BeginUpdate();
if(ds.Tables[0].Rows.Count>0) if(ds.Tables[0].Rows.Count>0)
@ -565,6 +739,7 @@ namespace VSoft
DataRow row = ds.Tables[0].Rows[0]; DataRow row = ds.Tables[0].Rows[0];
TabList_Type.Items.Add(row["Name"].ToString()).Tag = row["id"].ToInt(); TabList_Type.Items.Add(row["Name"].ToString()).Tag = row["id"].ToInt();
} }
ds.Dispose();
TabList_Type.EndUpdate(); TabList_Type.EndUpdate();
db.Free(); db.Free();
} }
@ -589,13 +764,34 @@ namespace VSoft
Msg.ShowMsg("默认分类不支持修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); Msg.ShowMsg("默认分类不支持修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return; return;
} }
FrmAddType frm = new FrmAddType(); FrmAddType frm = new FrmAddType
frm.TopMost = TopMost; {
frm.IsAdd = 0; TopMost = TopMost,
IsAdd = 0
};
frm.GetInfo(id); frm.GetInfo(id);
frm.ShowInCenter(this);
if (frm.ShowDialog() == DialogResult.OK) if (frm.ShowDialog() == DialogResult.OK)
{ {
SetTypeRow(id, TabList_Type.SelectedItems[0].Index); SetTypeRow(id, TabList_Type.SelectedItems[0].Index);
HotkeyValue hot = new HotkeyValue(frm.hotkeyTextBox1.HotKey);
var index = hotkey.GetHotId("type_" + frm.Op_Id);
if (index >= 0)
{
hotkey.UnHotKey(index);
if (frm.hotkeyTextBox1.HaveHotKey)
{
hotkey.RegHotKey(index, "type_" + frm.Op_Id, hot.Modifiers_Int, hot.KeyCode);
}
}
else
{
if (frm.hotkeyTextBox1.HaveHotKey)
{
hot_index++;
hotkey.RegHotKey(hot_index, "type_" + frm.Op_Id, hot.Modifiers_Int, hot.KeyCode);
}
}
} }
frm.Dispose(); frm.Dispose();
} }
@ -629,10 +825,15 @@ namespace VSoft
} }
} }
ds.Dispose(); ds.Dispose();
var index = hotkey.GetHotId("type_" + column_id);
if (index >= 0)
{
hotkey.UnHotKey(index);
}
db.DelById("Columns", column_id.ToString()); db.DelById("Columns", column_id.ToString());
TabList_Type.SelectedItems[0].Remove(); TabList_Type.SelectedItems[0].Remove();
db.BeginTransaction(); db.BeginTransaction();
for (int i = 1; i < TabList_Type.Items.Count; i++) for (int i = 0; i < TabList_Type.Items.Count; i++)
{ {
var id = TabList_Type.Items[i].Tag.ToInt(); var id = TabList_Type.Items[i].Tag.ToInt();
RyQuickSQL mySQL = new RyQuickSQL("Columns"); RyQuickSQL mySQL = new RyQuickSQL("Columns");
@ -708,11 +909,17 @@ namespace VSoft
Msg.ShowMsg("当前模式下不支持添加软件。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); Msg.ShowMsg("当前模式下不支持添加软件。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return; return;
} }
FrmAddSoft frm = new FrmAddSoft(); FrmAddSoft frm = new FrmAddSoft
frm.TopMost = TopMost; {
frm.ColumnId = ColumnId; TopMost = TopMost,
ColumnId = ColumnId
};
frm.ShowInCenter(this);
if (frm.ShowDialog() == DialogResult.OK) if (frm.ShowDialog() == DialogResult.OK)
{ {
hot_index++;
HotkeyValue hot = new HotkeyValue(frm.hotkeyTextBox1.HotKey);
hotkey.RegHotKey(hot_index, "soft_" + frm.Op_Id, hot.Modifiers_Int, hot.KeyCode);
LoadDb(); LoadDb();
} }
frm.Dispose(); frm.Dispose();
@ -721,13 +928,34 @@ namespace VSoft
{ {
if (IconViewEx1.SelectedItems.Count == 0) { return; } if (IconViewEx1.SelectedItems.Count == 0) { return; }
var info = (SoftInfo)IconViewEx1.SelectedItems[0].Tag; var info = (SoftInfo)IconViewEx1.SelectedItems[0].Tag;
FrmAddSoft frm = new FrmAddSoft(); FrmAddSoft frm = new FrmAddSoft
frm.TopMost = TopMost; {
frm.SelectId = info.Id; TopMost = TopMost,
frm.IsAdd = 0; SelectId = info.Id,
IsAdd = 0
};
frm.GetInfo(info.Id); frm.GetInfo(info.Id);
frm.ShowInCenter(this);
if (frm.ShowDialog() == DialogResult.OK) if (frm.ShowDialog() == DialogResult.OK)
{ {
HotkeyValue hot = new HotkeyValue(frm.hotkeyTextBox1.HotKey);
var index = hotkey.GetHotId("soft_" + frm.Op_Id);
if (index >= 0)
{
hotkey.UnHotKey(index);
if (frm.hotkeyTextBox1.HaveHotKey)
{
hotkey.RegHotKey(index, "soft_" + frm.Op_Id, hot.Modifiers_Int, hot.KeyCode);
}
}
else
{
if (frm.hotkeyTextBox1.HaveHotKey)
{
hot_index++;
hotkey.RegHotKey(hot_index, "soft_" + frm.Op_Id, hot.Modifiers_Int, hot.KeyCode);
}
}
SetSoftRow(info.Id, IconViewEx1.SelectedItems[0].Index); SetSoftRow(info.Id, IconViewEx1.SelectedItems[0].Index);
} }
frm.Dispose(); frm.Dispose();
@ -749,6 +977,11 @@ namespace VSoft
{ {
RyFiles.DeleteFile(RyFiles.GetRealPath(info.IconPath)); RyFiles.DeleteFile(RyFiles.GetRealPath(info.IconPath));
} }
var index = hotkey.GetHotId("soft_" + info.Id);
if (index >= 0)
{
hotkey.UnHotKey(index);
}
db.DelById("Softs", info.Id.ToString()); db.DelById("Softs", info.Id.ToString());
IconViewEx1.SelectedItems[i].Remove(); IconViewEx1.SelectedItems[i].Remove();
if (IconViewEx1.Items.Count == 0) if (IconViewEx1.Items.Count == 0)
@ -782,8 +1015,18 @@ namespace VSoft
{ {
if (IconViewEx1.SelectedItems.Count == 0) { return; } if (IconViewEx1.SelectedItems.Count == 0) { return; }
var info = (SoftInfo)IconViewEx1.SelectedItems[0].Tag; var info = (SoftInfo)IconViewEx1.SelectedItems[0].Tag;
var result= VSoft.Prams.Run.Open(info, RunasAdmin); Thread th = new Thread(Start);
if (result>36 && VSoft.Config.Soft_Config.HideAfterRun) { this.Hide(); } th.Start();
void Start()
{
var result = VSoft.Prams.Run.Open(info, RunasAdmin);
if (result > 36 && VSoft.Config.Soft_Config.HideAfterRun) {
this.Invoke(new Action(() =>
{
this.Hide();
}));
}
}
} }
private void IconViewEx1_KeyDown(object sender, KeyEventArgs e) private void IconViewEx1_KeyDown(object sender, KeyEventArgs e)
{ {
@ -864,8 +1107,6 @@ namespace VSoft
private void IconViewEx1_DragEnter(object sender, DragEventArgs e) private void IconViewEx1_DragEnter(object sender, DragEventArgs e)
{ {
LblDrag.Height = IconViewEx1.TileSize.Height;
LblDrag.Parent = IconViewEx1;
ListViewItem lvi = (ListViewItem)e.Data.GetData(typeof(ListViewItem)); ListViewItem lvi = (ListViewItem)e.Data.GetData(typeof(ListViewItem));
if (lvi != null) if (lvi != null)
{ {
@ -879,7 +1120,6 @@ namespace VSoft
} }
private void IconViewEx1_DragDrop(object sender, DragEventArgs e) private void IconViewEx1_DragDrop(object sender, DragEventArgs e)
{ {
LblDrag.Visible = false;
var filedrop = e.Data.GetData(DataFormats.FileDrop); var filedrop = e.Data.GetData(DataFormats.FileDrop);
if (filedrop != null) if (filedrop != null)
{ {
@ -906,66 +1146,77 @@ namespace VSoft
Msg.ShowMsg("当前模式下不支持添加软件。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); Msg.ShowMsg("当前模式下不支持添加软件。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return; return;
} }
var path = ((string[])filedrop)[0];
var pram = "";
var StartPath = "";
var des = "";
var name = System.IO.Path.GetFileNameWithoutExtension(path);
IDbInterface db3 = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType); IDbInterface db3 = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db3.ConnDb(SQLConnStr) == 1) if (db3.ConnDb(SQLConnStr) == 1)
{ {
if (System.IO.Path.GetExtension(path).ToLower() == ".lnk") var filelist = (string[])filedrop;
for (int f = 0; f < filelist.Length; f++)
{ {
var shortcut = API.ReadShortcut(path); var path = filelist[f];
path = shortcut.TargetPath; var pram = "";
pram = shortcut.Arguments; var StartPath = "";
StartPath = shortcut.WorkDir; var des = "";
des = shortcut.Description; var icon = "";
var name = System.IO.Path.GetFileNameWithoutExtension(path);
if (System.IO.Path.GetExtension(path).ToLower() == ".lnk")
{
var shortcut = API.ReadShortcut(path);
path = shortcut.TargetPath;
pram = shortcut.Arguments;
StartPath = shortcut.WorkDir;
if(shortcut.IconLocation!= path)
{
icon = shortcut.IconLocation;
}
des = shortcut.Description;
}
else
{
path = RyFiles.GetRelativePath(path);
}
RyQuickSQL mySQL = new RyQuickSQL("Softs");
mySQL.AddField("Name", name);
mySQL.AddField("CmdId", "");
mySQL.AddField("Path", path);
mySQL.AddField("RunPram", pram);
mySQL.AddField("StartPath", StartPath);//起始路径
mySQL.AddField("IconPath", icon);//图标路径
Json json = new Json("");
json.Add("RunAsAdmin", false);
mySQL.AddField("SetJson", json.Text);//设置
mySQL.AddField("Des", des);//备注
mySQL.AddField("Pinyin", ryCommon.PinYin.Convert(name) + "\r\n" + ryCommon.PinYin.ConvertFirstPY(name));
mySQL.AddField("editTime", DateTime.Now);
mySQL.AddField("SoftType", 0);//0表示运行文件,1表示执行快速命令,2表示执行脚本
mySQL.AddField("ClickCount", 0);//点击量
mySQL.AddField("ColumnId", ColumnId);
mySQL.AddField("sortindex", Itrycn_Db.GetSoftCount(db3, ColumnId) + 1);
mySQL.AddField("addTime", DateTime.Now);
var ds = db3.ReadData(mySQL.GetInsertSQL() + ";select last_insert_rowid();", mySQL);
SoftInfo info = new SoftInfo
{
Id = ds.Tables[0].Rows[0][0].ToInt(),
SoftType = 0,
ColumnId = ColumnId,
Name = name,
Path = path,
RunPram = pram,
SetJson = json.Text,
StartPath = StartPath,
IconPath = ""
};
string img_path = info.TruePath;
if (dictCacheImg.ContainsKey(img_path))
{
info.Image = dictCacheImg[img_path];
}
else
{
info.Image = API.GetImg(img_path, 128);
dictCacheImg.Add(img_path, info.Image);
}
IconViewEx1.Items.Add(info.Name).Tag = info;
} }
else
{
path = RyFiles.GetRelativePath(path);
}
RyQuickSQL mySQL = new RyQuickSQL("Softs");
mySQL.AddField("Name", name);
mySQL.AddField("CmdId", "");
mySQL.AddField("Path", path);
mySQL.AddField("RunPram", pram);
mySQL.AddField("StartPath", StartPath);//起始路径
mySQL.AddField("IconPath", "");//图标路径
Json json = new Json("");
json.Add("RunAsAdmin", false);
mySQL.AddField("SetJson", json.Text);//设置
mySQL.AddField("Des", des);//备注
mySQL.AddField("Pinyin", ryCommon.PinYin.Convert(name) + "\r\n" + ryCommon.PinYin.ConvertFirstPY(name));
mySQL.AddField("editTime", DateTime.Now);
mySQL.AddField("SoftType", 0);//0表示运行文件,1表示执行快速命令,2表示执行脚本
mySQL.AddField("ClickCount", 0);//点击量
mySQL.AddField("ColumnId", ColumnId);
mySQL.AddField("sortindex", Itrycn_Db.GetSoftCount(db3, ColumnId) + 1);
mySQL.AddField("addTime", DateTime.Now);
var ds= db3.ReadData(mySQL.GetInsertSQL()+ ";select last_insert_rowid();", mySQL);
SoftInfo info = new SoftInfo();
info.Id = ds.Tables[0].Rows[0][0].ToInt();
info.SoftType =0;
info.ColumnId = ColumnId;
info.Name = name;
info.Path = path;
info.RunPram = pram;
info.SetJson = json.Text;
info.StartPath = StartPath;
info.IconPath ="";
string img_path = info.TruePath;
if (dictCacheImg.ContainsKey(img_path))
{
info.Image = dictCacheImg[img_path];
}
else
{
info.Image = API.GetImg(img_path, 128);
dictCacheImg.Add(img_path, info.Image);
}
IconViewEx1.Items.Add(info.Name).Tag = info;
} }
db3.Free(); db3.Free();
return; return;
@ -974,6 +1225,9 @@ namespace VSoft
Point pt; Point pt;
pt = ((IconViewEx)(sender)).PointToClient(new Point(e.X, e.Y)); pt = ((IconViewEx)(sender)).PointToClient(new Point(e.X, e.Y));
var to_item = IconViewEx1.GetItemAt(pt.X, pt.Y); var to_item = IconViewEx1.GetItemAt(pt.X, pt.Y);
IconViewEx1.InsertionMark.Index = -1;
TabList_Type.InsertionMark.Index = -1;
TabList_Column.InsertionMark.Index = -1;
if (to_item == null) { return; } if (to_item == null) { return; }
//获得拖放中的项 //获得拖放中的项
ListViewItem lvi = (ListViewItem)e.Data.GetData(typeof(ListViewItem)); ListViewItem lvi = (ListViewItem)e.Data.GetData(typeof(ListViewItem));
@ -995,53 +1249,61 @@ namespace VSoft
} }
private void IconViewEx1_DragOver(object sender, DragEventArgs e) private void IconViewEx1_DragOver(object sender, DragEventArgs e)
{ {
ListViewItem item = null; if (sender is IconViewEx list)
if (sender is IconViewEx)
{ {
var filedrop = e.Data.GetData(DataFormats.FileDrop); var filedrop = e.Data.GetData(DataFormats.FileDrop);
if (filedrop != null) { if (filedrop != null)
if (LblDrag.Visible) { LblDrag.Visible = false; } {
return; list.InsertionMark.Index = -1;
return;
} }
var lvi = e.Data.GetData(typeof(ListViewItem)); var lvi = e.Data.GetData(typeof(ListViewItem));
if(lvi==null) if (lvi == null)
{ {
if (LblDrag.Visible) { LblDrag.Visible = false; } list.InsertionMark.Index = -1;
return; return;
} }
else else
{ {
var lvi2 = (ListViewItem)lvi; var lvi2 = (ListViewItem)lvi;
if(lvi2.ListView!=IconViewEx1) if (lvi2.ListView != IconViewEx1)
{ {
if (LblDrag.Visible){LblDrag.Visible = false;} list.InsertionMark.Index = -1;
return; return;
} }
} }
var list = ((IconViewEx)(sender));
var pt = list.PointToClient(new Point(e.X, e.Y)); var pt = list.PointToClient(new Point(e.X, e.Y));
item = list.GetItemAt(pt.X, pt.Y); int targetIndex = list.InsertionMark.NearestIndex(pt);
} if (targetIndex > -1)
else if (sender is TabList)
{
var list = ((TabList)(sender));
var pt = list.PointToClient(new Point(e.X, e.Y));
item = list.GetItemAt(pt.X, pt.Y);
}
if (item == null)
{
if (LblDrag.Visible)
{ {
LblDrag.Visible = false; // Determine whether the mouse pointer is to the left or
// the right of the midpoint of the closest item and set
// the InsertionMark.AppearsAfterItem property accordingly.
Rectangle itemBounds = list.GetItemRect(targetIndex);
if (pt.X > itemBounds.Left + (itemBounds.Width / 2))
{
list.InsertionMark.AppearsAfterItem = true;
}
else
{
list.InsertionMark.AppearsAfterItem = false;
}
} }
list.InsertionMark.Index = targetIndex;
list.InsertionMark.Color = Color.Black; ;
//item = list.GetItemAt(pt.X, pt.Y);
} }
else else if (sender is TabList list2)
{ {
if (!LblDrag.Visible) var pt = list2.PointToClient(new Point(e.X, e.Y));
int targetIndex = list2.InsertionMark.NearestIndex(pt);
if (targetIndex > -1)
{ {
LblDrag.Visible = true; // Rectangle itemBounds = list2.GetItemRect(targetIndex);
list2.InsertionMark.AppearsAfterItem = false;
} }
LblDrag.Location = item.Position; list2.InsertionMark.Index = targetIndex;
list2.InsertionMark.Color = Color.Black; ;
} }
} }
#endregion #endregion
@ -1052,15 +1314,15 @@ namespace VSoft
ListViewItem lvi = (ListViewItem)e.Data.GetData(typeof(ListViewItem)); ListViewItem lvi = (ListViewItem)e.Data.GetData(typeof(ListViewItem));
if (lvi != null) if (lvi != null)
{ {
LblDrag.Height = TabList_Column.TileSize.Height;
LblDrag.Parent = TabList_Column;
e.Effect = DragDropEffects.Move; e.Effect = DragDropEffects.Move;
} }
} }
private void TabList_Column_DragDrop(object sender, DragEventArgs e) private void TabList_Column_DragDrop(object sender, DragEventArgs e)
{ {
LblDrag.Visible = false;
Point pt; Point pt;
IconViewEx1.InsertionMark.Index = -1;
TabList_Type.InsertionMark.Index = -1;
TabList_Column.InsertionMark.Index = -1;
pt = ((TabList)(sender)).PointToClient(new Point(e.X, e.Y)); pt = ((TabList)(sender)).PointToClient(new Point(e.X, e.Y));
var item = TabList_Column.GetItemAt(pt.X, pt.Y); var item = TabList_Column.GetItemAt(pt.X, pt.Y);
if (item == null) { return; } if (item == null) { return; }
@ -1139,16 +1401,16 @@ namespace VSoft
ListViewItem lvi = (ListViewItem)e.Data.GetData(typeof(ListViewItem)); ListViewItem lvi = (ListViewItem)e.Data.GetData(typeof(ListViewItem));
if (lvi != null) if (lvi != null)
{ {
LblDrag.Height = TabList_Type.TileSize.Height;
LblDrag.Parent = TabList_Type;
e.Effect = DragDropEffects.Move; e.Effect = DragDropEffects.Move;
} }
} }
private void TabList_Type_DragDrop(object sender, DragEventArgs e) private void TabList_Type_DragDrop(object sender, DragEventArgs e)
{ {
LblDrag.Visible = false;
Point pt; Point pt;
IconViewEx1.InsertionMark.Index = -1;
TabList_Type.InsertionMark.Index = -1;
TabList_Column.InsertionMark.Index = -1;
pt = ((TabList)(sender)).PointToClient(new Point(e.X, e.Y)); pt = ((TabList)(sender)).PointToClient(new Point(e.X, e.Y));
var item = TabList_Type.GetItemAt(pt.X, pt.Y); var item = TabList_Type.GetItemAt(pt.X, pt.Y);
if (item == null) { return; } if (item == null) { return; }
@ -1292,16 +1554,18 @@ namespace VSoft
private void ShowSetting(bool ShowInScreenCenter) private void ShowSetting(bool ShowInScreenCenter)
{ {
hotkey.Enabled = false; hotkey.Enabled = false;
FrmSetting frm = new FrmSetting(); FrmSetting frm = new FrmSetting
frm.TopMost = TopMost;
if(!ShowInScreenCenter)
{ {
frm.StartPosition = FormStartPosition.CenterParent; TopMost = TopMost
};
if (!ShowInScreenCenter)
{
frm.ShowInCenter(this);
} }
if (frm.ShowDialog() == DialogResult.OK) if (frm.ShowDialog() == DialogResult.OK)
{ {
VSoft.Config.Soft_Config.LoadSetting(); VSoft.Config.Soft_Config.LoadSetting();
hotkey.UnHotKey(); hotkey.UnHotKey(100);
HotkeyValue hot = new HotkeyValue(Soft_Config.ShowMainHotKey); HotkeyValue hot = new HotkeyValue(Soft_Config.ShowMainHotKey);
hotkey.RegHotKey(100, hot.Modifiers_Int, hot.KeyCode); hotkey.RegHotKey(100, hot.Modifiers_Int, hot.KeyCode);
} }
@ -1362,7 +1626,7 @@ namespace VSoft
} }
} }
private void rySearch1_KeyDown(object sender, KeyEventArgs e) private void RySearch1_KeyDown(object sender, KeyEventArgs e)
{ {
if (e.KeyCode == Keys.Down) if (e.KeyCode == Keys.Down)
{ {
@ -1420,8 +1684,11 @@ namespace VSoft
Msg.ShowMsg("当前模式下不支持添加软件。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); Msg.ShowMsg("当前模式下不支持添加软件。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return; return;
} }
FrmInCMD frm = new FrmInCMD(); FrmInCMD frm = new FrmInCMD
frm.TopMost = TopMost; {
TopMost = TopMost
};
frm.ShowInCenter(this);
if (frm.ShowDialog()==DialogResult.OK) if (frm.ShowDialog()==DialogResult.OK)
{ {
var info = frm.SelectedInfo; var info = frm.SelectedInfo;
@ -1519,7 +1786,7 @@ namespace VSoft
} }
private void panelEx1_Resize(object sender, EventArgs e) private void PanelEx1_Resize(object sender, EventArgs e)
{ {
// LblEmpty.Left = panelEx1.Left + ((panelEx1.Width - LblEmpty.Width) / 2); // LblEmpty.Left = panelEx1.Left + ((panelEx1.Width - LblEmpty.Width) / 2);
} }
@ -1538,5 +1805,27 @@ namespace VSoft
this.Hide(); this.Hide();
} }
} }
private ListViewItem currentItem = new ListViewItem();
private void IconViewEx1_MouseMove(object sender, MouseEventArgs e)
{
ListViewItem lvi = IconViewEx1.GetItemAt(e.X, e.Y);
if (lvi != null && lvi != currentItem)
{
currentItem = lvi;
if (lvi.Text.Length > 10)
{
lvTp.Show(lvi.Text, IconViewEx1, e.Location);
}
else
{
lvTp.Hide(IconViewEx1);
}
}
else if (lvi == null)
{
lvTp.Hide(IconViewEx1);
}
currentItem = lvi;
}
} }
} }

View File

@ -124,7 +124,7 @@
<data name="以管理员方式启动ToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="以管理员方式启动ToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAYRJREFUOE+NkztPwlAUx8/gakIYWFwYHB1w8FUQCEpI1KiTYpSHQVQisviYjZsJ wAAADsABataJCQAAAYRJREFUOE+NkztPwlAUx8/gakIYWFwYHB1w8FUQCEpI1KiTYpSHQVQisviYjZsJ
k4OJMT6ILhgTFheDiongc4AP4HdgcO/xnPZWaG81/JN/Qu49v1972wJ2iUQiQWqFiqL82yO2/w4Nuann k4OJMT6ILhgTFheDiongc4AP4HdgcO/xnPZWaG81/JN/Qu49v1972wJ2iUQiQWqFiqL82yO2/w4Nuann
DA3MrqMrWcDaSRB30uOGiPfcYrwVWuQr1HnIPxXFnsQxQvYDYeMd1Scf1Yt3hwGMz4UNEc9WBK4JsHfx DA3MrqMrWcDaSRB30uOGiPfcYrwVWuQr1HnIPxXFnsQxQvYDYeMd1Scf1Yt3hwGMz4UNEc9WBK4JsHfx
AJ0r1wibBAoYMizwolpR9D6OYOPCh5f7AU0kcF0AuU8JhsybCVYfhvXeD9kIbGBYEwILrJYHZYEzVZRg AJ0r1wibBAoYMizwolpR9D6OYOPCh5f7AU0kcF0AuU8JhsybCVYfhvXeD9kIbGBYEwILrJYHZYEzVZRg
@ -137,7 +137,7 @@
<data name="新增内置功能ToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="新增内置功能ToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAAIpJREFUOE/tktEGxDAQRef/v6NLly5dQpfQtSXkixJJHu661R36NC/70NJhiDnH wAAADsABataJCQAAAIpJREFUOE/tktEGxDAQRef/v6NLly5dQpfQtSXkixJJHu661R36NC/70NJhiDnH
mImRv0SMESEELJ8F73mG9x6vacKGTS6ErbVdOudUsLiwM4s55zX5fo6jChYXjvUTUkqoteIxDCpYXLgT mImRv0SMESEELJ8F73mG9x6vacKGTS6ErbVdOudUsLiwM4s55zX5fo6jChYXjvUTUkqoteIxDCpYXLgT
BSZhKQX3vlfB4sIP4U4ci50Jb12ngsUPENcdnPsORL5USPZgYQ6cHAAAAABJRU5ErkJggg== BSZhKQX3vlfB4sIP4U4ci50Jb12ngsUPENcdnPsORL5USPZgYQ6cHAAAAABJRU5ErkJggg==
</value> </value>
@ -182,7 +182,7 @@
<data name="IconViewEx1.Icon" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="IconViewEx1.Icon" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL
EwAACxMBAJqcGAAABvRJREFUeF7tnE2IHEUUxwcjIjkE1JMREnMWD7phd7uzfuBJEPSkd0+55BLQc9ds DwAACw8BkvkDpQAABvRJREFUeF7tnE2IHEUUxwcjIjkE1JMREnMWD7phd7uzfuBJEPSkd0+55BLQc9ds
ooIXT+bix8kgbtSYgxA1hsWLImLAPYTEXBRUNGiMEojpnpTvdWpIT2/Nm+6e7uqerv+DH0tPVfVs7/t1 ooIXT+bix8kgbtSYgxA1hsWLImLAPYTEXBRUNGiMEojpnpTvdWpIT2/Nm+6e7uqerv+DH0tPVfVs7/t1
ffTHDopEoPS9QTQ6FKrkbKjiC/TzCqFBp6CcpLk5G6h4GK7rYKD0HSaF1WL5iN4XqOR4ECU3cl8GFoAg ffTHDopEoPS9QTQ6FKrkbKjiC/TzCqFBp6CcpLk5G6h4GK7rYKD0HSaF1WL5iN4XqOR4ECU3cl8GFoAg
ii8eWNePmXQWjyWld4ZRcox2kuR3ChYPOonfeVLpu0165TgQ6d3UlWzZdgQWF+oNvufcmjTbIzyq99KZ ii8eWNePmXQWjyWld4ZRcox2kuR3ChYPOonfeVLpu0165TgQ6d3UlWzZdgQWF+oNvufcmjTbIzyq99KZ

View File

@ -1,252 +1,254 @@
using ryCommon; using ryCommon;
using ryCommonDb; using ryCommonDb;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data; using System.Data;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using static ryCommonDb.DataProvider; using VSoft.Config;
using static ryCommonDb.DataProvider;
namespace VSoft.Prams
{ namespace VSoft.Prams
public class Itrycn_Db {
{ public class Itrycn_Db
public static string SQLConnStr_SysDb = "<app>\\SysDb\\SysConfig.dat"; {
public static string SQLConnStr = "<app>\\UserDb\\Softs.dat|"; public static string SQLConnStr_SysDb = "<app>\\SysDb\\SysConfig.dat";
public static string SQLConnStr_Logs = "<app>\\UserDb\\logs.dat|"; public static string SQLConnStr = Soft_Info.UserDataFolder+ "\\Softs.dat|";
public static DataProvider.DataProviderType dataType = DataProvider.DataProviderType.SQLiteDataProvider; public static string SQLConnStr_Logs = Soft_Info.UserDataFolder + "\\logs.dat|";
public static IDbInterface CreateDataProvider(DataProviderType dataProviderType) public static DataProvider.DataProviderType dataType = DataProvider.DataProviderType.SQLiteDataProvider;
{ public static IDbInterface CreateDataProvider(DataProviderType dataProviderType)
switch (dataProviderType) {
{ switch (dataProviderType)
//case DataProviderType.OdbcDataProvider: {
// return new OdbcDataProvider(); //case DataProviderType.OdbcDataProvider:
//case DataProviderType.OleDbDataProvider: // return new OdbcDataProvider();
// return new OleDbDataProvider(); //case DataProviderType.OleDbDataProvider:
//case DataProviderType.OracleDataProvider: // return new OleDbDataProvider();
// return new OracleDataProvider(); //case DataProviderType.OracleDataProvider:
case DataProviderType.SQLiteDataProvider: // return new OracleDataProvider();
return new SQLiteDataProvider(); case DataProviderType.SQLiteDataProvider:
default: return new SQLiteDataProvider();
return null; default:
} return null;
} }
/// <summary> }
/// 写入设置 /// <summary>
/// </summary> /// 写入设置
/// <param name="name"></param> /// </summary>
/// <param name="value"></param> /// <param name="name"></param>
public static int SetSetting(string _SQLConnStr, string name, string value) /// <param name="value"></param>
{ public static int SetSetting(string _SQLConnStr, string name, string value)
IDbInterface db = CreateDataProvider(dataType); {
if (db.ConnDb(_SQLConnStr) == 1) IDbInterface db = CreateDataProvider(dataType);
{ if (db.ConnDb(_SQLConnStr) == 1)
RyQuickSQL mySQL = new RyQuickSQL("Setting"); {
mySQL.AddField("sName", name); RyQuickSQL mySQL = new RyQuickSQL("Setting");
mySQL.AddField("sValue", value); mySQL.AddField("sName", name);
var result = db.ExecuteNonQuery(mySQL.GetUpdateSQL() + " where sName=@sName", mySQL); mySQL.AddField("sValue", value);
if (result == 0) var result = db.ExecuteNonQuery(mySQL.GetUpdateSQL() + " where sName=@sName", mySQL);
{ if (result == 0)
result = db.ExecuteNonQuery(mySQL.GetInsertSQL(), mySQL); {
} result = db.ExecuteNonQuery(mySQL.GetInsertSQL(), mySQL);
return result; }
} return result;
db.Free(); }
return -1000; db.Free();
} return -1000;
/// <summary> }
/// 写入设置 /// <summary>
/// </summary> /// 写入设置
/// <param name="name"></param> /// </summary>
/// <param name="value"></param> /// <param name="name"></param>
public static int SetSetting(string name, string value) /// <param name="value"></param>
{ public static int SetSetting(string name, string value)
return SetSetting(SQLConnStr, name, value); {
} return SetSetting(SQLConnStr, name, value);
/// <summary> }
/// 读取设置 /// <summary>
/// </summary> /// 读取设置
/// <param name="name"></param> /// </summary>
/// <param name="def_value"></param> /// <param name="name"></param>
/// <returns></returns> /// <param name="def_value"></param>
public static string GetSetting(string _SQLConnStr, string name, string def_value) /// <returns></returns>
{ public static string GetSetting(string _SQLConnStr, string name, string def_value)
DataProvider mydb = new DataProvider(); {
IDbInterface db = CreateDataProvider(dataType); DataProvider mydb = new DataProvider();
string _value = def_value; IDbInterface db = CreateDataProvider(dataType);
if (db.ConnDb(_SQLConnStr) == 1) string _value = def_value;
{ if (db.ConnDb(_SQLConnStr) == 1)
RyQuickSQL mySQL = new RyQuickSQL("Setting"); {
mySQL.AddField("sName", name); RyQuickSQL mySQL = new RyQuickSQL("Setting");
DataSet ds = db.ReadData("select * from Setting where sName=@sName", mySQL); mySQL.AddField("sName", name);
if (mydb.HaveData(ds)) DataSet ds = db.ReadData("select * from Setting where sName=@sName", mySQL);
{ if (mydb.HaveData(ds))
DataRow reader = ds.Tables[0].Rows[0]; {
_value = reader["sValue"].ToString(); DataRow reader = ds.Tables[0].Rows[0];
} _value = reader["sValue"].ToString();
} }
db.Free(); }
return _value; db.Free();
} return _value;
/// <summary> }
/// 读取设置 /// <summary>
/// </summary> /// 读取设置
/// <param name="name"></param> /// </summary>
/// <param name="def_value"></param> /// <param name="name"></param>
/// <returns></returns> /// <param name="def_value"></param>
public static string GetSetting(string name, string def_value) /// <returns></returns>
{ public static string GetSetting(string name, string def_value)
return GetSetting(SQLConnStr, name, def_value); {
} return GetSetting(SQLConnStr, name, def_value);
public static int GetColumnCount(IDbInterface db, int ColumnId) }
{ public static int GetColumnCount(IDbInterface db, int ColumnId)
var ds = db.ReadData("select count(*) from Columns where parentId=" + ColumnId); {
var icount = ds.Tables[0].Rows[0][0].ToInt(); var ds = db.ReadData("select count(*) from Columns where parentId=" + ColumnId);
ds.Dispose(); var icount = ds.Tables[0].Rows[0][0].ToInt();
return icount; ds.Dispose();
} return icount;
public static int GetSoftCount(IDbInterface db, int ColumnId) }
{ public static int GetSoftCount(IDbInterface db, int ColumnId)
var ds = db.ReadData("select count(*) from Softs where ColumnId=" + ColumnId); {
var icount = ds.Tables[0].Rows[0][0].ToInt(); var ds = db.ReadData("select count(*) from Softs where ColumnId=" + ColumnId);
ds.Dispose(); var icount = ds.Tables[0].Rows[0][0].ToInt();
return icount; ds.Dispose();
} return icount;
}
/// <summary>
/// 获取指定栏目的第一个分类id /// <summary>
/// </summary> /// 获取指定栏目的第一个分类id
/// <param name="db"></param> /// </summary>
/// <param name="ColumnId"></param> /// <param name="db"></param>
/// <returns></returns> /// <param name="ColumnId"></param>
public static int GetFirstColumnId(IDbInterface db, int ColumnId) /// <returns></returns>
{ public static int GetFirstColumnId(IDbInterface db, int ColumnId)
var ds = db.ReadData("select id from Columns where parentId=" + ColumnId+ " order by sortindex asc limit 1"); {
if (ds.Tables[0].Rows.Count == 0) var ds = db.ReadData("select id from Columns where parentId=" + ColumnId+ " order by sortindex asc limit 1");
{ return -1; } if (ds.Tables[0].Rows.Count == 0)
else { return -1; }
{ else
var icount = ds.Tables[0].Rows[0][0].ToInt(); {
ds.Dispose(); var icount = ds.Tables[0].Rows[0][0].ToInt();
return icount; ds.Dispose();
} return icount;
} }
/// <summary> }
/// 获取数据库版本 /// <summary>
/// </summary> /// 获取数据库版本
/// <returns></returns> /// </summary>
public static int GetDbVer() /// <returns></returns>
{ public static int GetDbVer()
return GetSetting("dbVer", "1").ToInt(); {
} return GetSetting("dbVer", "1").ToInt();
/// <summary> }
/// 设置数据库版本 /// <summary>
/// </summary> /// 设置数据库版本
/// <returns></returns> /// </summary>
public static int SetDbVer(int DbVer) /// <returns></returns>
{ public static int SetDbVer(int DbVer)
return SetSetting("dbVer", DbVer.ToString()); {
} return SetSetting("dbVer", DbVer.ToString());
public static void CreateTable(DataProvider.DataProviderType dataType, string ConnStr) }
{ public static void CreateTable(DataProvider.DataProviderType dataType, string ConnStr)
IDbInterface db = CreateDataProvider(dataType); {
if (db.ConnDb(ConnStr) == 1) IDbInterface db = CreateDataProvider(dataType);
{ if (db.ConnDb(ConnStr) == 1)
#region {
RyQuickSQL mySQL = new RyQuickSQL("Softs"); #region
mySQL.AddField("Name", ""); RyQuickSQL mySQL = new RyQuickSQL("Softs");
mySQL.AddField("CmdId", ""); mySQL.AddField("Name", "");
mySQL.AddField("SoftType", 0);//0表示运行文件,1表示执行快速命令,2表示执行脚本 mySQL.AddField("CmdId", "");
mySQL.AddField("Path", ""); mySQL.AddField("SoftType", 0);//0表示运行文件,1表示执行快速命令,2表示执行脚本
mySQL.AddField("RunPram", ""); mySQL.AddField("Path", "");
mySQL.AddField("StartPath", "");//起始路径 mySQL.AddField("RunPram", "");
mySQL.AddField("IconPath","");//图标路径 mySQL.AddField("StartPath", "");//起始路径
mySQL.AddField("ClickCount",0);//点击量 mySQL.AddField("IconPath","");//图标路径
mySQL.AddField("SetJson", "");//设置 mySQL.AddField("ClickCount",0);//点击量
mySQL.AddField("Des", "");//备注 mySQL.AddField("SetJson", "");//设置
mySQL.AddField("PinYin", "");//拼音 mySQL.AddField("Des", "");//备注
mySQL.AddField("ColumnId", 0);//栏目ID mySQL.AddField("Hotkey", "");//快捷键
mySQL.AddField("sortindex", 0); mySQL.AddField("PinYin", "");//拼音
mySQL.AddField("editTime", DateTime.Now); mySQL.AddField("ColumnId", 0);//栏目ID
mySQL.AddField("addTime", DateTime.Now); mySQL.AddField("sortindex", 0);
db.CreateDb(mySQL); mySQL.AddField("editTime", DateTime.Now);
#endregion mySQL.AddField("addTime", DateTime.Now);
#region db.CreateDb(mySQL);
mySQL.Clear(); #endregion
mySQL.TableName = "Columns"; #region
mySQL.AddField("Name", ""); mySQL.Clear();
mySQL.AddField("sortindex", 0); mySQL.TableName = "Columns";
mySQL.AddField("depth", 0);//深度,0表示栏目,1表示分类 mySQL.AddField("Name", "");
mySQL.AddField("parentId", 0); mySQL.AddField("sortindex", 0);
mySQL.AddField("Des", "");//备注 mySQL.AddField("depth", 0);//深度,0表示栏目,1表示分类
mySQL.AddField("editTime", DateTime.Now); mySQL.AddField("parentId", 0);
mySQL.AddField("addTime", DateTime.Now); mySQL.AddField("Hotkey", "");//快捷键
db.CreateDb(mySQL); mySQL.AddField("Des", "");//备注
#endregion mySQL.AddField("editTime", DateTime.Now);
// mySQL.AddField("addTime", DateTime.Now);
#region db.CreateDb(mySQL);
mySQL.Clear(); #endregion
mySQL.TableName = "Setting"; //
mySQL.AddField("sName", ""); #region
mySQL.AddField("sValue", ""); mySQL.Clear();
db.CreateDb(mySQL); mySQL.TableName = "Setting";
#endregion mySQL.AddField("sName", "");
} mySQL.AddField("sValue", "");
db.Free(); db.CreateDb(mySQL);
} #endregion
public static void CreateSysTable(DataProvider.DataProviderType dataType, string ConnStr) }
{ db.Free();
DataProvider mydb = new DataProvider(); }
IDbInterface db = CreateDataProvider(dataType); public static void CreateSysTable(DataProvider.DataProviderType dataType, string ConnStr)
if (db.ConnDb(ConnStr) == 1) {
{ IDbInterface db = CreateDataProvider(dataType);
// if (db.ConnDb(ConnStr) == 1)
#region {
RyQuickSQL mySQL = new RyQuickSQL("Setting"); //
mySQL.AddField("sName", ""); #region
mySQL.AddField("sValue", ""); RyQuickSQL mySQL = new RyQuickSQL("Setting");
db.CreateDb(mySQL); mySQL.AddField("sName", "");
#endregion mySQL.AddField("sValue", "");
} db.CreateDb(mySQL);
db.Free(); #endregion
} }
public static void CreateTable_Logs(DataProvider.DataProviderType dataType) db.Free();
{ }
DataProvider mydb = new DataProvider(); public static void CreateTable_Logs(DataProvider.DataProviderType dataType)
IDbInterface db = CreateDataProvider(dataType); {
if (db.ConnDb(SQLConnStr_Logs) == 1) DataProvider mydb = new DataProvider();
{ IDbInterface db = CreateDataProvider(dataType);
#region if (db.ConnDb(SQLConnStr_Logs) == 1)
RyQuickSQL mySQL = new RyQuickSQL("Logs"); {
mySQL.AddField("LogId", ""); #region
mySQL.AddField("LogStr", ""); RyQuickSQL mySQL = new RyQuickSQL("Logs");
mySQL.AddField("TaskId", 1); mySQL.AddField("LogId", "");
mySQL.AddField("TaskGUID", ""); mySQL.AddField("LogStr", "");
mySQL.AddField("LogResult", ""); mySQL.AddField("TaskId", 1);
mySQL.AddField("CreateId", 1); mySQL.AddField("TaskGUID", "");
mySQL.AddField("addTime", DateTime.Now); mySQL.AddField("LogResult", "");
db.CreateDb(mySQL); mySQL.AddField("CreateId", 1);
#endregion mySQL.AddField("addTime", DateTime.Now);
// db.CreateDb(mySQL);
#region #endregion
mySQL.Clear(); //
mySQL.TableName = "Setting"; #region
mySQL.AddField("sName", ""); mySQL.Clear();
mySQL.AddField("sValue", ""); mySQL.TableName = "Setting";
db.CreateDb(mySQL); mySQL.AddField("sName", "");
#endregion mySQL.AddField("sValue", "");
} db.CreateDb(mySQL);
db.Free(); #endregion
} }
/// <summary> db.Free();
/// 创建数据库 }
/// </summary> /// <summary>
public static void CreateTable() /// 创建数据库
{ /// </summary>
CreateTable(dataType, SQLConnStr_SysDb); public static void CreateTable()
CreateTable(dataType, SQLConnStr); {
CreateTable_Logs(dataType); CreateTable(dataType, SQLConnStr_SysDb);
//CreateSysTable(dataType, SQLConnStr_SysDb); CreateTable(dataType, SQLConnStr);
} CreateTable_Logs(dataType);
} //CreateSysTable(dataType, SQLConnStr_SysDb);
} }
}
}

View File

@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics;
using System.Linq; using System.Linq;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Text; using System.Text;
@ -16,6 +17,7 @@ namespace VSoft.Prams
private const int WM_LBUTTONDOWN = 0x201; private const int WM_LBUTTONDOWN = 0x201;
private const int WM_RBUTTONDOWN = 0x204; private const int WM_RBUTTONDOWN = 0x204;
private const int WM_MBUTTONDOWN = 0x207; private const int WM_MBUTTONDOWN = 0x207;
private const int WM_XBUTTONDOWN = 0x20B;
private const int WM_LBUTTONUP = 0x202; private const int WM_LBUTTONUP = 0x202;
private const int WM_RBUTTONUP = 0x205; private const int WM_RBUTTONUP = 0x205;
private const int WM_MBUTTONUP = 0x208; private const int WM_MBUTTONUP = 0x208;
@ -38,13 +40,43 @@ namespace VSoft.Prams
/// <summary> /// <summary>
/// 钩子结构体 /// 钩子结构体
/// </summary> /// </summary>
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Explicit)]
public class MouseHookStruct public class MouseHookStruct
{ {
public POINT pt; /// <summary>
public int hWnd; /// Specifies a Point structure that contains the X- and Y-coordinates of the cursor, in screen coordinates.
public int wHitTestCode; /// </summary>
public int dwExtraInfo; [FieldOffset(0x00)] public System.Drawing.Point Point;
/// <summary>
/// Specifies information associated with the message.
/// </summary>
/// <remarks>
/// The possible values are:
/// <list type="bullet">
/// <item>
/// <description>0 - No Information</description>
/// </item>
/// <item>
/// <description>1 - X-Button1 Click</description>
/// </item>
/// <item>
/// <description>2 - X-Button2 Click</description>
/// </item>
/// <item>
/// <description>120 - Mouse Scroll Away from User</description>
/// </item>
/// <item>
/// <description>-120 - Mouse Scroll Toward User</description>
/// </item>
/// </list>
/// </remarks>
[FieldOffset(0x0A)] public short MouseData;
/// <summary>
/// Returns a Timestamp associated with the input, in System Ticks.
/// </summary>
[FieldOffset(0x10)] public int Timestamp;
} }
public const int WH_MOUSE_LL = 14; // mouse hook constant public const int WH_MOUSE_LL = 14; // mouse hook constant
@ -88,7 +120,6 @@ namespace VSoft.Prams
{ {
Stop(); Stop();
} }
/// <summary> /// <summary>
/// 启动全局钩子 /// 启动全局钩子
/// </summary> /// </summary>
@ -100,7 +131,7 @@ namespace VSoft.Prams
// 生成一个HookProc的实例. // 生成一个HookProc的实例.
_mouseHookProcedure = new HookProc(MouseHookProc); _mouseHookProcedure = new HookProc(MouseHookProc);
_hMouseHook = SetWindowsHookEx(WH_MOUSE_LL, _mouseHookProcedure, IntPtr.Zero, 0); _hMouseHook = SetWindowsHookEx(WH_MOUSE_LL, _mouseHookProcedure, Process.GetCurrentProcess().MainModule.BaseAddress, 0);
//假设装置失败停止钩子 //假设装置失败停止钩子
if (_hMouseHook == 0) if (_hMouseHook == 0)
@ -139,7 +170,8 @@ namespace VSoft.Prams
{ {
MouseButtons button = MouseButtons.None; MouseButtons button = MouseButtons.None;
int clickCount = 0; int clickCount = 0;
// 从回调函数中得到鼠标的信息
MouseHookStruct MyMouseHookStruct = (MouseHookStruct)Marshal.PtrToStructure(lParam, typeof(MouseHookStruct));
switch (wParam) switch (wParam)
{ {
case WM_LBUTTONDOWN: case WM_LBUTTONDOWN:
@ -174,29 +206,23 @@ namespace VSoft.Prams
// button = MouseButtons.Middle; // button = MouseButtons.Middle;
// clickCount = 1; // clickCount = 1;
// break; // break;
case WM_XBUTTON1: case WM_XBUTTONDOWN:
button = MouseButtons.XButton1; button = MyMouseHookStruct.MouseData == 1
clickCount = 1; ? MouseButtons.XButton1
break; : MouseButtons.XButton2;
case WM_XBUTTON2:
button = MouseButtons.XButton2;
clickCount = 1; clickCount = 1;
break; break;
default: default:
break; break;
} }
MouseEventArgs e = new MouseEventArgs(button, clickCount, MyMouseHookStruct.Point.X, MyMouseHookStruct.Point.Y, 0);
// 从回调函数中得到鼠标的信息
MouseHookStruct MyMouseHookStruct = (MouseHookStruct)Marshal.PtrToStructure(lParam, typeof(MouseHookStruct));
MouseEventArgs e = new MouseEventArgs(button, clickCount, MyMouseHookStruct.pt.x, MyMouseHookStruct.pt.y, 0);
// 假设想要限制鼠标在屏幕中的移动区域能够在此处设置 // 假设想要限制鼠标在屏幕中的移动区域能够在此处设置
// 后期须要考虑实际的x、y的容差 // 后期须要考虑实际的x、y的容差
if (!Screen.PrimaryScreen.Bounds.Contains(e.X, e.Y)) //if (!Screen.PrimaryScreen.Bounds.Contains(e.X, e.Y))
{ //{
//return 1; // //return 1;
} //}
OnMouseActivity(this, e); OnMouseActivity(this, e);
} }

View File

@ -32,7 +32,6 @@ namespace VSoft.Prams
if (info.SoftType == 1) if (info.SoftType == 1)
{ {
#region #region
DataProvider mydb = new DataProvider();
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType); IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(info.Path) == 1) if (db.ConnDb(info.Path) == 1)
{ {
@ -51,7 +50,7 @@ namespace VSoft.Prams
if (where.Length > 0) if (where.Length > 0)
{ {
DataSet ds = db.ReadData("select * from Softs where " + where, mySQL); DataSet ds = db.ReadData("select * from Softs where " + where, mySQL);
if (mydb.HaveData(ds)) if (ds.HaveData())
{ {
DataRow row = ds.Tables[0].Rows[0]; DataRow row = ds.Tables[0].Rows[0];
path = RyFiles.GetRealPath(row["Path"].ToString()); path = RyFiles.GetRealPath(row["Path"].ToString());
@ -59,6 +58,13 @@ namespace VSoft.Prams
SetJson = row["SetJson"].ToString(); SetJson = row["SetJson"].ToString();
StartPath = row["StartPath"].ToString(); StartPath = row["StartPath"].ToString();
} }
else
{
ds.Dispose();
db.Free();
return -1;
}
ds.Dispose();
} }
db.Free(); db.Free();
} }
@ -80,14 +86,19 @@ namespace VSoft.Prams
switch(path.Substring(1).ToLower()) switch(path.Substring(1).ToLower())
{ {
case "emptyrecyclebin"://清空回收站 case "emptyrecyclebin"://清空回收站
switch (Msg.ShowMsg("是否确认要清空回收站?\r\n\r\n该操作不可逆", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2)) switch (Msg.ShowMsg("是否确认要清空回收站?\r\n\r\n该操作不可逆", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2))
{ {
case DialogResult.Yes: case DialogResult.Yes:
SHEmptyRecycleBin(IntPtr.Zero, "", SHERB_NOCONFIRMATION + SHERB_NOPROGRESSUI + SHERB_NOSOUND); SHEmptyRecycleBin(IntPtr.Zero, "", SHERB_NOCONFIRMATION + SHERB_NOPROGRESSUI + SHERB_NOSOUND);
return 1; return 37;
} }
break; break;
case "trans"://翻译
Config.Soft_Config.MainForm.Invoke(new Action(() =>
{
RyForm.ShowOne(new Tools.FrmTrans());
}));
return 37;
} }
return 0; return 0;
} }

View File

@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 //可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示: //通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.2103.0801")] [assembly: AssemblyVersion("1.0.2310.2401")]
[assembly: AssemblyFileVersion("1.0.2103.0801")] [assembly: AssemblyFileVersion("1.0.2310.2401")]

View File

@ -19,7 +19,7 @@ namespace VSoft.Properties {
// 类通过类似于 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", "17.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 {
@ -47,8 +47,8 @@ namespace VSoft.Properties {
} }
/// <summary> /// <summary>
/// 重写当前线程的 CurrentUICulture 属性 /// 重写当前线程的 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 {

View File

@ -29,66 +29,65 @@ namespace VSoft.Skins
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmMessageBox)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmMessageBox));
this.lblMsg = new ryControls.LabelTx(); this.lblMsg = new ryControls.LabelTx();
this.btnCancel = new ryControls.ButtonEx(); this.btnCancel = new ryControls.ButtonEx();
this.btnYes = new ryControls.ButtonEx(); this.btnYes = new ryControls.ButtonEx();
this.SuspendLayout(); this.SuspendLayout();
// //
// lblMsg // lblMsg
// //
this.lblMsg.BackColor = System.Drawing.Color.Transparent; this.lblMsg.BackColor = System.Drawing.Color.Transparent;
this.lblMsg.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.lblMsg.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblMsg.LineDistance = 5; this.lblMsg.LineDistance = 5;
this.lblMsg.Location = new System.Drawing.Point(11, 39); this.lblMsg.Location = new System.Drawing.Point(11, 39);
this.lblMsg.Name = "lblMsg"; this.lblMsg.Name = "lblMsg";
this.lblMsg.Size = new System.Drawing.Size(339, 21); this.lblMsg.Size = new System.Drawing.Size(339, 21);
this.lblMsg.TabIndex = 85; this.lblMsg.TabIndex = 85;
this.lblMsg.Text = "提示"; this.lblMsg.Text = "提示";
this.lblMsg.TextChanged += new System.EventHandler(this.LblMsg_TextChanged); this.lblMsg.TextChanged += new System.EventHandler(this.LblMsg_TextChanged);
// //
// btnCancel // btnCancel
// //
this.btnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.btnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnCancel.BaseColor = System.Drawing.Color.Teal; this.btnCancel.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(150)))), ((int)(((byte)(20)))));
this.btnCancel.ColorGradient = true; this.btnCancel.ColorGradient = true;
this.btnCancel.Location = new System.Drawing.Point(285, 141); this.btnCancel.Location = new System.Drawing.Point(317, 206);
this.btnCancel.Name = "btnCancel"; this.btnCancel.Name = "btnCancel";
this.btnCancel.Size = new System.Drawing.Size(65, 27); this.btnCancel.Size = new System.Drawing.Size(65, 27);
this.btnCancel.TabIndex = 84; this.btnCancel.TabIndex = 84;
this.btnCancel.Text = "取消"; this.btnCancel.Text = "取消";
this.btnCancel.UseVisualStyleBackColor = true; this.btnCancel.UseVisualStyleBackColor = true;
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click); this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
// //
// btnYes // btnYes
// //
this.btnYes.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.btnYes.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnYes.BaseColor = System.Drawing.Color.Teal; this.btnYes.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(150)))), ((int)(((byte)(20)))));
this.btnYes.ColorGradient = true; this.btnYes.ColorGradient = true;
this.btnYes.Location = new System.Drawing.Point(214, 141); this.btnYes.Location = new System.Drawing.Point(246, 206);
this.btnYes.Name = "btnYes"; this.btnYes.Name = "btnYes";
this.btnYes.Size = new System.Drawing.Size(65, 27); this.btnYes.Size = new System.Drawing.Size(65, 27);
this.btnYes.TabIndex = 83; this.btnYes.TabIndex = 83;
this.btnYes.Text = "确定"; this.btnYes.Text = "确定";
this.btnYes.UseVisualStyleBackColor = true; this.btnYes.UseVisualStyleBackColor = true;
this.btnYes.Click += new System.EventHandler(this.btnYes_Click); this.btnYes.Click += new System.EventHandler(this.btnYes_Click);
// //
// FrmMessageBox // FrmMessageBox
// //
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(355, 172); this.ClientSize = new System.Drawing.Size(387, 237);
this.Controls.Add(this.lblMsg); this.Controls.Add(this.lblMsg);
this.Controls.Add(this.btnCancel); this.Controls.Add(this.btnCancel);
this.Controls.Add(this.btnYes); this.Controls.Add(this.btnYes);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MaximizeBox = false;
this.MaximizeBox = false; this.MinimizeBox = false;
this.MinimizeBox = false; this.Name = "FrmMessageBox";
this.Name = "FrmMessageBox"; this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
this.StartPosition = System.Windows.Forms.FormStartPosition.Manual; this.ResumeLayout(false);
this.ResumeLayout(false);
} }
#endregion #endregion

File diff suppressed because it is too large Load Diff

View File

@ -29,18 +29,21 @@ namespace VSoft.Skins
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
this.SuspendLayout(); this.SuspendLayout();
// //
// SKinForm // SKinForm
// //
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(594, 521); this.ClientSize = new System.Drawing.Size(663, 496);
this.Name = "SKinForm"; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Text = "SKinForm"; this.Location = new System.Drawing.Point(0, 0);
this.Load += new System.EventHandler(this.SKinForm_Load); this.Name = "SKinForm";
this.ResumeLayout(false); this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "SKinForm";
this.Load += new System.EventHandler(this.SKinForm_Load);
this.ResumeLayout(false);
} }
#endregion #endregion

View File

@ -20,6 +20,31 @@ namespace VSoft.Skins
{ {
InitializeComponent(); InitializeComponent();
} }
/// <summary>
/// 显示在父窗体中间,如果没有父窗体,则显示在显示器中间
/// </summary>
/// <param name="parent"></param>
public void ShowInCenter(Form parent)
{
this.StartPosition = FormStartPosition.Manual;
var screen = Screen.FromControl(this);
if (parent == null) //如果没有父窗体,则显示在显示器中间
{
Location = new Point((screen.WorkingArea.Width - Width) / 2, (screen.WorkingArea.Height - Height) / 2);
return;
}
var x = parent.Left + (parent.Width - Width) / 2;
var y = parent.Top + (parent.Height - Height) / 2;
if ((x + Width) > screen.WorkingArea.X + screen.WorkingArea.Width)
{
x = screen.WorkingArea.X + screen.WorkingArea.Width - Width;
}
if ((y + Height) > screen.WorkingArea.Y + screen.WorkingArea.Height)
{
y = screen.WorkingArea.Y + screen.WorkingArea.Height - Height;
}
Location = new Point(x, y);
}
private void SKinForm_Load(object sender, EventArgs e) private void SKinForm_Load(object sender, EventArgs e)
{ {
if (!this.DesignMode) if (!this.DesignMode)

View File

@ -1,120 +1,120 @@
<?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>
</root> </root>

View File

@ -36,7 +36,7 @@ namespace VSoft.Skins
SideResizeWidth = 4; SideResizeWidth = 4;
UseDefaultTopRoundingFormRegion = false; UseDefaultTopRoundingFormRegion = false;
ShadowWidth = 1;
RoundedStyle = RoundStyle.None; RoundedStyle = RoundStyle.None;
FormBorderOutterColor = Color.Gray; FormBorderOutterColor = Color.Gray;
FormBorderInnerColor = Color.White; FormBorderInnerColor = Color.White;

View File

@ -0,0 +1,182 @@
namespace VSoft.Tools
{
partial class FrmTrans
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmTrans));
this.label1 = new System.Windows.Forms.Label();
this.RichText = new ryControls.Controls.RichTextBox2();
this.label2 = new System.Windows.Forms.Label();
this.RichResult = new ryControls.Controls.RichTextBox2();
this.CbbLngFrom = new ryControls.RyComboBox();
this.label3 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.CbbLngTo = new ryControls.RyComboBox();
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(10, 69);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(65, 12);
this.label1.TabIndex = 0;
this.label1.Text = "待翻译文本";
//
// RichText
//
this.RichText.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.RichText.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.RichText.DetectUrls = false;
this.RichText.EmptyText = "";
this.RichText.Font = new System.Drawing.Font("Courier New", 10F);
this.RichText.Location = new System.Drawing.Point(12, 84);
this.RichText.Name = "RichText";
this.RichText.OnlyInputText = false;
this.RichText.Size = new System.Drawing.Size(686, 181);
this.RichText.TabIndex = 1;
this.RichText.Text = "";
this.RichText.WordWrap = false;
this.RichText.TextChanged += new System.EventHandler(this.RichText_TextChanged);
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(10, 269);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(65, 12);
this.label2.TabIndex = 2;
this.label2.Text = "待翻译文本";
//
// RichResult
//
this.RichResult.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.RichResult.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.RichResult.DetectUrls = false;
this.RichResult.EmptyText = "";
this.RichResult.Font = new System.Drawing.Font("Courier New", 10F);
this.RichResult.Location = new System.Drawing.Point(12, 285);
this.RichResult.Name = "RichResult";
this.RichResult.OnlyInputText = false;
this.RichResult.Size = new System.Drawing.Size(686, 260);
this.RichResult.TabIndex = 3;
this.RichResult.Text = "";
this.RichResult.WordWrap = false;
//
// CbbLngFrom
//
this.CbbLngFrom.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
this.CbbLngFrom.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.CbbLngFrom.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.CbbLngFrom.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.CbbLngFrom.FormattingEnabled = true;
this.CbbLngFrom.Items.AddRange(new object[] {
"自动",
"英文",
"中文",
"韩语",
"日语"});
this.CbbLngFrom.Location = new System.Drawing.Point(33, 36);
this.CbbLngFrom.Name = "CbbLngFrom";
this.CbbLngFrom.Size = new System.Drawing.Size(93, 24);
this.CbbLngFrom.TabIndex = 4;
this.CbbLngFrom.SelectedIndexChanged += new System.EventHandler(this.CbbFrom_SelectedIndexChanged);
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(10, 41);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(17, 12);
this.label3.TabIndex = 5;
this.label3.Text = "从";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(132, 41);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(41, 12);
this.label4.TabIndex = 6;
this.label4.Text = "翻译成";
//
// CbbLngTo
//
this.CbbLngTo.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
this.CbbLngTo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.CbbLngTo.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.CbbLngTo.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.CbbLngTo.FormattingEnabled = true;
this.CbbLngTo.Items.AddRange(new object[] {
"英文",
"中文",
"韩语",
"日语"});
this.CbbLngTo.Location = new System.Drawing.Point(179, 36);
this.CbbLngTo.Name = "CbbLngTo";
this.CbbLngTo.Size = new System.Drawing.Size(93, 24);
this.CbbLngTo.TabIndex = 7;
this.CbbLngTo.SelectedIndexChanged += new System.EventHandler(this.CbbTo_SelectedIndexChanged);
//
// FrmTrans
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(714, 559);
this.Controls.Add(this.CbbLngTo);
this.Controls.Add(this.label4);
this.Controls.Add(this.label3);
this.Controls.Add(this.CbbLngFrom);
this.Controls.Add(this.RichResult);
this.Controls.Add(this.label2);
this.Controls.Add(this.RichText);
this.Controls.Add(this.label1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "FrmTrans";
this.Text = "快速翻译";
this.Load += new System.EventHandler(this.FrmTrans_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label1;
private ryControls.Controls.RichTextBox2 RichText;
private System.Windows.Forms.Label label2;
private ryControls.Controls.RichTextBox2 RichResult;
private ryControls.RyComboBox CbbLngFrom;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label4;
private ryControls.RyComboBox CbbLngTo;
}
}

View File

@ -0,0 +1,138 @@
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Security.Cryptography;
using System.Text;
using System.Threading;
using System.Windows.Forms;
namespace VSoft.Tools
{
public partial class FrmTrans : Skins.SKinForm
{
public FrmTrans()
{
InitializeComponent();
CbbLngFrom.SelectedIndex = 0;
CbbLngTo.SelectedIndex = 0;
}
private string Tran(string from_txt,string lng_from,string lng_to)
{
try
{
if (from_txt.Length == 0) { return ""; }
// 原文
string q = from_txt;
// 源语言
string from = lng_from;
// 目标语言
string to = lng_to;
// 改成您的APP ID
string appId = "20220508001207657";
Random rd = new Random();
string salt = rd.Next(100000).ToString();
// 改成您的密钥
string secretKey = "l6ngE7GjtdvRESJqQzDL";
RyWeb.QuickWeb web = new RyWeb.QuickWeb();
string sign = EncryptString(appId + q + salt + secretKey);
string post_data = "q=" + web.UrlEncode(q);
post_data += "&from=" + from;
post_data += "&to=" + to;
post_data += "&appid=" + appId;
post_data += "&salt=" + salt;
post_data += "&sign=" + sign;
var http= web.Post("http://api.fanyi.baidu.com/api/trans/vip/translate", post_data);
JObject jo = JObject.Parse(http.Html);
var trans_result = jo["trans_result"];
if (trans_result != null)
{
var jarr = (JArray)trans_result;
var text = "";
for (int i = 0; i < jarr.Count; i++)
{
if (text.Length > 0) { text += "\r\n"; }
if (jarr[i] != null)
{
var dst = jarr[i]["dst"];
if (dst != null) { text+= dst.ToString(); }
}
}
last_text = from_txt;
return text;
}
return "";
}
catch(Exception ex) { return "错误=>"+ex.Message; }
}
string last_text = "";
// 计算MD5值
public static string EncryptString(string str)
{
MD5 md5 = MD5.Create();
// 将字符串转换成字节数组
byte[] byteOld = Encoding.UTF8.GetBytes(str);
// 调用加密方法
byte[] byteNew = md5.ComputeHash(byteOld);
// 将加密结果转换为字符串
StringBuilder sb = new StringBuilder();
foreach (byte b in byteNew)
{
// 将字节转换成16进制表示的字符串
sb.Append(b.ToString("x2"));
}
// 返回加密的字符串
return sb.ToString();
}
private void Trans()
{
var lng_from = lng_convert(CbbLngFrom.Text);
var lng_to = lng_convert(CbbLngTo.Text);
string lng_convert(string lng_text)
{
if (lng_text == "自动") { return "auto"; }
else if (lng_text == "中文") { return "zh"; }
else if (lng_text == "英文") { return "en"; }
else if (lng_text == "日语") { return "jp"; }
else if (lng_text == "韩语") { return "kor"; }
else { return ""; }
}
var from_text = RichText.Text;
Thread th = new Thread(Start);
th.Start();
void Start()
{
var to_text= Tran(from_text, lng_from, lng_to);
this.Invoke(new Action(() =>
{
RichResult.Text = to_text;
}));
}
}
private void CbbFrom_SelectedIndexChanged(object sender, EventArgs e)
{
Trans();
}
private void CbbTo_SelectedIndexChanged(object sender, EventArgs e)
{
Trans();
}
private void RichText_TextChanged(object sender, EventArgs e)
{
Trans();
}
private void FrmTrans_Load(object sender, EventArgs e)
{
var screen = Screen.FromPoint(MousePosition).WorkingArea;
this.Location = new Point(screen.Left+ ((screen.Width-this.Width)/2),screen.Top+ ((screen.Height - this.Height) / 2));
}
}
}

View File

@ -0,0 +1,287 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAgCUAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAP7+/gz///9x////zv7+/vT///////////7+/v7////////////////+/v7+//////7+
/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+
/v7////////////////+/v7+///////////+/v7+///////////+/v7+///////////+/v70////zv//
/3H+/v4MAAAAAAAAAAAAAAAA////Gf7+/r7////+//////7+/v7///////////7+/v7/////////////
///+/v7+//////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+
/v7///////////7+/v7////////////////+/v7+///////////+/v7+///////////+/v7+////////
///+/v7+//////////7+/v6+////GQAAAAD+/v4M/v7+wv7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+
/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+
/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+
/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+wv7+/gz///9w/////v7+/v7////v////gP7+
/h8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v4f////gP///+/+/v7+/////v7+/nD////L//////7+
/v7///91AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///3X+/v7+//////7+
/sv+/v70/v7+/v7+/v7+/v4iAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+
/iL+/v7+/v7+/v7+/vT///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAD+/v7+//////7+/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+//////7+/v7+/v7+/v7+/v7+/v4AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+/v7+/v7+/v7///////////7+
/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+//////7+
/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///9n////f/7+
/n////87AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAD+/v7+//////7+/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAP7+/jf///9o////AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAD////P//////7+/v7///93AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAD+/v7+//////7+/v7+/v7+/v7+/v7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA/v7+C/7+/sz+/v79/v7+lf7+/gkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAD+/v7O/v7+/v7+/v7+/v53AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+/v7+/v7+/v7///////////7+/v4AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////bP7+/v7//////////f7+/q3///8PAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////P//////7+/v7///93AAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+//////7+/v7+/v7+/v7+/v7+
/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+Ov7+/vD+/v7+/v7+/v7+
/v7+/v67/v7+FwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7O/v7+/v7+/v7+/v53AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+/v7+/v7+
/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+
/rL///////////7+/v7/////////0v7+/iP///8K////Uf7+/lf///9X////V/7+/lf////b//////7+
/v7///+f////V////1f+/v5X////V////zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAD+/v7+//////7+/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAP7+/qf///////////7+/vb////9//////7+/sL///8Q////5/7+/v7///////////7+
/v7///////////7+/v7////////////////+/v7+/////////4cAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAD+/v7+//////7+/v7+/v7+/v7+/v7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/qf+/v7+/v7+/v7+/pT+/v5a/v7+yv7+/s7+/v4Q/v7+5/7+
/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/ocAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+/v7+/v7+/v7///////////7+/v4AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/qf///////////7+/ocAAAAA////CP7+
/m////8Q////vf7+/s/////P////z/7+/s/////z//////7+/v7////h////z////8/+/v7P////z///
/28AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+//////7+/v7///////////7+
/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/qf///////////7+
/ocAAAAAAAAAAP7+/gP///8B////B/7+/gf///8H////B/7+/gf////P//////7+/v7///95////B///
/wf+/v4H////B////wQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+//////7+
/v7+/v7+/v7+/v7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+
/qf+/v7+/v7+/v7+/ocAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v4v/v7+L/7+/i/+/v7O/v7+/v7+
/v7+/v6M/v7+L/7+/i/+/v4jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAD+/v7+/v7+/v7+/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAP7+/qf///////////7+/ocAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////7+
/v7///////////7+/v7////////////////+/v6nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAD+/v7+//////7+/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/qf///////////7+/ocAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAD///////////7+/v7///////////7+/v7////////////////+/v6nAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+//////7+/v7+/v7+/v7+/v7+/v4AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/qf+/v7+/v7+/v7+/ocAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAD+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v6nAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+/v7+/v7+/v7///////////7+
/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/qf///////////7+
/ocAAAAAAAAAAAAAAAD///8s////Iv7+/gEAAAAAAAAAAAAAAAD////P//////7+/v7///93AAAAAAAA
AAAAAAAA////Cf///yn+/v4+////BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+//////7+
/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////C////xf+/v4X////F/7+
/q3///////////7+/ocAAAAAAAAAAP7+/gP////d////8P7+/sv///+F////P/7+/gr///+9////5/7+
/uf///9u////C////0H+/v6Z////3f////T+/v7t////FwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAD+/v7+//////7+/v7+/v7+/v7+/v7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+d/7+
/u7+/v7u/v7+7v7+/vT+/v7+/v7+/v7+/ocAAAAAAAAAAP7+/kr+/v7+/v7+/v7+/v7+/v7+/v7+/P7+
/tD+/v6G/v7+KP7+/hr+/v58/v7+0f7+/vz+/v7+/v7+/v7+/v7+/v7+/v7+OwAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAD+/v7+/v7+/v7+/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA////f//////+/v7+//////7+/v7///////////7+/ocAAAAA////Av7+/pb////x/////v7+
/v7///////////7+/v7/////////+f7+/u/////////////////+/v7x////5////+D+/v7X////XQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+//////7+/v7///////////7+/v4AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA////e/////f+/v72////9/7+/vb////3////9/7+/oUAAAAA////Af7+
/g3///8a////Of7+/l7///+N////xf7+/vT///////////7+/v7/////////jf///yr+/v4Y////FP//
/xD+/v4M////BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+//////7+/v7+/v7+/v7+/v7+
/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+F/7+/i/+/v4v/v7+L/7+/i/+/v4v/v7+L/7+
/h0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+Fv7+/s/+/v7+/v7+/v7+/v7+/v7+/v7+5/7+
/kQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+/v7+/v7+
/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA////I/7+/iIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8a////y/7+/v7/////////q/7+
/oj////7//////////z+/v5h////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAD+/v7+//////7+/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAD///8d////0P7+/sL///8HAAAAAAAAAAAAAAAAAAAAAP7+/g3////L//////7+
/v7///+w////Df7+/gL///9e////9f/////+/v75////ZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAD+/v7+//////7+/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/hH////L//////7+/v7///+U////BAAAAAAAAAAAAAAAAP7+
/mn///////////7+/vj///8jAAAAAAAAAAAAAAAA////h//////+/v7+////7v///zYAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+//////7+/v7+/v7+/v7+/v7+/v4AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+G/7+/sn+/v7+/v7+/v7+/v7+/v75/v7+QwAA
AAD+/v6H/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+
/ocAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+/v7+/v7+/v7///////////7+
/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v4j////0f7+/v7///////////7+
/vf///9w////BgAAAAD///+H//////7+/v7///////////7+/v7///////////7+/v7/////////////
///+/v7+/////////4cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+//////7+
/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v41////8P7+
/v7/////////5f7+/lIAAAAAAAAAAAAAAAD///+H//////7+/v7///////////7+/v7///////////7+
/v7////////////////+/v7+/////////4cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAD+/v7+//////7+/v7+/v7+/v7+/v7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA/v7+af7+/vr+/v6n/v7+GgAAAAAAAAAAAAAAAAAAAAD+/v4d/v7+L/7+/i/+/v4v/v7+L/7+
/i/+/v4v/v7+L/7+/i/+/v4v/v7+L/7+/i/+/v4v/v7+L/7+/h0AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAD+/v7+/v7+/v7+/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA////Bf7+/kb///8FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+//////7+/v7///////////7+/v4AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+//////7+/v7+/v7+/v7+/v7+
/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v7+/v7+/v7+
/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAD+/v7+//////7+/v7///////////7+/v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAD+/v7+//////7+/v7+/v70/v7+/v7+/v7+/v4iAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/iL+/v7+/v7+/v7+/vT////L//////7+/v7///91AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///3X+/v7+//////7+/sv///9w/////v7+
/v7////v////gP7+/h8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/v4f////gP///+/+/v7+/////v7+
/nD+/v4M/v7+wv7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+
/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+
/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+
/v7+/v7+/v7+wv7+/gwAAAAA////Gf7+/r7////+//////7+/v7///////////7+/v7/////////////
///+/v7+//////7+/v7///////////7+/v7///////////7+/v7///////////7+/v7///////////7+
/v7///////////7+/v7////////////////+/v7+///////////+/v7+///////////+/v7+////////
///+/v7+//////////7+/v6+////GQAAAAAAAAAAAAAAAP7+/gz+/v5x/v7+zv7+/vT+/v7+/v7+/v7+
/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+
/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+
/v7+/v7+/v7+/v7+/v7+/v70/v7+zv7+/nH+/v4MAAAAAAAAAADAAAAAAAMAAIAAAAAAAQAAAAAAAAAA
AAAD/////8AAAA//////8AAAD//////wAAAf//////gAAB//////+AAAH//////4AAAf//////gAAB//
/+H/+AAAH/x/4f/4AAAf+D/h//gAAB/4H+H/+AAAH/gP4f/4AAAf/AAAD/gAAB/8AAAP+AAAH/wAAA/4
AAAf/CAAD/gAAB/8MAAP+AAAH/w/AD/4AAAf/D8AP/gAAB/8PwA/+AAAH/w/AD/4AAAf/Djhw/gAAB/A
MAAD+AAAH8AwAAP4AAAfwCAAA/gAAB/AIAAD+AAAH8A/gH/4AAAf/z8AH/gAAB/+HgAf+AAAH/wODg/4
AAAf+AgAD/gAAB/wCAAP+AAAH/A4AA/4AAAf+HgAD/gAAB/4////+AAAH//////4AAAf//////gAAB//
////+AAAH//////4AAAP//////AAAA//////8AAAA//////AAAAAAAAAAAAAAIAAAAAAAQAAwAAAAAAD
AAA=
</value>
</data>
</root>

View File

@ -9,19 +9,21 @@
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>VSoft</RootNamespace> <RootNamespace>VSoft</RootNamespace>
<AssemblyName>VSoft</AssemblyName> <AssemblyName>VSoft</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic> <Deterministic>true</Deterministic>
<TargetFrameworkProfile />
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType> <DebugType>full</DebugType>
<Optimize>false</Optimize> <Optimize>false</Optimize>
<OutputPath>..\..\Bin\Debug\VSoft\</OutputPath> <OutputPath>..\..\Bin\Debug\VSoft\</OutputPath>
<DefineConstants>TRACE;DEBUG</DefineConstants> <DefineConstants>TRACE;DEBUG;DY</DefineConstants>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<PlatformTarget>x86</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType> <DebugType>pdbonly</DebugType>
@ -30,28 +32,21 @@
<DefineConstants>TRACE</DefineConstants> <DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="MyDb, Version=2.1.2005.1901, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\Bin\Debug\VSoft\MyDb.dll</HintPath>
</Reference>
<Reference Include="MyDb_SQLite">
<HintPath>..\..\Bin\Debug\VSoft\MyDb_SQLite.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\Bin\Debug\VSoft\Newtonsoft.Json.dll</HintPath> <HintPath>..\..\Bin\Debug\VSoft\Newtonsoft.Json.dll</HintPath>
</Reference> </Reference>
<Reference Include="ryControls"> <Reference Include="RaUI, Version=4.0.2302.1401, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\Bin\Debug\VSoft\ryControls.dll</HintPath> <SpecificVersion>False</SpecificVersion>
</Reference> <HintPath>..\..\Bin\Debug\VSoft\RaUI.dll</HintPath>
<Reference Include="ryUpdate">
<HintPath>..\..\Bin\Debug\VSoft\ryUpdate.dll</HintPath>
</Reference> </Reference>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Core" /> <Reference Include="System.Core" />
<Reference Include="System.Drawing" /> <Reference Include="System.Drawing" />
<Reference Include="System.Web" />
<Reference Include="System.Windows.Forms" /> <Reference Include="System.Windows.Forms" />
<Reference Include="System.Xaml" /> <Reference Include="System.Xaml" />
<Reference Include="System.Xml.Linq" /> <Reference Include="System.Xml.Linq" />
@ -141,6 +136,12 @@
<DesignTime>True</DesignTime> <DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon> <DependentUpon>Resources.resx</DependentUpon>
</Compile> </Compile>
<Compile Include="Tools\Trans\FrmTrans.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Tools\Trans\FrmTrans.Designer.cs">
<DependentUpon>FrmTrans.cs</DependentUpon>
</Compile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<EmbeddedResource Include="Config\frmSetting.resx"> <EmbeddedResource Include="Config\frmSetting.resx">
@ -177,6 +178,9 @@
<Generator>ResXFileCodeGenerator</Generator> <Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput> <LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Tools\Trans\FrmTrans.resx">
<DependentUpon>FrmTrans.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<COMReference Include="IWshRuntimeLibrary"> <COMReference Include="IWshRuntimeLibrary">