Commit 640d9c28 authored by tr's avatar tr

1、系统检查功能配置窗口(初版)

parent bbfd052c
No preview for this file type
No preview for this file type
...@@ -18,4 +18,10 @@ ...@@ -18,4 +18,10 @@
<UserId>sa</UserId> <UserId>sa</UserId>
<Pwd>sa</Pwd> <Pwd>sa</Pwd>
</links> </links>
<links>
<Link>192.168.1.204</Link>
<DbName>FTT</DbName>
<UserId>sa</UserId>
<Pwd>sa</Pwd>
</links>
</DocumentElement> </DocumentElement>
\ No newline at end of file
...@@ -90,6 +90,9 @@ namespace Tools.MyUtils ...@@ -90,6 +90,9 @@ namespace Tools.MyUtils
} }
return s; return s;
} }
#region 数据库链接处理
/// <summary> /// <summary>
/// 生成数据库链接字符串 /// 生成数据库链接字符串
/// </summary> /// </summary>
...@@ -137,6 +140,75 @@ namespace Tools.MyUtils ...@@ -137,6 +140,75 @@ namespace Tools.MyUtils
return m; return m;
} }
#endregion
#region DataTable増行扩展
/// <summary>
/// 【自定义扩展】获取一个新行
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public static DataRow GetNewRow(this DataTable dt)
{
var result = dt.NewRow();
//非空列默认赋值为0
foreach (DataColumn c in dt.Columns)
{
if (c.AllowDBNull || c.AutoIncrement)
continue;
//非空列处理:主键列根据列类型生成;非主键列统一用0初始化
result[c.ColumnName] = dt.PrimaryKey.Contains(c) ? GetDefaultPrimaryKey(c) : "0";
result.EndEdit();
}
//当有筛选条件时,默认赋值筛选字段
if (dt.DefaultView.RowFilter != null)
{
string filter = dt.DefaultView.RowFilter;
//按and和or拆分子字符串,并移除空串项(这个处理规则相对简单;其他复杂规则后续遇到时添加)
string[] sArray = filter.Split(new string[] { "and", "or", "AND", "OR", "And", "Or" }, StringSplitOptions.RemoveEmptyEntries);
foreach (string s in sArray)
{
string[] pair = s.Split('=');
string col = pair[0].Trim();
string val = pair[1].Trim();
if (dt.Columns.Contains(col))
{
result[col] = val.Trim('\'');
result.EndEdit();
}
}
}
return result;
}
/// <summary>
/// 【私有】获取默认主键值(防止创建新行时,主键为空报错)
/// </summary>
/// <param name="c"></param>
/// <returns></returns>
private static string GetDefaultPrimaryKey(DataColumn c)
{
var result = "";
var typeName = c.DataType.Name.ToLower();
if (typeName.Equals("int32") || typeName.Equals("int64"))
{
var obj = c.Table.Compute($"Max({c.ColumnName})", "1=1");
int.TryParse(obj?.ToString(), out int max);
result = (max + 1).ToString();
}
else if (typeName.Equals("guid"))
{
result = Guid.NewGuid().ToString();
}
else
{
result = $"{c.ColumnName}_{c.Table.Rows.Count}";
}
return result;
}
#endregion
#region 生成Model #region 生成Model
......
...@@ -100,6 +100,16 @@ namespace Tools.Properties { ...@@ -100,6 +100,16 @@ namespace Tools.Properties {
} }
} }
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap 保存 {
get {
object obj = ResourceManager.GetObject("保存", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary> /// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。 /// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary> /// </summary>
......
...@@ -130,6 +130,9 @@ ...@@ -130,6 +130,9 @@
<data name="使用说明" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="使用说明" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\使用说明.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\使用说明.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
<data name="保存" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\保存.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="分析" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="分析" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\分析.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\分析.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
......
...@@ -107,6 +107,12 @@ ...@@ -107,6 +107,12 @@
</Compile> </Compile>
<Compile Include="Program.cs" /> <Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="UI\wSysChecker.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UI\wSysChecker.Designer.cs">
<DependentUpon>wSysChecker.cs</DependentUpon>
</Compile>
<Compile Include="wExtend.cs" /> <Compile Include="wExtend.cs" />
<Compile Include="wMain.cs"> <Compile Include="wMain.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
...@@ -142,6 +148,9 @@ ...@@ -142,6 +148,9 @@
<EmbeddedResource Include="UI\wDBTools.resx"> <EmbeddedResource Include="UI\wDBTools.resx">
<DependentUpon>wDBTools.cs</DependentUpon> <DependentUpon>wDBTools.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="UI\wSysChecker.resx">
<DependentUpon>wSysChecker.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="wMain.resx"> <EmbeddedResource Include="wMain.resx">
<DependentUpon>wMain.cs</DependentUpon> <DependentUpon>wMain.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
...@@ -214,5 +223,8 @@ ...@@ -214,5 +223,8 @@
<ItemGroup> <ItemGroup>
<None Include="Resources\设置.png" /> <None Include="Resources\设置.png" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<None Include="Resources\保存.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project> </Project>
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="Column1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="cms1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>127, 17</value>
</metadata>
<metadata name="Column5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column6.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column7.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column8.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column9.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column10.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column11.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column12.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column13.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column14.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="Column9.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column10.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column11.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column12.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column13.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column14.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>
\ No newline at end of file
...@@ -21,6 +21,7 @@ namespace Tools ...@@ -21,6 +21,7 @@ namespace Tools
case "PatchPack": result = new Ftt.PatchPack.FrmMain(); break; case "PatchPack": result = new Ftt.PatchPack.FrmMain(); break;
case "DbDevelopTool": result = new UI.wDBTools(); break; case "DbDevelopTool": result = new UI.wDBTools(); break;
case "DbAnlysis": result = new UI.wDbAnlysis(); break; case "DbAnlysis": result = new UI.wDbAnlysis(); break;
case "CheckConfig": result = new UI.wSysChecker(); break;
default: break; default: break;
} }
......
...@@ -34,13 +34,14 @@ ...@@ -34,13 +34,14 @@
this.btnDbDevelopTool = new System.Windows.Forms.Button(); this.btnDbDevelopTool = new System.Windows.Forms.Button();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.btnDbAnlysis = new System.Windows.Forms.Button(); this.btnDbAnlysis = new System.Windows.Forms.Button();
this.btnCheckConfig = new System.Windows.Forms.Button();
this.SuspendLayout(); this.SuspendLayout();
// //
// btnUpdateExecuter // btnUpdateExecuter
// //
this.btnUpdateExecuter.BackColor = System.Drawing.SystemColors.Control; this.btnUpdateExecuter.BackColor = System.Drawing.SystemColors.Control;
this.btnUpdateExecuter.FlatStyle = System.Windows.Forms.FlatStyle.Popup; this.btnUpdateExecuter.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
this.btnUpdateExecuter.Location = new System.Drawing.Point(58, 25); this.btnUpdateExecuter.Location = new System.Drawing.Point(58, 12);
this.btnUpdateExecuter.Name = "btnUpdateExecuter"; this.btnUpdateExecuter.Name = "btnUpdateExecuter";
this.btnUpdateExecuter.Size = new System.Drawing.Size(135, 25); this.btnUpdateExecuter.Size = new System.Drawing.Size(135, 25);
this.btnUpdateExecuter.TabIndex = 0; this.btnUpdateExecuter.TabIndex = 0;
...@@ -51,7 +52,7 @@ ...@@ -51,7 +52,7 @@
// //
this.btnPatchPack.BackColor = System.Drawing.SystemColors.Control; this.btnPatchPack.BackColor = System.Drawing.SystemColors.Control;
this.btnPatchPack.FlatStyle = System.Windows.Forms.FlatStyle.Popup; this.btnPatchPack.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
this.btnPatchPack.Location = new System.Drawing.Point(58, 64); this.btnPatchPack.Location = new System.Drawing.Point(58, 51);
this.btnPatchPack.Name = "btnPatchPack"; this.btnPatchPack.Name = "btnPatchPack";
this.btnPatchPack.Size = new System.Drawing.Size(135, 25); this.btnPatchPack.Size = new System.Drawing.Size(135, 25);
this.btnPatchPack.TabIndex = 1; this.btnPatchPack.TabIndex = 1;
...@@ -62,7 +63,7 @@ ...@@ -62,7 +63,7 @@
// //
this.btnDbDevelopTool.BackColor = System.Drawing.SystemColors.Control; this.btnDbDevelopTool.BackColor = System.Drawing.SystemColors.Control;
this.btnDbDevelopTool.FlatStyle = System.Windows.Forms.FlatStyle.Popup; this.btnDbDevelopTool.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
this.btnDbDevelopTool.Location = new System.Drawing.Point(58, 103); this.btnDbDevelopTool.Location = new System.Drawing.Point(58, 90);
this.btnDbDevelopTool.Name = "btnDbDevelopTool"; this.btnDbDevelopTool.Name = "btnDbDevelopTool";
this.btnDbDevelopTool.Size = new System.Drawing.Size(135, 25); this.btnDbDevelopTool.Size = new System.Drawing.Size(135, 25);
this.btnDbDevelopTool.TabIndex = 2; this.btnDbDevelopTool.TabIndex = 2;
...@@ -73,19 +74,31 @@ ...@@ -73,19 +74,31 @@
// //
this.btnDbAnlysis.BackColor = System.Drawing.SystemColors.Control; this.btnDbAnlysis.BackColor = System.Drawing.SystemColors.Control;
this.btnDbAnlysis.FlatStyle = System.Windows.Forms.FlatStyle.Popup; this.btnDbAnlysis.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
this.btnDbAnlysis.Location = new System.Drawing.Point(58, 142); this.btnDbAnlysis.Location = new System.Drawing.Point(58, 129);
this.btnDbAnlysis.Name = "btnDbAnlysis"; this.btnDbAnlysis.Name = "btnDbAnlysis";
this.btnDbAnlysis.Size = new System.Drawing.Size(135, 25); this.btnDbAnlysis.Size = new System.Drawing.Size(135, 25);
this.btnDbAnlysis.TabIndex = 3; this.btnDbAnlysis.TabIndex = 3;
this.btnDbAnlysis.Text = "简易SQL效率分析"; this.btnDbAnlysis.Text = "简易SQL效率分析";
this.btnDbAnlysis.UseVisualStyleBackColor = false; this.btnDbAnlysis.UseVisualStyleBackColor = false;
// //
// btnCheckConfig
//
this.btnCheckConfig.BackColor = System.Drawing.SystemColors.Control;
this.btnCheckConfig.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
this.btnCheckConfig.Location = new System.Drawing.Point(58, 168);
this.btnCheckConfig.Name = "btnCheckConfig";
this.btnCheckConfig.Size = new System.Drawing.Size(135, 25);
this.btnCheckConfig.TabIndex = 4;
this.btnCheckConfig.Text = "系统检查配置工具";
this.btnCheckConfig.UseVisualStyleBackColor = false;
//
// wMain // wMain
// //
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.SystemColors.Window; this.BackColor = System.Drawing.SystemColors.Window;
this.ClientSize = new System.Drawing.Size(257, 198); this.ClientSize = new System.Drawing.Size(251, 272);
this.Controls.Add(this.btnCheckConfig);
this.Controls.Add(this.btnDbAnlysis); this.Controls.Add(this.btnDbAnlysis);
this.Controls.Add(this.btnDbDevelopTool); this.Controls.Add(this.btnDbDevelopTool);
this.Controls.Add(this.btnPatchPack); this.Controls.Add(this.btnPatchPack);
...@@ -104,5 +117,6 @@ ...@@ -104,5 +117,6 @@
private System.Windows.Forms.Button btnDbDevelopTool; private System.Windows.Forms.Button btnDbDevelopTool;
private System.Windows.Forms.ToolTip toolTip1; private System.Windows.Forms.ToolTip toolTip1;
private System.Windows.Forms.Button btnDbAnlysis; private System.Windows.Forms.Button btnDbAnlysis;
private System.Windows.Forms.Button btnCheckConfig;
} }
} }
\ No newline at end of file
...@@ -29,6 +29,7 @@ namespace Tools ...@@ -29,6 +29,7 @@ namespace Tools
this.btnPatchPack.Click += Button_Click; this.btnPatchPack.Click += Button_Click;
this.btnDbDevelopTool.Click += Button_Click; this.btnDbDevelopTool.Click += Button_Click;
this.btnDbAnlysis.Click += Button_Click; this.btnDbAnlysis.Click += Button_Click;
this.btnCheckConfig.Click += Button_Click;
} }
private void Button_Click(object sender, EventArgs e) private void Button_Click(object sender, EventArgs e)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment