NewLife/XCoder

net45项目,保持使用菜单
大石头 authored at 2020-05-06 01:12:40
80d7da8
Tree
1 Parent(s) ca6f6b1
Summary: 13 changed files with 432 additions and 73 deletions.
Added +6 -0
Modified +8 -1
Deleted +0 -10
CrazyCoder/AssemblyInfo.cs
Modified +111 -35
Added +0 -0
Added +0 -0
Modified +2 -2
Added +55 -0
Added +71 -0
Added +117 -0
Added +30 -0
Added +7 -0
Modified +25 -25
Added +6 -0
diff --git a/CrazyCoder/App.config b/CrazyCoder/App.config
new file mode 100644
index 0000000..8e15646
--- /dev/null
+++ b/CrazyCoder/App.config
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+    <startup> 
+        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
+    </startup>
+</configuration>
\ No newline at end of file
Modified +8 -1
diff --git a/CrazyCoder/App.xaml b/CrazyCoder/App.xaml
index f9994a1..3e2485c 100644
--- a/CrazyCoder/App.xaml
+++ b/CrazyCoder/App.xaml
@@ -4,6 +4,13 @@
              xmlns:local="clr-namespace:CrazyCoder"
              StartupUri="MainWindow.xaml">
     <Application.Resources>
-         
+        <ResourceDictionary>
+            <ResourceDictionary.MergedDictionaries>
+                <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Light.xaml" />
+                <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Defaults.xaml" />
+                <ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Primary/MaterialDesignColor.DeepPurple.xaml" />
+                <ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Accent/MaterialDesignColor.Lime.xaml" />
+            </ResourceDictionary.MergedDictionaries>
+        </ResourceDictionary>
     </Application.Resources>
 </Application>
Deleted +0 -10
CrazyCoder/AssemblyInfo.cs
Modified +111 -35
diff --git a/CrazyCoder/CrazyCoder.csproj b/CrazyCoder/CrazyCoder.csproj
index 3067ecc..4305cd9 100644
--- a/CrazyCoder/CrazyCoder.csproj
+++ b/CrazyCoder/CrazyCoder.csproj
@@ -1,53 +1,129 @@
-<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
-
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
   <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{AC49462F-ED94-40F6-BF92-728937BFBAFE}</ProjectGuid>
     <OutputType>WinExe</OutputType>
-    <TargetFrameworks>net45;</TargetFrameworks>
-    <UseWPF>true</UseWPF>
-    <AssemblyTitle>新生命码神工具</AssemblyTitle>
-    <Description>众多开发者工具</Description>
-    <Company>新生命开发团队</Company>
-    <Copyright>©2002-2020 新生命开发团队</Copyright>
-    <Version>8.0.2020.0505</Version>
-    <FileVersion>8.0.2020.0505</FileVersion>
-    <AssemblyVersion>8.0.*</AssemblyVersion>
+    <RootNamespace>CrazyCoder</RootNamespace>
+    <AssemblyName>CrazyCoder</AssemblyName>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+    <WarningLevel>4</WarningLevel>
     <Deterministic>false</Deterministic>
-    <ApplicationIcon>Images\leaf.ico</ApplicationIcon>
-    <OutputPath>..\Bin\</OutputPath>
-    <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <DefineConstants>TRACE</DefineConstants>
   </PropertyGroup>
-
-  <PropertyGroup Condition="'$(Configuration)'=='Debug'">
-    <DefineConstants>$(DefineConstants);DEBUG</DefineConstants>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <DebugSymbols>true</DebugSymbols>
     <DebugType>full</DebugType>
     <Optimize>false</Optimize>
+    <OutputPath>..\Bin\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <Prefer32Bit>false</Prefer32Bit>
   </PropertyGroup>
-  <PropertyGroup Condition="'$(TargetFramework)'=='net45'">
-    <DefineConstants>$(DefineConstants);__WIN__;NET45</DefineConstants>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>..\Bin\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <Prefer32Bit>false</Prefer32Bit>
   </PropertyGroup>
-  <PropertyGroup Condition="'$(TargetFramework)'=='netcoreapp3.1'">
-    <DefineConstants>$(DefineConstants);__WIN__;NC30;__CORE__</DefineConstants>
+  <PropertyGroup>
+    <ApplicationIcon>Images\leaf.ico</ApplicationIcon>
   </PropertyGroup>
-
   <ItemGroup>
-    <PackageReference Include="NewLife.Core" Version="8.7.2020.501" />
-    <PackageReference Include="NewLife.Stardust" Version="1.0.2020.501" />
-    <PackageReference Include="NewLife.XCode" Version="9.17.2020.501" />
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="System.Net.Http" />
+    <Reference Include="System.Xaml">
+      <RequiredTargetFramework>4.0</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="WindowsBase" />
+    <Reference Include="PresentationCore" />
+    <Reference Include="PresentationFramework" />
+  </ItemGroup>
+  <ItemGroup>
+    <ApplicationDefinition Include="App.xaml">
+      <Generator>MSBuild:Compile</Generator>
+      <SubType>Designer</SubType>
+    </ApplicationDefinition>
+    <Compile Include="Setting.cs" />
+    <Compile Include="Views\Regex.xaml.cs">
+      <DependentUpon>Regex.xaml</DependentUpon>
+    </Compile>
+    <Page Include="MainWindow.xaml">
+      <Generator>MSBuild:Compile</Generator>
+      <SubType>Designer</SubType>
+    </Page>
+    <Compile Include="App.xaml.cs">
+      <DependentUpon>App.xaml</DependentUpon>
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="MainWindow.xaml.cs">
+      <DependentUpon>MainWindow.xaml</DependentUpon>
+      <SubType>Code</SubType>
+    </Compile>
+    <Page Include="Views\Regex.xaml">
+      <Generator>MSBuild:Compile</Generator>
+      <SubType>Designer</SubType>
+    </Page>
   </ItemGroup>
-
   <ItemGroup>
-    <Compile Update="Views\Regex.xaml.cs">
+    <Compile Include="Properties\AssemblyInfo.cs">
       <SubType>Code</SubType>
     </Compile>
+    <Compile Include="Properties\Resources.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+      <DependentUpon>Resources.resx</DependentUpon>
+    </Compile>
+    <Compile Include="Properties\Settings.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Settings.settings</DependentUpon>
+      <DesignTimeSharedInput>True</DesignTimeSharedInput>
+    </Compile>
+    <EmbeddedResource Include="Properties\Resources.resx">
+      <Generator>ResXFileCodeGenerator</Generator>
+      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+    </EmbeddedResource>
+    <Resource Include="iconfont.ttf" />
+    <None Include="Properties\Settings.settings">
+      <Generator>SettingsSingleFileGenerator</Generator>
+      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+    </None>
   </ItemGroup>
-
   <ItemGroup>
-    <Page Update="Views\Regex.xaml">
-      <SubType>Designer</SubType>
-    </Page>
+    <None Include="App.config" />
+  </ItemGroup>
+  <ItemGroup>
+    <PackageReference Include="MaterialDesignThemes">
+      <Version>3.1.1</Version>
+    </PackageReference>
+    <PackageReference Include="NewLife.Core">
+      <Version>8.7.2020.501</Version>
+    </PackageReference>
+    <PackageReference Include="NewLife.Stardust">
+      <Version>1.0.2020.501</Version>
+    </PackageReference>
+    <PackageReference Include="NewLife.XCode">
+      <Version>9.17.2020.501</Version>
+    </PackageReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Resource Include="Images\leaf.ico" />
+    <Resource Include="Images\leaf.png" />
   </ItemGroup>
-
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
 </Project>
\ No newline at end of file
Added +0 -0
diff --git a/CrazyCoder/iconfont.ttf b/CrazyCoder/iconfont.ttf
new file mode 100644
index 0000000..48cbcce
Binary files /dev/null and b/CrazyCoder/iconfont.ttf differ
Added +0 -0
diff --git a/CrazyCoder/Images/leaf.png b/CrazyCoder/Images/leaf.png
new file mode 100644
index 0000000..cb15e89
Binary files /dev/null and b/CrazyCoder/Images/leaf.png differ
Modified +2 -2
diff --git a/CrazyCoder/MainWindow.xaml.cs b/CrazyCoder/MainWindow.xaml.cs
index a89990d..86efd0e 100644
--- a/CrazyCoder/MainWindow.xaml.cs
+++ b/CrazyCoder/MainWindow.xaml.cs
@@ -29,7 +29,7 @@ namespace CrazyCoder
         #region 开发工具
         private void Regex_Click(Object sender, RoutedEventArgs e)
         {
-            frame.Navigate(new Uri("Views\\Regex.xaml", UriKind.Relative));
+            //frame.Navigate(new Uri("Views\\Regex.xaml", UriKind.Relative));
         }
 
         private void Ico_Click(Object sender, RoutedEventArgs e)
@@ -63,7 +63,7 @@ namespace CrazyCoder
 
         private void About_Click(Object sender, RoutedEventArgs e)
         {
-            frame.Navigate(new Uri("https://github.com/newlifex"));
+            //frame.Navigate(new Uri("https://github.com/newlifex"));
             //Process.Start("https://www.newlifex.com");
         }
         #endregion
Added +55 -0
diff --git a/CrazyCoder/Properties/AssemblyInfo.cs b/CrazyCoder/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..76f61ad
--- /dev/null
+++ b/CrazyCoder/Properties/AssemblyInfo.cs
@@ -0,0 +1,55 @@
+using System.Reflection;
+using System.Resources;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using System.Windows;
+
+// 有关程序集的一般信息由以下
+// 控制。更改这些特性值可修改
+// 与程序集关联的信息。
+[assembly: AssemblyTitle("新生命码神工具")]
+[assembly: AssemblyDescription("众多开发者工具")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("CrazyCoder")]
+[assembly: AssemblyCopyright("Copyright © 新生命开发团队 2020")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 将 ComVisible 设置为 false 会使此程序集中的类型
+//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
+//请将此类型的 ComVisible 特性设置为 true。
+[assembly: ComVisible(false)]
+
+//若要开始生成可本地化的应用程序,请设置
+//.csproj 文件中的 <UICulture>CultureYouAreCodingWith</UICulture>
+//例如,如果您在源文件中使用的是美国英语,
+//使用的是美国英语,请将 <UICulture> 设置为 en-US。  然后取消
+//对以下 NeutralResourceLanguage 特性的注释。  更新
+//以下行中的“en-US”以匹配项目文件中的 UICulture 设置。
+
+//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
+
+
+[assembly: ThemeInfo(
+    ResourceDictionaryLocation.None, //主题特定资源词典所处位置
+                                     //(未在页面中找到资源时使用,
+                                     //或应用程序资源字典中找到时使用)
+    ResourceDictionaryLocation.SourceAssembly //常规资源词典所处位置
+                                              //(未在页面中找到资源时使用,
+                                              //、应用程序或任何主题专用资源字典中找到时使用)
+)]
+
+
+// 程序集的版本信息由下列四个值组成: 
+//
+//      主版本
+//      次版本
+//      生成号
+//      修订号
+//
+//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
+//通过使用 "*",如下所示:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyFileVersion("1.0.2020.0505")]
Added +71 -0
diff --git a/CrazyCoder/Properties/Resources.Designer.cs b/CrazyCoder/Properties/Resources.Designer.cs
new file mode 100644
index 0000000..8f309b4
--- /dev/null
+++ b/CrazyCoder/Properties/Resources.Designer.cs
@@ -0,0 +1,71 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     此代码由工具生成。
+//     运行时版本: 4.0.30319.42000
+//
+//     对此文件的更改可能导致不正确的行为,如果
+//     重新生成代码,则所做更改将丢失。
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace CrazyCoder.Properties
+{
+
+
+    /// <summary>
+    ///   强类型资源类,用于查找本地化字符串等。
+    /// </summary>
+    // 此类是由 StronglyTypedResourceBuilder
+    // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
+    // 若要添加或删除成员,请编辑 .ResX 文件,然后重新运行 ResGen
+    // (以 /str 作为命令选项),或重新生成 VS 项目。
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    internal class Resources
+    {
+
+        private static global::System.Resources.ResourceManager resourceMan;
+
+        private static global::System.Globalization.CultureInfo resourceCulture;
+
+        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+        internal Resources()
+        {
+        }
+
+        /// <summary>
+        ///   返回此类使用的缓存 ResourceManager 实例。
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Resources.ResourceManager ResourceManager
+        {
+            get
+            {
+                if ((resourceMan == null))
+                {
+                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CrazyCoder.Properties.Resources", typeof(Resources).Assembly);
+                    resourceMan = temp;
+                }
+                return resourceMan;
+            }
+        }
+
+        /// <summary>
+        ///   覆盖当前线程的 CurrentUICulture 属性
+        ///   使用此强类型的资源类的资源查找。
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Globalization.CultureInfo Culture
+        {
+            get
+            {
+                return resourceCulture;
+            }
+            set
+            {
+                resourceCulture = value;
+            }
+        }
+    }
+}
Added +117 -0
diff --git a/CrazyCoder/Properties/Resources.resx b/CrazyCoder/Properties/Resources.resx
new file mode 100644
index 0000000..af7dbeb
--- /dev/null
+++ b/CrazyCoder/Properties/Resources.resx
@@ -0,0 +1,117 @@
+<?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.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: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" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+            </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" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+            </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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>
\ No newline at end of file
Added +30 -0
diff --git a/CrazyCoder/Properties/Settings.Designer.cs b/CrazyCoder/Properties/Settings.Designer.cs
new file mode 100644
index 0000000..672fa44
--- /dev/null
+++ b/CrazyCoder/Properties/Settings.Designer.cs
@@ -0,0 +1,30 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.42000
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace CrazyCoder.Properties
+{
+
+
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
+    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
+    {
+
+        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+        public static Settings Default
+        {
+            get
+            {
+                return defaultInstance;
+            }
+        }
+    }
+}
Added +7 -0
diff --git a/CrazyCoder/Properties/Settings.settings b/CrazyCoder/Properties/Settings.settings
new file mode 100644
index 0000000..033d7a5
--- /dev/null
+++ b/CrazyCoder/Properties/Settings.settings
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
+  <Profiles>
+    <Profile Name="(Default)" />
+  </Profiles>
+  <Settings />
+</SettingsFile>
\ No newline at end of file
Modified +25 -25
diff --git "a/\347\240\201\347\245\236\345\267\245\345\205\267.sln" "b/\347\240\201\347\245\236\345\267\245\345\205\267.sln"
index 0893e23..34cc0f0 100644
--- "a/\347\240\201\347\245\236\345\267\245\345\205\267.sln"
+++ "b/\347\240\201\347\245\236\345\267\245\345\205\267.sln"
@@ -18,7 +18,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XCoder30", "XCoder30\XCoder
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XCoderLinux", "XCoderLinux\XCoderLinux.csproj", "{8D88837E-7C35-424E-8937-6CD7CF79517E}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CrazyCoder", "CrazyCoder\CrazyCoder.csproj", "{7977C940-B198-40E3-B16A-B70080BD5E77}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CrazyCoder", "CrazyCoder\CrazyCoder.csproj", "{AC49462F-ED94-40F6-BF92-728937BFBAFE}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -132,30 +132,30 @@ Global
 		{8D88837E-7C35-424E-8937-6CD7CF79517E}.Release|x64.Build.0 = Release|Any CPU
 		{8D88837E-7C35-424E-8937-6CD7CF79517E}.Release|x86.ActiveCfg = Release|Any CPU
 		{8D88837E-7C35-424E-8937-6CD7CF79517E}.Release|x86.Build.0 = Release|Any CPU
-		{7977C940-B198-40E3-B16A-B70080BD5E77}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{7977C940-B198-40E3-B16A-B70080BD5E77}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{7977C940-B198-40E3-B16A-B70080BD5E77}.Debug|ARM.ActiveCfg = Debug|Any CPU
-		{7977C940-B198-40E3-B16A-B70080BD5E77}.Debug|ARM.Build.0 = Debug|Any CPU
-		{7977C940-B198-40E3-B16A-B70080BD5E77}.Debug|iPhone.ActiveCfg = Debug|Any CPU
-		{7977C940-B198-40E3-B16A-B70080BD5E77}.Debug|iPhone.Build.0 = Debug|Any CPU
-		{7977C940-B198-40E3-B16A-B70080BD5E77}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
-		{7977C940-B198-40E3-B16A-B70080BD5E77}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
-		{7977C940-B198-40E3-B16A-B70080BD5E77}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{7977C940-B198-40E3-B16A-B70080BD5E77}.Debug|x64.Build.0 = Debug|Any CPU
-		{7977C940-B198-40E3-B16A-B70080BD5E77}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{7977C940-B198-40E3-B16A-B70080BD5E77}.Debug|x86.Build.0 = Debug|Any CPU
-		{7977C940-B198-40E3-B16A-B70080BD5E77}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{7977C940-B198-40E3-B16A-B70080BD5E77}.Release|Any CPU.Build.0 = Release|Any CPU
-		{7977C940-B198-40E3-B16A-B70080BD5E77}.Release|ARM.ActiveCfg = Release|Any CPU
-		{7977C940-B198-40E3-B16A-B70080BD5E77}.Release|ARM.Build.0 = Release|Any CPU
-		{7977C940-B198-40E3-B16A-B70080BD5E77}.Release|iPhone.ActiveCfg = Release|Any CPU
-		{7977C940-B198-40E3-B16A-B70080BD5E77}.Release|iPhone.Build.0 = Release|Any CPU
-		{7977C940-B198-40E3-B16A-B70080BD5E77}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
-		{7977C940-B198-40E3-B16A-B70080BD5E77}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
-		{7977C940-B198-40E3-B16A-B70080BD5E77}.Release|x64.ActiveCfg = Release|Any CPU
-		{7977C940-B198-40E3-B16A-B70080BD5E77}.Release|x64.Build.0 = Release|Any CPU
-		{7977C940-B198-40E3-B16A-B70080BD5E77}.Release|x86.ActiveCfg = Release|Any CPU
-		{7977C940-B198-40E3-B16A-B70080BD5E77}.Release|x86.Build.0 = Release|Any CPU
+		{AC49462F-ED94-40F6-BF92-728937BFBAFE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{AC49462F-ED94-40F6-BF92-728937BFBAFE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{AC49462F-ED94-40F6-BF92-728937BFBAFE}.Debug|ARM.ActiveCfg = Debug|Any CPU
+		{AC49462F-ED94-40F6-BF92-728937BFBAFE}.Debug|ARM.Build.0 = Debug|Any CPU
+		{AC49462F-ED94-40F6-BF92-728937BFBAFE}.Debug|iPhone.ActiveCfg = Debug|Any CPU
+		{AC49462F-ED94-40F6-BF92-728937BFBAFE}.Debug|iPhone.Build.0 = Debug|Any CPU
+		{AC49462F-ED94-40F6-BF92-728937BFBAFE}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+		{AC49462F-ED94-40F6-BF92-728937BFBAFE}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
+		{AC49462F-ED94-40F6-BF92-728937BFBAFE}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{AC49462F-ED94-40F6-BF92-728937BFBAFE}.Debug|x64.Build.0 = Debug|Any CPU
+		{AC49462F-ED94-40F6-BF92-728937BFBAFE}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{AC49462F-ED94-40F6-BF92-728937BFBAFE}.Debug|x86.Build.0 = Debug|Any CPU
+		{AC49462F-ED94-40F6-BF92-728937BFBAFE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{AC49462F-ED94-40F6-BF92-728937BFBAFE}.Release|Any CPU.Build.0 = Release|Any CPU
+		{AC49462F-ED94-40F6-BF92-728937BFBAFE}.Release|ARM.ActiveCfg = Release|Any CPU
+		{AC49462F-ED94-40F6-BF92-728937BFBAFE}.Release|ARM.Build.0 = Release|Any CPU
+		{AC49462F-ED94-40F6-BF92-728937BFBAFE}.Release|iPhone.ActiveCfg = Release|Any CPU
+		{AC49462F-ED94-40F6-BF92-728937BFBAFE}.Release|iPhone.Build.0 = Release|Any CPU
+		{AC49462F-ED94-40F6-BF92-728937BFBAFE}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
+		{AC49462F-ED94-40F6-BF92-728937BFBAFE}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
+		{AC49462F-ED94-40F6-BF92-728937BFBAFE}.Release|x64.ActiveCfg = Release|Any CPU
+		{AC49462F-ED94-40F6-BF92-728937BFBAFE}.Release|x64.Build.0 = Release|Any CPU
+		{AC49462F-ED94-40F6-BF92-728937BFBAFE}.Release|x86.ActiveCfg = Release|Any CPU
+		{AC49462F-ED94-40F6-BF92-728937BFBAFE}.Release|x86.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE