### 2024-12-20 星期五更新
------ #### SuperDesign V3.0.2412.2001 - *.[新增]新增程序更新日志设置和自动发布功能。 - *.[修复]修复Post数据格式不正确时双击文本框会导致软件闪退的BUG。
18611
Bin/Debug/SuperDesign/MySql.Data.xml
Normal file
BIN
Bin/Debug/SuperDesign/OpenXmlPowerTools.dll
Normal file
BIN
Bin/Debug/SuperDesign/RySmartEditor.exe
Normal file
6
Bin/Debug/SuperDesign/RySmartEditor.exe.config
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<configuration>
|
||||||
|
<startup>
|
||||||
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
|
||||||
|
</startup>
|
||||||
|
</configuration>
|
67
Bin/Debug/SuperDesign/Secure/SteamConfig.ini
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
[Settings]
|
||||||
|
|
||||||
|
; game appid here
|
||||||
|
AppID = 739630
|
||||||
|
|
||||||
|
; source steam_api.dll version
|
||||||
|
API = 5.69.73.98
|
||||||
|
|
||||||
|
; player name
|
||||||
|
PlayerName = VALVE
|
||||||
|
|
||||||
|
; game Language
|
||||||
|
;english german french italian koreana
|
||||||
|
;spanish schinese tchinese russian thai
|
||||||
|
;japanese portuguese polish danish dutch
|
||||||
|
;finnish norwegian swedish hungarian czech
|
||||||
|
;romanian turkish
|
||||||
|
|
||||||
|
Language = schinese
|
||||||
|
|
||||||
|
;save types:
|
||||||
|
; VALVE(game dir) 0
|
||||||
|
; VALVE(my documents) 1
|
||||||
|
; RELOADED 4
|
||||||
|
; SKIDROW 5
|
||||||
|
; FLT 6
|
||||||
|
; CODEX(3.0.4+/my documents) 7
|
||||||
|
; CODEX(1.0.0.0+/APPDATA) 8
|
||||||
|
SaveType = 0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;Achievements Count limit
|
||||||
|
;AchievementsCount=0
|
||||||
|
|
||||||
|
;game exe path
|
||||||
|
;GameEXE=game.exe
|
||||||
|
|
||||||
|
;SteamUserID =12345678
|
||||||
|
;SteamUserIDH =12345678
|
||||||
|
|
||||||
|
;IsLoggedOn=0
|
||||||
|
|
||||||
|
;Online=0
|
||||||
|
|
||||||
|
|
||||||
|
;UnLockListedDLCOnly=1
|
||||||
|
[DLC]
|
||||||
|
;SET DLC USE "APPID=NAME"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[Option]
|
||||||
|
|
||||||
|
|
||||||
|
;Block Network.
|
||||||
|
;FullBlockNetwork=1
|
||||||
|
|
||||||
|
;Redirect File Handle to ".valve"
|
||||||
|
;FileRedirectCheck=1
|
||||||
|
|
||||||
|
;DECRYPT STEAM STUB
|
||||||
|
;set 1 tells steam_api.dll / steam_api64.dll to decrypt the steam stub as soon as possible
|
||||||
|
;set 2 tells SteamClient.dll / SteamClient64.dll to decrypt the steam stub as soon as possible
|
||||||
|
;set 0 to disable it.
|
||||||
|
;DECRYPT_STEAM_STUB=0
|
BIN
Bin/Debug/SuperDesign/Secure/steam_api64.dll
Normal file
|
@ -162,3 +162,12 @@ mb_convert_encoding
|
||||||
mb_detect_encoding
|
mb_detect_encoding
|
||||||
file_put_contents
|
file_put_contents
|
||||||
file_get_contents
|
file_get_contents
|
||||||
|
continue
|
||||||
|
exit
|
||||||
|
htmlspecialchars
|
||||||
|
htmlentities
|
||||||
|
quoted_printable_decode
|
||||||
|
rawurldecode
|
||||||
|
rawurlencode
|
||||||
|
print
|
||||||
|
printf
|
|
@ -1,3 +1,2 @@
|
||||||
VS2019项目目录|E:\SysDoc\Documents\Visual Studio 2019\Projects\
|
VS2019项目目录|E:\SysDoc\Documents\Visual Studio 2019\Projects\
|
||||||
程序开发源码|E:\我的代码\毕方项目\C#
|
程序开发源码|E:\My Datas\My Codes\毕方项目\CSharp
|
||||||
程序开发源码|E:\My Datas\毕方项目\C#
|
|
BIN
Bin/Debug/SuperDesign/SysDb/ass_ico/asp.ico
Normal file
After Width: | Height: | Size: 89 KiB |
BIN
Bin/Debug/SuperDesign/SysDb/ass_ico/css.ico
Normal file
After Width: | Height: | Size: 88 KiB |
BIN
Bin/Debug/SuperDesign/SysDb/ass_ico/htm.ico
Normal file
After Width: | Height: | Size: 88 KiB |
BIN
Bin/Debug/SuperDesign/SysDb/ass_ico/html.ico
Normal file
After Width: | Height: | Size: 88 KiB |
BIN
Bin/Debug/SuperDesign/SysDb/ass_ico/inf.ico
Normal file
After Width: | Height: | Size: 87 KiB |
BIN
Bin/Debug/SuperDesign/SysDb/ass_ico/js.ico
Normal file
After Width: | Height: | Size: 86 KiB |
BIN
Bin/Debug/SuperDesign/SysDb/ass_ico/json.ico
Normal file
After Width: | Height: | Size: 85 KiB |
BIN
Bin/Debug/SuperDesign/SysDb/ass_ico/log.ico
Normal file
After Width: | Height: | Size: 88 KiB |
BIN
Bin/Debug/SuperDesign/SysDb/ass_ico/php.ico
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
Bin/Debug/SuperDesign/SysDb/ass_ico/sql.ico
Normal file
After Width: | Height: | Size: 86 KiB |
BIN
Bin/Debug/SuperDesign/SysDb/ass_ico/txt.ico
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
Bin/Debug/SuperDesign/SysDb/ass_ico/xml.ico
Normal file
After Width: | Height: | Size: 86 KiB |
BIN
Bin/Debug/SuperDesign/System.Buffers.dll
Normal file
38
Bin/Debug/SuperDesign/System.Buffers.xml
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?><doc>
|
||||||
|
<assembly>
|
||||||
|
<name>System.Buffers</name>
|
||||||
|
</assembly>
|
||||||
|
<members>
|
||||||
|
<member name="T:System.Buffers.ArrayPool`1">
|
||||||
|
<summary>Provides a resource pool that enables reusing instances of type <see cref="T[]"></see>.</summary>
|
||||||
|
<typeparam name="T">The type of the objects that are in the resource pool.</typeparam>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Buffers.ArrayPool`1.#ctor">
|
||||||
|
<summary>Initializes a new instance of the <see cref="T:System.Buffers.ArrayPool`1"></see> class.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Buffers.ArrayPool`1.Create">
|
||||||
|
<summary>Creates a new instance of the <see cref="T:System.Buffers.ArrayPool`1"></see> class.</summary>
|
||||||
|
<returns>A new instance of the <see cref="System.Buffers.ArrayPool`1"></see> class.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Buffers.ArrayPool`1.Create(System.Int32,System.Int32)">
|
||||||
|
<summary>Creates a new instance of the <see cref="T:System.Buffers.ArrayPool`1"></see> class using the specifed configuration.</summary>
|
||||||
|
<param name="maxArrayLength">The maximum length of an array instance that may be stored in the pool.</param>
|
||||||
|
<param name="maxArraysPerBucket">The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access.</param>
|
||||||
|
<returns>A new instance of the <see cref="System.Buffers.ArrayPool`1"></see> class with the specified configuration.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Buffers.ArrayPool`1.Rent(System.Int32)">
|
||||||
|
<summary>Retrieves a buffer that is at least the requested length.</summary>
|
||||||
|
<param name="minimumLength">The minimum length of the array.</param>
|
||||||
|
<returns>An array of type <see cref="T[]"></see> that is at least <paramref name="minimumLength">minimumLength</paramref> in length.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Buffers.ArrayPool`1.Return(`0[],System.Boolean)">
|
||||||
|
<summary>Returns an array to the pool that was previously obtained using the <see cref="M:System.Buffers.ArrayPool`1.Rent(System.Int32)"></see> method on the same <see cref="T:System.Buffers.ArrayPool`1"></see> instance.</summary>
|
||||||
|
<param name="array">A buffer to return to the pool that was previously obtained using the <see cref="M:System.Buffers.ArrayPool`1.Rent(System.Int32)"></see> method.</param>
|
||||||
|
<param name="clearArray">Indicates whether the contents of the buffer should be cleared before reuse. If <paramref name="clearArray">clearArray</paramref> is set to true, and if the pool will store the buffer to enable subsequent reuse, the <see cref="M:System.Buffers.ArrayPool`1.Return(`0[],System.Boolean)"></see> method will clear the <paramref name="array">array</paramref> of its contents so that a subsequent caller using the <see cref="M:System.Buffers.ArrayPool`1.Rent(System.Int32)"></see> method will not see the content of the previous caller. If <paramref name="clearArray">clearArray</paramref> is set to false or if the pool will release the buffer, the array&#39;s contents are left unchanged.</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Buffers.ArrayPool`1.Shared">
|
||||||
|
<summary>Gets a shared <see cref="T:System.Buffers.ArrayPool`1"></see> instance.</summary>
|
||||||
|
<returns>A shared <see cref="System.Buffers.ArrayPool`1"></see> instance.</returns>
|
||||||
|
</member>
|
||||||
|
</members>
|
||||||
|
</doc>
|
BIN
Bin/Debug/SuperDesign/System.Memory.dll
Normal file
355
Bin/Debug/SuperDesign/System.Memory.xml
Normal file
|
@ -0,0 +1,355 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?><doc>
|
||||||
|
<assembly>
|
||||||
|
<name>System.Memory</name>
|
||||||
|
</assembly>
|
||||||
|
<members>
|
||||||
|
<member name="T:System.Span`1">
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.#ctor(`0[])">
|
||||||
|
<param name="array"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.#ctor(System.Void*,System.Int32)">
|
||||||
|
<param name="pointer"></param>
|
||||||
|
<param name="length"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.#ctor(`0[],System.Int32)">
|
||||||
|
<param name="array"></param>
|
||||||
|
<param name="start"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.#ctor(`0[],System.Int32,System.Int32)">
|
||||||
|
<param name="array"></param>
|
||||||
|
<param name="start"></param>
|
||||||
|
<param name="length"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.Clear">
|
||||||
|
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.CopyTo(System.Span{`0})">
|
||||||
|
<param name="destination"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.DangerousCreate(System.Object,`0@,System.Int32)">
|
||||||
|
<param name="obj"></param>
|
||||||
|
<param name="objectData"></param>
|
||||||
|
<param name="length"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.DangerousGetPinnableReference">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Span`1.Empty">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.Equals(System.Object)">
|
||||||
|
<param name="obj"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.Fill(`0)">
|
||||||
|
<param name="value"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.GetHashCode">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Span`1.IsEmpty">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Span`1.Item(System.Int32)">
|
||||||
|
<param name="index"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Span`1.Length">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.op_Equality(System.Span{`0},System.Span{`0})">
|
||||||
|
<param name="left"></param>
|
||||||
|
<param name="right"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.op_Implicit(System.ArraySegment{T})~System.Span{T}">
|
||||||
|
<param name="arraySegment"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.op_Implicit(System.Span{T})~System.ReadOnlySpan{T}">
|
||||||
|
<param name="span"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.op_Implicit(T[])~System.Span{T}">
|
||||||
|
<param name="array"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.op_Inequality(System.Span{`0},System.Span{`0})">
|
||||||
|
<param name="left"></param>
|
||||||
|
<param name="right"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.Slice(System.Int32)">
|
||||||
|
<param name="start"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.Slice(System.Int32,System.Int32)">
|
||||||
|
<param name="start"></param>
|
||||||
|
<param name="length"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.ToArray">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.TryCopyTo(System.Span{`0})">
|
||||||
|
<param name="destination"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.SpanExtensions">
|
||||||
|
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.AsBytes``1(System.ReadOnlySpan{``0})">
|
||||||
|
<param name="source"></param>
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.AsBytes``1(System.Span{``0})">
|
||||||
|
<param name="source"></param>
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.AsSpan(System.String)">
|
||||||
|
<param name="text"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.AsSpan``1(System.ArraySegment{``0})">
|
||||||
|
<param name="arraySegment"></param>
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.AsSpan``1(``0[])">
|
||||||
|
<param name="array"></param>
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.CopyTo``1(``0[],System.Span{``0})">
|
||||||
|
<param name="array"></param>
|
||||||
|
<param name="destination"></param>
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.IndexOf(System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.IndexOf(System.Span{System.Byte},System.Byte)">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.IndexOf(System.ReadOnlySpan{System.Byte},System.Byte)">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.IndexOf(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.IndexOf``1(System.ReadOnlySpan{``0},System.ReadOnlySpan{``0})">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value"></param>
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.IndexOf``1(System.ReadOnlySpan{``0},``0)">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value"></param>
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.IndexOf``1(System.Span{``0},System.ReadOnlySpan{``0})">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value"></param>
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.IndexOf``1(System.Span{``0},``0)">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value"></param>
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.IndexOfAny(System.ReadOnlySpan{System.Byte},System.Byte,System.Byte,System.Byte)">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value0"></param>
|
||||||
|
<param name="value1"></param>
|
||||||
|
<param name="value2"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.IndexOfAny(System.Span{System.Byte},System.Byte,System.Byte,System.Byte)">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value0"></param>
|
||||||
|
<param name="value1"></param>
|
||||||
|
<param name="value2"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.IndexOfAny(System.Span{System.Byte},System.Byte,System.Byte)">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value0"></param>
|
||||||
|
<param name="value1"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.IndexOfAny(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="values"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.IndexOfAny(System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="values"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.IndexOfAny(System.ReadOnlySpan{System.Byte},System.Byte,System.Byte)">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value0"></param>
|
||||||
|
<param name="value1"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.NonPortableCast``2(System.ReadOnlySpan{``0})">
|
||||||
|
<param name="source"></param>
|
||||||
|
<typeparam name="TFrom"></typeparam>
|
||||||
|
<typeparam name="TTo"></typeparam>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.NonPortableCast``2(System.Span{``0})">
|
||||||
|
<param name="source"></param>
|
||||||
|
<typeparam name="TFrom"></typeparam>
|
||||||
|
<typeparam name="TTo"></typeparam>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.SequenceEqual(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
|
||||||
|
<param name="first"></param>
|
||||||
|
<param name="second"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.SequenceEqual(System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
|
||||||
|
<param name="first"></param>
|
||||||
|
<param name="second"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.SequenceEqual``1(System.ReadOnlySpan{``0},System.ReadOnlySpan{``0})">
|
||||||
|
<param name="first"></param>
|
||||||
|
<param name="second"></param>
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.SequenceEqual``1(System.Span{``0},System.ReadOnlySpan{``0})">
|
||||||
|
<param name="first"></param>
|
||||||
|
<param name="second"></param>
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.StartsWith(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.StartsWith(System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.StartsWith``1(System.ReadOnlySpan{``0},System.ReadOnlySpan{``0})">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value"></param>
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.StartsWith``1(System.Span{``0},System.ReadOnlySpan{``0})">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value"></param>
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.ReadOnlySpan`1">
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.#ctor(`0[])">
|
||||||
|
<param name="array"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.#ctor(System.Void*,System.Int32)">
|
||||||
|
<param name="pointer"></param>
|
||||||
|
<param name="length"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.#ctor(`0[],System.Int32)">
|
||||||
|
<param name="array"></param>
|
||||||
|
<param name="start"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.#ctor(`0[],System.Int32,System.Int32)">
|
||||||
|
<param name="array"></param>
|
||||||
|
<param name="start"></param>
|
||||||
|
<param name="length"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.CopyTo(System.Span{`0})">
|
||||||
|
<param name="destination"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.DangerousCreate(System.Object,`0@,System.Int32)">
|
||||||
|
<param name="obj"></param>
|
||||||
|
<param name="objectData"></param>
|
||||||
|
<param name="length"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.DangerousGetPinnableReference">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.ReadOnlySpan`1.Empty">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.Equals(System.Object)">
|
||||||
|
<param name="obj"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.GetHashCode">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.ReadOnlySpan`1.IsEmpty">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.ReadOnlySpan`1.Item(System.Int32)">
|
||||||
|
<param name="index"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.ReadOnlySpan`1.Length">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.op_Equality(System.ReadOnlySpan{`0},System.ReadOnlySpan{`0})">
|
||||||
|
<param name="left"></param>
|
||||||
|
<param name="right"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.op_Implicit(System.ArraySegment{T})~System.ReadOnlySpan{T}">
|
||||||
|
<param name="arraySegment"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.op_Implicit(T[])~System.ReadOnlySpan{T}">
|
||||||
|
<param name="array"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.op_Inequality(System.ReadOnlySpan{`0},System.ReadOnlySpan{`0})">
|
||||||
|
<param name="left"></param>
|
||||||
|
<param name="right"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.Slice(System.Int32)">
|
||||||
|
<param name="start"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.Slice(System.Int32,System.Int32)">
|
||||||
|
<param name="start"></param>
|
||||||
|
<param name="length"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.ToArray">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.TryCopyTo(System.Span{`0})">
|
||||||
|
<param name="destination"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
</members>
|
||||||
|
</doc>
|
BIN
Bin/Debug/SuperDesign/System.Numerics.Vectors.dll
Normal file
2621
Bin/Debug/SuperDesign/System.Numerics.Vectors.xml
Normal file
BIN
Bin/Debug/SuperDesign/System.Threading.Tasks.Extensions.dll
Normal file
166
Bin/Debug/SuperDesign/System.Threading.Tasks.Extensions.xml
Normal file
|
@ -0,0 +1,166 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?><doc>
|
||||||
|
<assembly>
|
||||||
|
<name>System.Threading.Tasks.Extensions</name>
|
||||||
|
</assembly>
|
||||||
|
<members>
|
||||||
|
<member name="T:System.Runtime.CompilerServices.ValueTaskAwaiter`1">
|
||||||
|
<typeparam name="TResult"></typeparam>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.ValueTaskAwaiter`1.GetResult">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.CompilerServices.ValueTaskAwaiter`1.IsCompleted">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.ValueTaskAwaiter`1.OnCompleted(System.Action)">
|
||||||
|
<param name="continuation"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.ValueTaskAwaiter`1.UnsafeOnCompleted(System.Action)">
|
||||||
|
<param name="continuation"></param>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Threading.Tasks.ValueTask`1">
|
||||||
|
<summary>Provides a value type that wraps a <see cref="Task{TResult}"></see> and a <typeparamref name="TResult">TResult</typeparamref>, only one of which is used.</summary>
|
||||||
|
<typeparam name="TResult">The result.</typeparam>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Threading.Tasks.ValueTask`1.#ctor(System.Threading.Tasks.Task{`0})">
|
||||||
|
<summary>Initializes a new instance of the <see cref="ValueTask{TResult}"></see> class using the supplied task that represents the operation.</summary>
|
||||||
|
<param name="task">The task.</param>
|
||||||
|
<exception cref="T:System.ArgumentNullException">The <paramref name="task">task</paramref> argument is null.</exception>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Threading.Tasks.ValueTask`1.#ctor(`0)">
|
||||||
|
<summary>Initializes a new instance of the <see cref="ValueTask{TResult}"></see> class using the supplied result of a successful operation.</summary>
|
||||||
|
<param name="result">The result.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Threading.Tasks.ValueTask`1.AsTask">
|
||||||
|
<summary>Retrieves a <see cref="Task{TResult}"></see> object that represents this <see cref="ValueTask{TResult}"></see>.</summary>
|
||||||
|
<returns>The <see cref="Task{TResult}"></see> object that is wrapped in this <see cref="ValueTask{TResult}"></see> if one exists, or a new <see cref="Task{TResult}"></see> object that represents the result.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Threading.Tasks.ValueTask`1.ConfigureAwait(System.Boolean)">
|
||||||
|
<summary>Configures an awaiter for this value.</summary>
|
||||||
|
<param name="continueOnCapturedContext">true to attempt to marshal the continuation back to the captured context; otherwise, false.</param>
|
||||||
|
<returns>The configured awaiter.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Threading.Tasks.ValueTask`1.CreateAsyncMethodBuilder">
|
||||||
|
<summary>Creates a method builder for use with an async method.</summary>
|
||||||
|
<returns>The created builder.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Threading.Tasks.ValueTask`1.Equals(System.Object)">
|
||||||
|
<summary>Determines whether the specified object is equal to the current object.</summary>
|
||||||
|
<param name="obj">The object to compare with the current object.</param>
|
||||||
|
<returns>true if the specified object is equal to the current object; otherwise, false.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Threading.Tasks.ValueTask`1.Equals(System.Threading.Tasks.ValueTask{`0})">
|
||||||
|
<summary>Determines whether the specified <see cref="ValueTask{TResult}"></see> object is equal to the current <see cref="ValueTask{TResult}"></see> object.</summary>
|
||||||
|
<param name="other">The object to compare with the current object.</param>
|
||||||
|
<returns>true if the specified object is equal to the current object; otherwise, false.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Threading.Tasks.ValueTask`1.GetAwaiter">
|
||||||
|
<summary>Creates an awaiter for this value.</summary>
|
||||||
|
<returns>The awaiter.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Threading.Tasks.ValueTask`1.GetHashCode">
|
||||||
|
<summary>Returns the hash code for this instance.</summary>
|
||||||
|
<returns>The hash code for the current object.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Threading.Tasks.ValueTask`1.IsCanceled">
|
||||||
|
<summary>Gets a value that indicates whether this object represents a canceled operation.</summary>
|
||||||
|
<returns>true if this object represents a canceled operation; otherwise, false.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Threading.Tasks.ValueTask`1.IsCompleted">
|
||||||
|
<summary>Gets a value that indicates whether this object represents a completed operation.</summary>
|
||||||
|
<returns>true if this object represents a completed operation; otherwise, false.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Threading.Tasks.ValueTask`1.IsCompletedSuccessfully">
|
||||||
|
<summary>Gets a value that indicates whether this object represents a successfully completed operation.</summary>
|
||||||
|
<returns>true if this object represents a successfully completed operation; otherwise, false.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Threading.Tasks.ValueTask`1.IsFaulted">
|
||||||
|
<summary>Gets a value that indicates whether this object represents a failed operation.</summary>
|
||||||
|
<returns>true if this object represents a failed operation; otherwise, false.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Threading.Tasks.ValueTask`1.op_Equality(System.Threading.Tasks.ValueTask{`0},System.Threading.Tasks.ValueTask{`0})">
|
||||||
|
<summary>Compares two values for equality.</summary>
|
||||||
|
<param name="left">The first value to compare.</param>
|
||||||
|
<param name="right">The second value to compare.</param>
|
||||||
|
<returns>true if the two <see cref="ValueTask{TResult}"></see> values are equal; otherwise, false.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Threading.Tasks.ValueTask`1.op_Inequality(System.Threading.Tasks.ValueTask{`0},System.Threading.Tasks.ValueTask{`0})">
|
||||||
|
<summary>Determines whether two <see cref="ValueTask{TResult}"></see> values are unequal.</summary>
|
||||||
|
<param name="left">The first value to compare.</param>
|
||||||
|
<param name="right">The seconed value to compare.</param>
|
||||||
|
<returns>true if the two <see cref="ValueTask{TResult}"></see> values are not equal; otherwise, false.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Threading.Tasks.ValueTask`1.Result">
|
||||||
|
<summary>Gets the result.</summary>
|
||||||
|
<returns>The result.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Threading.Tasks.ValueTask`1.ToString">
|
||||||
|
<summary>Returns a string that represents the current object.</summary>
|
||||||
|
<returns>A string that represents the current object.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Runtime.CompilerServices.AsyncMethodBuilderAttribute">
|
||||||
|
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderAttribute.#ctor(System.Type)">
|
||||||
|
<param name="builderType"></param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.CompilerServices.AsyncMethodBuilderAttribute.BuilderType">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1">
|
||||||
|
<typeparam name="TResult"></typeparam>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.AwaitOnCompleted``2(``0@,``1@)">
|
||||||
|
<param name="awaiter"></param>
|
||||||
|
<param name="stateMachine"></param>
|
||||||
|
<typeparam name="TAwaiter"></typeparam>
|
||||||
|
<typeparam name="TStateMachine"></typeparam>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.AwaitUnsafeOnCompleted``2(``0@,``1@)">
|
||||||
|
<param name="awaiter"></param>
|
||||||
|
<param name="stateMachine"></param>
|
||||||
|
<typeparam name="TAwaiter"></typeparam>
|
||||||
|
<typeparam name="TStateMachine"></typeparam>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.Create">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.SetException(System.Exception)">
|
||||||
|
<param name="exception"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.SetResult(`0)">
|
||||||
|
<param name="result"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
|
||||||
|
<param name="stateMachine"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.Start``1(``0@)">
|
||||||
|
<param name="stateMachine"></param>
|
||||||
|
<typeparam name="TStateMachine"></typeparam>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.Task">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter">
|
||||||
|
<typeparam name="TResult"></typeparam>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.GetResult">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.IsCompleted">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.OnCompleted(System.Action)">
|
||||||
|
<param name="continuation"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.UnsafeOnCompleted(System.Action)">
|
||||||
|
<param name="continuation"></param>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1">
|
||||||
|
<typeparam name="TResult"></typeparam>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.GetAwaiter">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
</members>
|
||||||
|
</doc>
|
|
@ -1,9 +1,9 @@
|
||||||
[FileFind]
|
[FileFind]
|
||||||
Exts=*.cs;*.sln;*.csproj
|
Exts=PHP文件(*.php;*.html;*.js;*.css;*.htm)
|
||||||
SkipDirName_On=1
|
SkipDirName_On=1
|
||||||
SkipDirName_Text=debug;.git
|
SkipDirName_Text=debug;.git
|
||||||
SearchSubDir=1
|
SearchSubDir=1
|
||||||
IgnoreBinExt=1
|
IgnoreBinExt=1
|
||||||
SearchHiddenDir=0
|
SearchHiddenDir=1
|
||||||
LimitFileSize_On=1
|
LimitFileSize_On=1
|
||||||
LimitFileSize_Value=20
|
LimitFileSize_Value=20
|
||||||
|
|
BIN
Bin/Debug/SuperDesign/UserDb/Ftp.dat
Normal file
10
Bin/Debug/SuperDesign/UserDb/mruFind.lst
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
\r\n
|
||||||
|
\n
|
||||||
|
private class SortByDisplayOrder
|
||||||
|
WOL2
|
||||||
|
WOL
|
||||||
|
开机
|
||||||
|
port
|
||||||
|
fun
|
||||||
|
京东
|
||||||
|
支付宝
|
6
Bin/Debug/SuperDesign/UserDb/mruReplace.lst
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
,
|
||||||
|
WOL
|
||||||
|
WOL2
|
||||||
|
ss2
|
||||||
|
ss
|
||||||
|
2
|
BIN
Bin/Debug/SuperDesign/jsbeautify.dll
Normal file
BIN
Bin/Debug/SuperDesign/libwebp_x64.dll
Normal file
BIN
Bin/Debug/SuperDesign/libwebp_x86.dll
Normal file
BIN
Bin/Debug/SuperDesign/runtimes/win-x64/native/Lexilla.dll
Normal file
BIN
Bin/Debug/SuperDesign/runtimes/win-x64/native/Scintilla.dll
Normal file
BIN
Bin/Debug/SuperDesign/runtimes/win-x86/native/Lexilla.dll
Normal file
BIN
Bin/Debug/SuperDesign/runtimes/win-x86/native/Scintilla.dll
Normal file
|
@ -1,5 +1,374 @@
|
||||||
[Configuration]
|
[Configuration]
|
||||||
|
JumpList=S193@192.168.1.195
|
||||||
|
|
||||||
[Configuration\Interface\Updates]
|
[Configuration\Interface\Updates]
|
||||||
DotNetVersion=5.13.4
|
DotNetVersion=5.13.4
|
||||||
|
Period=0
|
||||||
|
LastCheck=000000000000F03F
|
||||||
|
HaveResults=0
|
||||||
|
ShownResults=0
|
||||||
|
BetaVersions=2
|
||||||
|
ShowOnStartup=1
|
||||||
|
AuthenticationEmail=
|
||||||
|
ConnectionType=1
|
||||||
|
ProxyHost=
|
||||||
|
ProxyPort=8080
|
||||||
|
ForVersion=0
|
||||||
|
Version=0
|
||||||
|
Message=
|
||||||
|
Critical=0
|
||||||
|
Release=
|
||||||
|
Disabled=0
|
||||||
|
Url=
|
||||||
|
UrlButton=
|
||||||
|
NewsUrl=
|
||||||
|
NewsWidth=0
|
||||||
|
NewsHeight=0
|
||||||
|
DownloadUrl=
|
||||||
|
DownloadSize=0
|
||||||
|
DownloadSha256=
|
||||||
|
AuthenticationError=
|
||||||
|
OpenGettingStarted=0
|
||||||
|
DownloadingUrl=
|
||||||
|
TipsWidth=0
|
||||||
|
TipsHeight=0
|
||||||
|
TipsUrl=
|
||||||
|
Tips=
|
||||||
|
TipsIntervalDays=7
|
||||||
|
TipsIntervalRuns=5
|
||||||
|
ConsoleVersion=
|
||||||
|
|
||||||
|
[Configuration\Interface]
|
||||||
|
RandomSeedFile=%25APPDATA%25%5Cwinscp.rnd
|
||||||
|
PuttyRegistryStorageKey=Software%5CSimonTatham%5CPuTTY
|
||||||
|
ConfirmOverwriting=1
|
||||||
|
ConfirmResume=1
|
||||||
|
AutoReadDirectoryAfterOp=1
|
||||||
|
SessionReopenAuto=5000
|
||||||
|
SessionReopenBackground=2000
|
||||||
|
SessionReopenTimeout=0
|
||||||
|
SessionReopenAutoStall=60000
|
||||||
|
TunnelLocalPortNumberLow=50000
|
||||||
|
TunnelLocalPortNumberHigh=50099
|
||||||
|
CacheDirectoryChangesMaxSize=100
|
||||||
|
ShowFtpWelcomeMessage=0
|
||||||
|
ExternalIpAddress=
|
||||||
|
LocalPortNumberMin=0
|
||||||
|
LocalPortNumberMax=0
|
||||||
|
TryFtpWhenSshFails=1
|
||||||
|
ParallelDurationThreshold=10
|
||||||
|
MimeTypes=
|
||||||
|
DontReloadMoreThanSessions=1000
|
||||||
|
ScriptProgressFileNameLimit=25
|
||||||
|
KeyVersion=0
|
||||||
|
CollectUsage=0
|
||||||
|
CertificateStorage=
|
||||||
|
ExperimentalFeatures=0
|
||||||
|
ContinueOnError=0
|
||||||
|
ConfirmCommandSession=1
|
||||||
|
SynchronizeParams=66
|
||||||
|
SynchronizeOptions=5
|
||||||
|
SynchronizeModeAuto=-1
|
||||||
|
SynchronizeMode=0
|
||||||
|
MaxWatchDirectories=500
|
||||||
|
QueueTransfersLimit=2
|
||||||
|
QueueBootstrap=0
|
||||||
|
QueueKeepDoneItems=1
|
||||||
|
QueueKeepDoneItemsFor=15
|
||||||
|
QueueAutoPopup=1
|
||||||
|
QueueRememberPassword=1
|
||||||
|
PuttySession=WinSCP%20temporary%20session
|
||||||
|
PuttyPath=%25ProgramFiles%25%5CPuTTY%5Cputty.exe
|
||||||
|
PuttyPassword=0
|
||||||
|
TelnetForFtpInPutty=1
|
||||||
|
IgnoreCancelBeforeFinish=DFBC9A785634023F
|
||||||
|
BeepOnFinish=0
|
||||||
|
BeepOnFinishAfter=176CC1166CC1363F
|
||||||
|
BeepSound=SystemDefault
|
||||||
|
KeepUpToDateChangeDelay=500
|
||||||
|
ChecksumAlg=sha1
|
||||||
|
SessionReopenAutoIdle=9000
|
||||||
|
Interface=0
|
||||||
|
ConfirmExitOnCompletion=1
|
||||||
|
SynchronizeSummary=1
|
||||||
|
SessionColors=
|
||||||
|
FontColors=
|
||||||
|
CopyShortCutHintShown=0
|
||||||
|
HttpForWebDAV=0
|
||||||
|
DefaultFixedWidthFontName=
|
||||||
|
DefaultFixedWidthFontSize=0
|
||||||
|
CopyOnDoubleClick=2
|
||||||
|
CopyOnDoubleClickConfirmation=0
|
||||||
|
DDDisableMove=0
|
||||||
|
DDTransferConfirmation2=2
|
||||||
|
DDTemporaryDirectory=
|
||||||
|
DDDrives=
|
||||||
|
DDWarnLackOfTempSpace=1
|
||||||
|
DDWarnLackOfTempSpaceRatio=9A9999999999F13F
|
||||||
|
DeleteToRecycleBin=1
|
||||||
|
DimmHiddenFiles=1
|
||||||
|
RenameWholeName=0
|
||||||
|
SelectDirectories=0
|
||||||
|
SelectMask=*.*
|
||||||
|
ShowHiddenFiles=0
|
||||||
|
FormatSizeBytes=1
|
||||||
|
PanelSearch=0
|
||||||
|
ShowInaccesibleDirectories=1
|
||||||
|
ConfirmTransferring=1
|
||||||
|
ConfirmDeleting=1
|
||||||
|
ConfirmRecycling=1
|
||||||
|
ConfirmClosingSession=1
|
||||||
|
AutoStartSession=
|
||||||
|
UseLocationProfiles=0
|
||||||
|
UseSharedBookmarks=0
|
||||||
|
LocaleSafe=0
|
||||||
|
DDFakeFile=1
|
||||||
|
DDExtTimeout=1000
|
||||||
|
DefaultDirIsHome=1
|
||||||
|
TemporaryDirectoryAppendSession=0
|
||||||
|
TemporaryDirectoryAppendPath=1
|
||||||
|
TemporaryDirectoryDeterministic=0
|
||||||
|
TemporaryDirectoryCleanup=1
|
||||||
|
ConfirmTemporaryDirectoryCleanup=1
|
||||||
|
PreservePanelState=1
|
||||||
|
DarkTheme=2
|
||||||
|
LastStoredSession=
|
||||||
|
AutoSaveWorkspace=0
|
||||||
|
AutoSaveWorkspacePasswords=0
|
||||||
|
AutoWorkspace=
|
||||||
|
PathInCaption=0
|
||||||
|
SessionTabNameFormat=2
|
||||||
|
MinimizeToTray=0
|
||||||
|
BalloonNotifications=1
|
||||||
|
NotificationsTimeout=10
|
||||||
|
NotificationsStickTime=2
|
||||||
|
CopyParamAutoSelectNotice=1
|
||||||
|
LockToolbars=0
|
||||||
|
SelectiveToolbarText=1
|
||||||
|
AutoOpenInPutty=0
|
||||||
|
RefreshRemotePanel=0
|
||||||
|
RefreshRemotePanelInterval=176CC1166CC1463F
|
||||||
|
PanelFontName=
|
||||||
|
PanelFontSize=0
|
||||||
|
PanelFontStyle=0
|
||||||
|
PanelFontCharset=1
|
||||||
|
NaturalOrderNumericalSorting=1
|
||||||
|
FullRowSelect=0
|
||||||
|
OfferedEditorAutoConfig=1
|
||||||
|
LastMonitor=0
|
||||||
|
VersionHistory=521070000,stable
|
||||||
|
EnableQueueByDefault=1
|
||||||
|
OpenedStoredSessionFolders=
|
||||||
|
AutoImportedFromPuttyOrFilezilla=0
|
||||||
|
GenerateUrlComponents=-1
|
||||||
|
GenerateUrlCodeTarget=0
|
||||||
|
GenerateUrlScriptFormat=0
|
||||||
|
GenerateUrlAssemblyLanguage=0
|
||||||
|
ExternalSessionInExistingInstance=1
|
||||||
|
ShowLoginWhenNoSession=1
|
||||||
|
KeepOpenWhenNoSession=1
|
||||||
|
LocalIconsByExt=0
|
||||||
|
FlashTaskbar=1
|
||||||
|
MaxSessions=100
|
||||||
|
BidiModeOverride=0
|
||||||
|
FlipChildrenOverride=0
|
||||||
|
ShowTips=1
|
||||||
|
TipsSeen=
|
||||||
|
TipsShown=AEAE1DB794F7E540
|
||||||
|
FileColors=
|
||||||
|
RunsSinceLastTip=7
|
||||||
|
HonorDrivePolicy=1
|
||||||
|
UseABDrives=1
|
||||||
|
LastMachineInstallations=0
|
||||||
|
ExtensionsDeleted=
|
||||||
|
ExtensionsOrder=
|
||||||
|
ExtensionsShortCuts=
|
||||||
|
TimeoutShellOperations=1
|
||||||
|
TimeoutShellIconRetrieval=0
|
||||||
|
UseIconUpdateThread=1
|
||||||
|
AllowWindowPrint=0
|
||||||
|
StoreTransition=1
|
||||||
|
FirstRun=2023-03-03
|
||||||
|
|
||||||
|
[Configuration\Logging]
|
||||||
|
Logging=0
|
||||||
|
LogFileName=%25TEMP%25%5C!S.log
|
||||||
|
LogFileAppend=1
|
||||||
|
LogSensitive=0
|
||||||
|
LogMaxSize=0
|
||||||
|
LogMaxCount=0
|
||||||
|
LogProtocol=0
|
||||||
|
LogActions=0
|
||||||
|
ActionsLogFileName=%25TEMP%25%5C!S.xml
|
||||||
|
|
||||||
|
[Configuration\Interface\CopyParam]
|
||||||
|
AddXToDirectories=1
|
||||||
|
Masks=*.*html;%20*.htm;%20*.txt;%20*.php;%20*.php3;%20*.cgi;%20*.c;%20*.cpp;%20*.h;%20*.pas;%20*.bas;%20*.tex;%20*.pl;%20*.js;%20.htaccess;%20*.xtml;%20*.css;%20*.cfg;%20*.ini;%20*.sh;%20*.xml
|
||||||
|
FileNameCase=0
|
||||||
|
PreserveReadOnly=0
|
||||||
|
PreserveTime=1
|
||||||
|
PreserveTimeDirs=0
|
||||||
|
PreserveRights=0
|
||||||
|
IgnorePermErrors=0
|
||||||
|
Text=rw-r--r--
|
||||||
|
TransferMode=0
|
||||||
|
ResumeSupport=1
|
||||||
|
ResumeThreshold=102400
|
||||||
|
ReplaceInvalidChars=1
|
||||||
|
LocalInvalidChars=/%5C:*%3F"<>|
|
||||||
|
CalculateSize=1
|
||||||
|
IncludeFileMask=
|
||||||
|
ClearArchive=0
|
||||||
|
RemoveCtrlZ=0
|
||||||
|
RemoveBOM=0
|
||||||
|
CPSLimit=0
|
||||||
|
NewerOnly=0
|
||||||
|
EncryptNewFiles=1
|
||||||
|
ExcludeHiddenFiles=0
|
||||||
|
ExcludeEmptyDirectories=0
|
||||||
|
Queue=0
|
||||||
|
QueueNoConfirmation=1
|
||||||
|
QueueParallel=1
|
||||||
|
CopyParamList=-1
|
||||||
|
|
||||||
|
[Configuration\Interface\NewDirectory2]
|
||||||
|
Valid=00
|
||||||
|
|
||||||
|
[Configuration\Interface\SynchronizeChecklist]
|
||||||
|
WindowParams=0;-1;-1;1090;700;0;96
|
||||||
|
ListParams=1;1|150,1;100,1;80,1;130,1;25,1;100,1;80,1;130,1;@96|0;1;2;3;4;5;6;7
|
||||||
|
|
||||||
|
[Configuration\Interface\FindFile]
|
||||||
|
WindowParams=646,481,96
|
||||||
|
ListParams=1;1|125,1;181,1;80,1;122,1;@96|0;1;2;3|/1
|
||||||
|
|
||||||
|
[Configuration\Interface\ConsoleWin]
|
||||||
|
WindowSize=570,430,96
|
||||||
|
|
||||||
|
[Configuration\Interface\LoginDialog]
|
||||||
|
WindowSize=640,430,96
|
||||||
|
SiteSearch=1
|
||||||
|
|
||||||
|
[Configuration\Interface\Editor]
|
||||||
|
FontName2=Consolas
|
||||||
|
FontSize=11
|
||||||
|
FontStyle=0
|
||||||
|
FontCharset=1
|
||||||
|
FontColor=0
|
||||||
|
BackgroundColor=0
|
||||||
|
WordWrap=0
|
||||||
|
FindText=
|
||||||
|
ReplaceText=
|
||||||
|
FindMatchCase=0
|
||||||
|
FindWholeWord=0
|
||||||
|
FindDown=1
|
||||||
|
TabSize=8
|
||||||
|
MaxEditors=500
|
||||||
|
EarlyClose=2
|
||||||
|
SDIShellEditor=0
|
||||||
|
WindowParams=730;382;1820;1082;0;96
|
||||||
|
Encoding=0
|
||||||
|
WarnOnEncodingFallback=1
|
||||||
|
WarnOrLargeFileSize=1
|
||||||
|
|
||||||
|
[Configuration\Interface\QueueView]
|
||||||
|
Height=140
|
||||||
|
HeightPixelsPerInch=96
|
||||||
|
Layout=70,250,250,80,80,80,100,;96
|
||||||
|
Show=1
|
||||||
|
LastHideShow=1
|
||||||
|
ToolBar=1
|
||||||
|
Label=1
|
||||||
|
FileList=0
|
||||||
|
FileListHeight=90
|
||||||
|
FileListHeightPixelsPerInch=96
|
||||||
|
|
||||||
|
[Configuration\Interface\Explorer]
|
||||||
|
ToolbarsLayout2=Queue=1::0+-1,Menu=1:TopDock:0+0,Buttons=1:TopDock:2+0,Selection=0:TopDock:3+0,Session=0:TopDock:6+0,Preferences=1:TopDock:4+0,Sort=0:TopDock:5+0,Address=1:TopDock:1+0,Updates=1:TopDock:4+416,Transfer=1:TopDock:4+194,CustomCommands=0:TopDock:7+0,PixelsPerInch=96
|
||||||
|
ToolbarsButtons=
|
||||||
|
DirViewParams=0;1;0|150,1;70,1;150,1;79,1;62,1;55,0;20,0;150,0;125,0;@96|6;7;8;0;1;2;3;4;5
|
||||||
|
LastLocalTargetDirectory=C:%5CUsers%5Czilin%5CDocuments
|
||||||
|
SessionsTabs=1
|
||||||
|
StatusBar=1
|
||||||
|
WindowParams=-1;-1;960;720;0;96
|
||||||
|
ViewStyle=0
|
||||||
|
ShowFullAddress=1
|
||||||
|
DriveView=1
|
||||||
|
DriveViewWidth=180
|
||||||
|
DriveViewWidthPixelsPerInch=96
|
||||||
|
|
||||||
|
[Configuration\Interface\Commander]
|
||||||
|
ToolbarsLayout2=Queue=1::0+-1,Menu=1:TopDock:0+0,Preferences=1:TopDock:1+228,Session=0:TopDock:1+602,Sort=0:TopDock:2+0,Commands=1:TopDock:1+0,Updates=1:TopDock:1+619,Transfer=1:TopDock:1+364,CustomCommands=0:TopDock:3+0,RemoteHistory=1:RemoteTopDock:0+172,RemoteNavigation=1:RemoteTopDock:0+252,RemotePath=1:RemoteTopDock:0+0,RemoteFile=1:RemoteTopDock:1+0,RemoteSelection=1:RemoteTopDock:1+345,LocalHistory=1:LocalTopDock:0+207,LocalNavigation=1:LocalTopDock:0+287,LocalPath=1:LocalTopDock:0+0,LocalFile=1:LocalTopDock:1+0,LocalSelection=1:LocalTopDock:1+329,Toolbar2=0:BottomDock:1+0,CommandLine=0:BottomDock:0+0,PixelsPerInch=96
|
||||||
|
ToolbarsButtons=Reconnect=ReconnectSession:0
|
||||||
|
CurrentPanel=0
|
||||||
|
LocalPanelWidth=000000000000E03F
|
||||||
|
SwappedPanels=0
|
||||||
|
SessionsTabs=1
|
||||||
|
StatusBar=1
|
||||||
|
WindowParams=-426;807;664;1507;0;96
|
||||||
|
ExplorerStyleSelection=2
|
||||||
|
PreserveLocalDirectory=0
|
||||||
|
CompareByTime=1
|
||||||
|
CompareBySize=0
|
||||||
|
TreeOnLeft=0
|
||||||
|
ExplorerKeyboardShortcuts=0
|
||||||
|
SystemContextMenu=0
|
||||||
|
|
||||||
|
[Configuration\Interface\Commander\LocalPanel]
|
||||||
|
DirViewParams=0;1|150,1;70,1;120,1;150,1;55,0;55,0;@96|5;4;0;1;2;3
|
||||||
|
StatusBar=1
|
||||||
|
DriveView=1
|
||||||
|
DriveViewHeight=100
|
||||||
|
DriveViewHeightPixelsPerInch=96
|
||||||
|
DriveViewWidth=100
|
||||||
|
DriveViewWidthPixelsPerInch=96
|
||||||
|
LastPath=E:
|
||||||
|
|
||||||
|
[Configuration\Interface\Commander\RemotePanel]
|
||||||
|
DirViewParams=0;1|150,1;70,1;150,1;79,1;62,1;55,0;20,0;150,0;125,0;@96|6;7;8;5;0;1;2;3;4
|
||||||
|
StatusBar=1
|
||||||
|
DriveView=0
|
||||||
|
DriveViewHeight=100
|
||||||
|
DriveViewHeightPixelsPerInch=96
|
||||||
|
DriveViewWidth=100
|
||||||
|
DriveViewWidthPixelsPerInch=96
|
||||||
|
LastPath=
|
||||||
|
|
||||||
|
[Configuration\Security]
|
||||||
|
UseMasterPassword=0
|
||||||
|
MasterPasswordVerifier=
|
||||||
|
|
||||||
|
[Configuration\Interface\Editor\0]
|
||||||
|
FileMask=*.*
|
||||||
|
Editor=0
|
||||||
|
ExternalEditor=
|
||||||
|
ExternalEditorText=1
|
||||||
|
SDIExternalEditor=1
|
||||||
|
DetectMDIExternalEditor=0
|
||||||
|
|
||||||
|
[Configuration\Interface\Editor\1]
|
||||||
|
FileMask=*.*
|
||||||
|
Editor=1
|
||||||
|
ExternalEditor=notepad.exe
|
||||||
|
ExternalEditorText=1
|
||||||
|
SDIExternalEditor=1
|
||||||
|
DetectMDIExternalEditor=0
|
||||||
|
|
||||||
|
[Sessions\S193@192.168.1.195]
|
||||||
|
HostName=192.168.1.195
|
||||||
|
PortNumber=2126
|
||||||
|
UserName=S195
|
||||||
|
FSProtocol=5
|
||||||
|
Password=A35C4B5C0F6D65696D656E726D6A64726D726D65696D6E6F68696A0B837B8A347411861AC18E0FEC8FB0B574DE4AB61072E0
|
||||||
|
Ftps=3
|
||||||
|
LocalDirectory=E:%5C
|
||||||
|
RemoteDirectory=/
|
||||||
|
|
||||||
|
[FtpsCertificates]
|
||||||
|
192.168.1.195:2125=58:f4:a3:38:79:83:49:24:1d:8a:e1:53:d7:91:fd:52:f3:31:ba:34:e4:bb:75:53:61:8d:97:cd:42:34:52:24;12
|
||||||
|
192.168.1.195:2126=58:f4:a3:38:79:83:49:24:1d:8a:e1:53:d7:91:fd:52:f3:31:ba:34:e4:bb:75:53:61:8d:97:cd:42:34:52:24;12
|
||||||
|
|
||||||
|
[Configuration\LastFingerprints]
|
||||||
|
192.168.1.195:2125:tls=58:f4:a3:38:79:83:49:24:1d:8a:e1:53:d7:91:fd:52:f3:31:ba:34:e4:bb:75:53:61:8d:97:cd:42:34:52:24
|
||||||
|
192.168.1.195:2126:tls=58:f4:a3:38:79:83:49:24:1d:8a:e1:53:d7:91:fd:52:f3:31:ba:34:e4:bb:75:53:61:8d:97:cd:42:34:52:24
|
||||||
|
|
||||||
|
|
2
Bin/Debug/SuperDesign/x64/versions.txt
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
Scintilla 5.4.1
|
||||||
|
Lexilla 5.3.0
|
2
Bin/Debug/SuperDesign/x86/versions.txt
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
Scintilla 5.4.1
|
||||||
|
Lexilla 5.3.0
|
BIN
Bin/Debug/SuperDesign/开发辅助.rar
Normal file
22
Bin/Debug/SuperDesign/新建文档.css
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
body {
|
||||||
|
background: url("images/bg.jpg?v20200831") repeat
|
||||||
|
}
|
||||||
|
body header {
|
||||||
|
background: url("images/bg-title.png?v20200831") no - repeat center;
|
||||||
|
background - size: 1920px auto
|
||||||
|
}
|
||||||
|
body header.container {
|
||||||
|
height: 100px; - webkit - box - sizing: border - box;
|
||||||
|
box - sizing: border - box
|
||||||
|
}
|
||||||
|
body header div.title - box.title - blog a {
|
||||||
|
color: #333}body header div.title-box .title-blog a:hover{color:# 666
|
||||||
|
}
|
||||||
|
body header div.title - box.description {
|
||||||
|
color: #666}aside div.aside-box h3.aside-title{color:# 3d3d3d;
|
||||||
|
background - color: #f5f5f5;
|
||||||
|
background - size: 300px 38px;
|
||||||
|
padding: 0 16px;
|
||||||
|
height : 38px;
|
||||||
|
line - height: 38px
|
||||||
|
}
|
18
CHANGELOG.md
|
@ -1,5 +1,21 @@
|
||||||
### 2023-02-21更新
|
### 2024-12-20 星期五更新
|
||||||
------
|
------
|
||||||
|
#### SuperDesign V3.0.2412.2001
|
||||||
|
- *.[新增]新增程序更新日志设置和自动发布功能。
|
||||||
|
- *.[修复]修复Post数据格式不正确时双击文本框会导致软件闪退的BUG。
|
||||||
|
|
||||||
|
### 2024-02-22更新
|
||||||
|
-------
|
||||||
|
#### RySmartEditor V3.0.2402.2201
|
||||||
|
- *.[修复]修复文件查找功能,双击找到的内容,定位内容时可能被滚动条遮挡的问题。
|
||||||
|
- *.[修复]修复文件查找功能,已找到列表高亮显示不正确的BUG。
|
||||||
|
- *.[修复]点开查找功能,有时不能搜索当前目录的BUG。
|
||||||
|
- *.[修复]修复查找文件时,使用内置的文件类型不能搜索的BUG。
|
||||||
|
#### SuperDesign V3.0.2402.2201
|
||||||
|
- *.[新增]全新的Json编辑器,支持在网页抓取工具中编辑Json的值。
|
||||||
|
|
||||||
|
### 2023-02-21更新
|
||||||
|
-------
|
||||||
#### SuperDesign V3.0.2302.2101
|
#### SuperDesign V3.0.2302.2101
|
||||||
- *.[新增]全新文本编辑器,支持高亮、FTP查看和编辑、目录浏览,历史版本等众多功能。
|
- *.[新增]全新文本编辑器,支持高亮、FTP查看和编辑、目录浏览,历史版本等众多功能。
|
||||||
|
|
||||||
|
|
224
Source/.log
Normal file
|
@ -0,0 +1,224 @@
|
||||||
|
#
|
||||||
|
# There is insufficient memory for the Java Runtime Environment to continue.
|
||||||
|
# Native memory allocation (mmap) failed to map 536870912 bytes for G1 virtual space
|
||||||
|
# Possible reasons:
|
||||||
|
# The system is out of physical RAM or swap space
|
||||||
|
# The process is running with CompressedOops enabled, and the Java Heap may be blocking the growth of the native heap
|
||||||
|
# Possible solutions:
|
||||||
|
# Reduce memory load on the system
|
||||||
|
# Increase physical memory or swap space
|
||||||
|
# Check if swap backing store is full
|
||||||
|
# Decrease Java heap size (-Xmx/-Xms)
|
||||||
|
# Decrease number of Java threads
|
||||||
|
# Decrease Java thread stack sizes (-Xss)
|
||||||
|
# Set larger code cache with -XX:ReservedCodeCacheSize=
|
||||||
|
# JVM is running with Zero Based Compressed Oops mode in which the Java heap is
|
||||||
|
# placed in the first 32GB address space. The Java Heap base address is the
|
||||||
|
# maximum limit for the native heap growth. Please use -XX:HeapBaseMinAddress
|
||||||
|
# to set the Java Heap base and to place the Java Heap above 32GB virtual address.
|
||||||
|
# This output file may be truncated or incomplete.
|
||||||
|
#
|
||||||
|
# Out of Memory Error (os_windows.cpp:3617), pid=42876, tid=52332
|
||||||
|
#
|
||||||
|
# JRE version: (17.0.8.1+1) (build )
|
||||||
|
# Java VM: OpenJDK 64-Bit Server VM (17.0.8.1+1-LTS, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64)
|
||||||
|
# No core dump will be written. Minidumps are not enabled by default on client versions of Windows
|
||||||
|
#
|
||||||
|
|
||||||
|
--------------- S U M M A R Y ------------
|
||||||
|
|
||||||
|
Command Line:
|
||||||
|
|
||||||
|
Host: Intel(R) Core(TM) i7-10700F CPU @ 2.90GHz, 16 cores, 31G, Windows 11 , 64 bit Build 22621 (10.0.22621.3958)
|
||||||
|
Time: Fri Sep 6 16:43:48 2024 Windows 11 , 64 bit Build 22621 (10.0.22621.3958) elapsed time: 0.159681 seconds (0d 0h 0m 0s)
|
||||||
|
|
||||||
|
--------------- T H R E A D ---------------
|
||||||
|
|
||||||
|
Current thread (0x000001c96629bbd0): JavaThread "Unknown thread" [_thread_in_vm, id=52332, stack(0x000000a988100000,0x000000a988200000)]
|
||||||
|
|
||||||
|
Stack: [0x000000a988100000,0x000000a988200000]
|
||||||
|
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
|
||||||
|
V [jvm.dll+0x67bf3a]
|
||||||
|
V [jvm.dll+0x83a024]
|
||||||
|
V [jvm.dll+0x83b7ce]
|
||||||
|
V [jvm.dll+0x83be33]
|
||||||
|
V [jvm.dll+0x24785f]
|
||||||
|
V [jvm.dll+0x678cb9]
|
||||||
|
V [jvm.dll+0x66d54a]
|
||||||
|
V [jvm.dll+0x308feb]
|
||||||
|
V [jvm.dll+0x310496]
|
||||||
|
V [jvm.dll+0x36019e]
|
||||||
|
V [jvm.dll+0x3603cf]
|
||||||
|
V [jvm.dll+0x2dff38]
|
||||||
|
V [jvm.dll+0x2e0ea4]
|
||||||
|
V [jvm.dll+0x80bca1]
|
||||||
|
V [jvm.dll+0x36df61]
|
||||||
|
V [jvm.dll+0x7eafac]
|
||||||
|
V [jvm.dll+0x3f0c8f]
|
||||||
|
V [jvm.dll+0x3f28a1]
|
||||||
|
C [jli.dll+0x528f]
|
||||||
|
C [ucrtbase.dll+0x29333]
|
||||||
|
C [KERNEL32.DLL+0x1257d]
|
||||||
|
C [ntdll.dll+0x5af28]
|
||||||
|
|
||||||
|
|
||||||
|
--------------- P R O C E S S ---------------
|
||||||
|
|
||||||
|
Threads class SMR info:
|
||||||
|
_java_thread_list=0x00007fff25743058, length=0, elements={
|
||||||
|
}
|
||||||
|
|
||||||
|
Java Threads: ( => current thread )
|
||||||
|
|
||||||
|
Other Threads:
|
||||||
|
0x000001c966348c10 GCTaskThread "GC Thread#0" [stack: 0x000000a988200000,0x000000a988300000] [id=52740]
|
||||||
|
0x000001c97f5fc780 ConcurrentGCThread "G1 Main Marker" [stack: 0x000000a988300000,0x000000a988400000] [id=13960]
|
||||||
|
0x000001c96634dd70 ConcurrentGCThread "G1 Conc#0" [stack: 0x000000a988400000,0x000000a988500000] [id=52328]
|
||||||
|
|
||||||
|
[error occurred during error reporting (printing all threads), id 0xc0000005, EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007fff24f00927]
|
||||||
|
|
||||||
|
VM state: not at safepoint (not fully initialized)
|
||||||
|
|
||||||
|
VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event])
|
||||||
|
[0x000001c966297310] Heap_lock - owner thread: 0x000001c96629bbd0
|
||||||
|
|
||||||
|
Heap address: 0x0000000602000000, size: 8160 MB, Compressed Oops mode: Zero based, Oop shift amount: 3
|
||||||
|
|
||||||
|
CDS archive(s) mapped at: [0x0000000000000000-0x0000000000000000-0x0000000000000000), size 0, SharedBaseAddress: 0x0000000800000000, ArchiveRelocationMode: 1.
|
||||||
|
Narrow klass base: 0x0000000000000000, Narrow klass shift: 0, Narrow klass range: 0x0
|
||||||
|
|
||||||
|
GC Precious Log:
|
||||||
|
<Empty>
|
||||||
|
|
||||||
|
Heap:
|
||||||
|
garbage-first heap total 0K, used 0K [0x0000000602000000, 0x0000000800000000)
|
||||||
|
region size 4096K, 0 young (0K), 0 survivors (0K)
|
||||||
|
|
||||||
|
[error occurred during error reporting (printing heap information), id 0xc0000005, EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007fff252e5fc9]
|
||||||
|
|
||||||
|
GC Heap History (0 events):
|
||||||
|
No events
|
||||||
|
|
||||||
|
Dll operation events (1 events):
|
||||||
|
Event: 0.112 Loaded shared library D:\Android\openjdk\jdk-17.0.8.101-hotspot\bin\java.dll
|
||||||
|
|
||||||
|
Deoptimization events (0 events):
|
||||||
|
No events
|
||||||
|
|
||||||
|
Classes unloaded (0 events):
|
||||||
|
No events
|
||||||
|
|
||||||
|
Classes redefined (0 events):
|
||||||
|
No events
|
||||||
|
|
||||||
|
Internal exceptions (0 events):
|
||||||
|
No events
|
||||||
|
|
||||||
|
VM Operations (0 events):
|
||||||
|
No events
|
||||||
|
|
||||||
|
Events (0 events):
|
||||||
|
No events
|
||||||
|
|
||||||
|
|
||||||
|
Dynamic libraries:
|
||||||
|
0x00007ff7a7e60000 - 0x00007ff7a7e6e000 D:\Android\openjdk\jdk-17.0.8.101-hotspot\bin\java.exe
|
||||||
|
0x00007ff8b9bd0000 - 0x00007ff8b9de7000 C:\Windows\SYSTEM32\ntdll.dll
|
||||||
|
0x00007ff8b7960000 - 0x00007ff8b7a24000 C:\Windows\System32\KERNEL32.DLL
|
||||||
|
0x00007ff8b7520000 - 0x00007ff8b78cd000 C:\Windows\System32\KERNELBASE.dll
|
||||||
|
0x00007ff8b7210000 - 0x00007ff8b7321000 C:\Windows\System32\ucrtbase.dll
|
||||||
|
0x00007ff86fc20000 - 0x00007ff86fc3b000 D:\Android\openjdk\jdk-17.0.8.101-hotspot\bin\VCRUNTIME140.dll
|
||||||
|
0x00007ff86d490000 - 0x00007ff86d4a7000 D:\Android\openjdk\jdk-17.0.8.101-hotspot\bin\jli.dll
|
||||||
|
0x00007ff8b9830000 - 0x00007ff8b99de000 C:\Windows\System32\USER32.dll
|
||||||
|
0x00007ff8b78d0000 - 0x00007ff8b78f6000 C:\Windows\System32\win32u.dll
|
||||||
|
0x00007ff8a4950000 - 0x00007ff8a4be3000 C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.22621.3672_none_2713b9d173822955\COMCTL32.dll
|
||||||
|
0x00007ff8b9310000 - 0x00007ff8b9339000 C:\Windows\System32\GDI32.dll
|
||||||
|
0x00007ff8b99e0000 - 0x00007ff8b9a87000 C:\Windows\System32\msvcrt.dll
|
||||||
|
0x00007ff8b73d0000 - 0x00007ff8b74e9000 C:\Windows\System32\gdi32full.dll
|
||||||
|
0x00007ff8b7330000 - 0x00007ff8b73ca000 C:\Windows\System32\msvcp_win.dll
|
||||||
|
0x00007ff8b7eb0000 - 0x00007ff8b7ee1000 C:\Windows\System32\IMM32.DLL
|
||||||
|
0x00007ff86d480000 - 0x00007ff86d48c000 D:\Android\openjdk\jdk-17.0.8.101-hotspot\bin\vcruntime140_1.dll
|
||||||
|
0x00007fffde290000 - 0x00007fffde31d000 D:\Android\openjdk\jdk-17.0.8.101-hotspot\bin\msvcp140.dll
|
||||||
|
0x00007fff24c10000 - 0x00007fff25875000 D:\Android\openjdk\jdk-17.0.8.101-hotspot\bin\server\jvm.dll
|
||||||
|
0x00007ff8b7b50000 - 0x00007ff8b7c02000 C:\Windows\System32\ADVAPI32.dll
|
||||||
|
0x00007ff8b90a0000 - 0x00007ff8b9149000 C:\Windows\System32\sechost.dll
|
||||||
|
0x00007ff8b74f0000 - 0x00007ff8b7518000 C:\Windows\System32\bcrypt.dll
|
||||||
|
0x00007ff8b83e0000 - 0x00007ff8b84f4000 C:\Windows\System32\RPCRT4.dll
|
||||||
|
0x00007ff8b6c10000 - 0x00007ff8b6c5d000 C:\Windows\SYSTEM32\POWRPROF.dll
|
||||||
|
0x00007ff8970b0000 - 0x00007ff8970b9000 C:\Windows\SYSTEM32\WSOCK32.dll
|
||||||
|
0x00007ff8a3190000 - 0x00007ff8a31c4000 C:\Windows\SYSTEM32\WINMM.dll
|
||||||
|
0x00007ff8b8fd0000 - 0x00007ff8b9041000 C:\Windows\System32\WS2_32.dll
|
||||||
|
0x00007ff8b1e70000 - 0x00007ff8b1e7a000 C:\Windows\SYSTEM32\VERSION.dll
|
||||||
|
0x00007ff8b6bf0000 - 0x00007ff8b6c03000 C:\Windows\SYSTEM32\UMPDC.dll
|
||||||
|
0x00007ff8b5f40000 - 0x00007ff8b5f58000 C:\Windows\SYSTEM32\kernel.appcore.dll
|
||||||
|
0x00007ff81c320000 - 0x00007ff81c32a000 D:\Android\openjdk\jdk-17.0.8.101-hotspot\bin\jimage.dll
|
||||||
|
0x00007ff8b4750000 - 0x00007ff8b4982000 C:\Windows\SYSTEM32\DBGHELP.DLL
|
||||||
|
0x00007ff8b9340000 - 0x00007ff8b96ce000 C:\Windows\System32\combase.dll
|
||||||
|
0x00007ff8b7dd0000 - 0x00007ff8b7ea7000 C:\Windows\System32\OLEAUT32.dll
|
||||||
|
0x00007ff8a3290000 - 0x00007ff8a32c2000 C:\Windows\SYSTEM32\dbgcore.DLL
|
||||||
|
0x00007ff8b6f60000 - 0x00007ff8b6fdb000 C:\Windows\System32\bcryptPrimitives.dll
|
||||||
|
0x00007fffde260000 - 0x00007fffde285000 D:\Android\openjdk\jdk-17.0.8.101-hotspot\bin\java.dll
|
||||||
|
|
||||||
|
dbghelp: loaded successfully - version: 4.0.5 - missing functions: none
|
||||||
|
symbol engine: initialized successfully - sym options: 0x614 - pdb path: .;D:\Android\openjdk\jdk-17.0.8.101-hotspot\bin;C:\Windows\SYSTEM32;C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.22621.3672_none_2713b9d173822955;D:\Android\openjdk\jdk-17.0.8.101-hotspot\bin\server
|
||||||
|
|
||||||
|
VM Arguments:
|
||||||
|
java_command: <unknown>
|
||||||
|
java_class_path (initial): <not set>
|
||||||
|
Launcher Type: SUN_STANDARD
|
||||||
|
|
||||||
|
[Global flags]
|
||||||
|
intx CICompilerCount = 12 {product} {ergonomic}
|
||||||
|
uint ConcGCThreads = 3 {product} {ergonomic}
|
||||||
|
uint G1ConcRefinementThreads = 13 {product} {ergonomic}
|
||||||
|
size_t G1HeapRegionSize = 4194304 {product} {ergonomic}
|
||||||
|
uintx GCDrainStackTargetSize = 64 {product} {ergonomic}
|
||||||
|
size_t InitialHeapSize = 536870912 {product} {ergonomic}
|
||||||
|
size_t MarkStackSize = 4194304 {product} {ergonomic}
|
||||||
|
size_t MaxHeapSize = 8556380160 {product} {ergonomic}
|
||||||
|
size_t MinHeapDeltaBytes = 4194304 {product} {ergonomic}
|
||||||
|
size_t MinHeapSize = 8388608 {product} {ergonomic}
|
||||||
|
uintx NonNMethodCodeHeapSize = 7602480 {pd product} {ergonomic}
|
||||||
|
uintx NonProfiledCodeHeapSize = 122027880 {pd product} {ergonomic}
|
||||||
|
uintx ProfiledCodeHeapSize = 122027880 {pd product} {ergonomic}
|
||||||
|
uintx ReservedCodeCacheSize = 251658240 {pd product} {ergonomic}
|
||||||
|
bool SegmentedCodeCache = true {product} {ergonomic}
|
||||||
|
size_t SoftMaxHeapSize = 8556380160 {manageable} {ergonomic}
|
||||||
|
bool UseCompressedClassPointers = true {product lp64_product} {ergonomic}
|
||||||
|
bool UseCompressedOops = true {product lp64_product} {ergonomic}
|
||||||
|
bool UseG1GC = true {product} {ergonomic}
|
||||||
|
bool UseLargePagesIndividualAllocation = false {pd product} {ergonomic}
|
||||||
|
|
||||||
|
Logging:
|
||||||
|
Log output configuration:
|
||||||
|
#0: stdout all=warning uptime,level,tags
|
||||||
|
#1: stderr all=off uptime,level,tags
|
||||||
|
|
||||||
|
Environment Variables:
|
||||||
|
PATH=D:\Android\openjdk\jdk-17.0.8.101-hotspot\bin;E:\ZenDas\ZenTao\bin\sliksvn;E:\ZenDas\ZenTao\zbox\nssm\win64;D:\Program Files (x86)\VMware\VMware Workstation\bin\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\;D:\Program Files (x86)\AOMEI\AOMEI Backupper\7.3.2;d:\Program Files (x86)\AOMEI\AOMEI Backupper\7.3.3;C:\Program Files\dotnet\;C:\Program Files\Git\cmd;D:\Program Files\TortoiseGit\bin;C:\Users\Àî·ïöÎ\AppData\Local\Microsoft\WindowsApps;C:\Users\Àî·ïöÎ\.dotnet\tools;C:\Users\Àî·ïöÎ\AppData\Local\Microsoft\WindowsApps;C:\Users\Àî·ïöÎ\.dotnet\tools
|
||||||
|
USERNAME=Àî·ïöÎ
|
||||||
|
OS=Windows_NT
|
||||||
|
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 165 Stepping 5, GenuineIntel
|
||||||
|
TMP=C:\Users\Àî·ïöÎ\AppData\Local\Temp
|
||||||
|
TEMP=C:\Users\Àî·ïöÎ\AppData\Local\Temp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
--------------- S Y S T E M ---------------
|
||||||
|
|
||||||
|
OS:
|
||||||
|
Windows 11 , 64 bit Build 22621 (10.0.22621.3958)
|
||||||
|
OS uptime: 1 days 1:48 hours
|
||||||
|
|
||||||
|
CPU: total 16 (initial active 16) (8 cores per cpu, 2 threads per core) family 6 model 165 stepping 5 microcode 0xf0, cx8, cmov, fxsr, ht, mmx, 3dnowpref, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, lzcnt, tsc, tscinvbit, avx, avx2, aes, erms, clmul, bmi1, bmi2, adx, fma, vzeroupper, clflush, clflushopt
|
||||||
|
Processor Information for all 16 processors :
|
||||||
|
Max Mhz: 2904, Current Mhz: 2904, Mhz Limit: 2904
|
||||||
|
|
||||||
|
Memory: 4k page, system-wide physical 32636M (11215M free)
|
||||||
|
TotalPageFile size 32636M (AvailPageFile size 327M)
|
||||||
|
current process WorkingSet (physical memory assigned to process): 11M, peak: 11M
|
||||||
|
current process commit charge ("private bytes"): 71M, peak: 583M
|
||||||
|
|
||||||
|
vm_info: OpenJDK 64-Bit Server VM (17.0.8.1+1-LTS) for windows-amd64 JRE (17.0.8.1+1-LTS), built on Aug 23 2023 17:38:52 by "MicrosoftCorporation" with MS VC++ 16.10 / 16.11 (VS2019)
|
||||||
|
|
||||||
|
END.
|
759
Source/.vs/开发辅助工具/v17/DocumentLayout.backup.json
Normal file
|
@ -0,0 +1,759 @@
|
||||||
|
{
|
||||||
|
"Version": 1,
|
||||||
|
"WorkspaceRootPath": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\",
|
||||||
|
"Documents": [
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmproject.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmproject.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmproject.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmproject.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\ryproject.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\ryproject.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|e:\\my datas\\my codes\\\u6BD5\u65B9\u9879\u76EE\\csharp\\superdesign\\source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\frmmessagebox.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\frmmessagebox.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|e:\\my datas\\my codes\\\u6BD5\u65B9\u9879\u76EE\\csharp\\superdesign\\source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\frmsetting.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\frmsetting.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|e:\\my datas\\my codes\\\u6BD5\u65B9\u9879\u76EE\\csharp\\superdesign\\source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\itrycn_info.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\itrycn_info.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|e:\\my datas\\my codes\\\u6BD5\u65B9\u9879\u76EE\\csharp\\superdesign\\source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmwebget.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmwebget.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\frmaddvar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\frmaddvar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\frmsetting.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\frmsetting.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|e:\\my datas\\my codes\\\u6BD5\u65B9\u9879\u76EE\\csharp\\superdesign\\source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\rysmarteditor\\smarteditor\\frmfilebrowser_new.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|solutionrelative:rysmarteditor\\smarteditor\\frmfilebrowser_new.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\rysmarteditor\\smarteditor\\frmfilebrowser_new.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|solutionrelative:rysmarteditor\\smarteditor\\frmfilebrowser_new.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\rysmarteditor\\smarteditor\\frmmaineditor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|solutionrelative:rysmarteditor\\smarteditor\\frmmaineditor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\rysmarteditor\\smarteditor\\frmmaineditor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|solutionrelative:rysmarteditor\\smarteditor\\frmmaineditor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\rysmarteditor\\smarteditor\\frmfilebrowser.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|solutionrelative:rysmarteditor\\smarteditor\\frmfilebrowser.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\rysmarteditor\\controls\\highlight\\findreplace\\findreplacedialog.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|solutionrelative:rysmarteditor\\controls\\highlight\\findreplace\\findreplacedialog.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\ftp\\frmuploadfilestoftp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\ftp\\frmuploadfilestoftp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\ftp\\frmuploadupdateziptoftp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\ftp\\frmuploadupdateziptoftp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\ftp\\frmuploadupdateziptoftp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\ftp\\frmuploadupdateziptoftp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\rysmarteditor\\controls\\highlight\\findreplace\\findreplace.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|solutionrelative:rysmarteditor\\controls\\highlight\\findreplace\\findreplace.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\ftp\\frmuploadfilestoftp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\ftp\\frmuploadfilestoftp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\rysmarteditor\\controls\\highlight\\findreplace\\findreplacedialog.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|solutionrelative:rysmarteditor\\controls\\highlight\\findreplace\\findreplacedialog.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\rysmarteditor\\controls\\highlight\\findreplace\\findreplace.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|solutionrelative:rysmarteditor\\controls\\highlight\\findreplace\\findreplace.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\rysmarteditor\\controls\\highlight\\findreplace\\incrementalsearcher.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|solutionrelative:rysmarteditor\\controls\\highlight\\findreplace\\incrementalsearcher.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\rysmarteditor\\controls\\highlight\\findreplace\\incrementalsearcher.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|solutionrelative:rysmarteditor\\controls\\highlight\\findreplace\\incrementalsearcher.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\rysmarteditor\\controls\\highlight\\findreplace\\frmfinding.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|solutionrelative:rysmarteditor\\controls\\highlight\\findreplace\\frmfinding.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmwebget.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmwebget.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\\u777F\u5143\u516C\u7528\u63A7\u4EF6\u7EC4\\Source\\RaUI\\UI\\Controls\\rySearch.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\frmaddtools.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\frmaddtools.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\controls\\frmtitle.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\controls\\frmtitle.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmxpath.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmxpath.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmxpath.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmxpath.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmwebget.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmwebget.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\rysmarteditor\\ftp\\frmuploadprog.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|solutionrelative:rysmarteditor\\ftp\\frmuploadprog.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmcolor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmcolor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmproject.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmproject.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmstrtocode.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmstrtocode.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmstrtocode.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmstrtocode.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\rysmarteditor\\ftp\\frmdownprog.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|solutionrelative:rysmarteditor\\ftp\\frmdownprog.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\rysmarteditor\\ftp\\frmdownprog.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|solutionrelative:rysmarteditor\\ftp\\frmdownprog.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmcreateproject.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmcreateproject.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"DocumentGroupContainers": [
|
||||||
|
{
|
||||||
|
"Orientation": 0,
|
||||||
|
"VerticalTabListWidth": 256,
|
||||||
|
"DocumentGroups": [
|
||||||
|
{
|
||||||
|
"DockedWidth": 200,
|
||||||
|
"SelectedChildIndex": 11,
|
||||||
|
"Children": [
|
||||||
|
{
|
||||||
|
"$type": "Bookmark",
|
||||||
|
"Name": "ST:0:0:{e506b91c-c606-466a-90a9-123d1d1e12b3}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Bookmark",
|
||||||
|
"Name": "ST:128:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Bookmark",
|
||||||
|
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Bookmark",
|
||||||
|
"Name": "ST:129:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Bookmark",
|
||||||
|
"Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 1,
|
||||||
|
"Title": "FrmProject.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmProject.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmProject.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmProject.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmProject.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-18T08:39:48.367Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 13,
|
||||||
|
"Title": "FrmMainEditor.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\SmartEditor\\FrmMainEditor.cs",
|
||||||
|
"RelativeDocumentMoniker": "RySmartEditor\\SmartEditor\\FrmMainEditor.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\SmartEditor\\FrmMainEditor.cs",
|
||||||
|
"RelativeToolTip": "RySmartEditor\\SmartEditor\\FrmMainEditor.cs",
|
||||||
|
"ViewState": "AgIAANMDAAAAAAAAAAAewNwDAAAkAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-06T03:09:11.981Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 10,
|
||||||
|
"Title": "Form1.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Form1.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Form1.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Form1.cs",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Form1.cs",
|
||||||
|
"ViewState": "AgIAABQAAAAAAAAAAADwvx4AAAAZAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-29T01:58:44.796Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 28,
|
||||||
|
"Title": "rySearch.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\\u777F\u5143\u516C\u7528\u63A7\u4EF6\u7EC4\\Source\\RaUI\\UI\\Controls\\rySearch.cs",
|
||||||
|
"RelativeDocumentMoniker": "..\\..\\\u777F\u5143\u516C\u7528\u63A7\u4EF6\u7EC4\\Source\\RaUI\\UI\\Controls\\rySearch.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\\u777F\u5143\u516C\u7528\u63A7\u4EF6\u7EC4\\Source\\RaUI\\UI\\Controls\\rySearch.cs",
|
||||||
|
"RelativeToolTip": "..\\..\\\u777F\u5143\u516C\u7528\u63A7\u4EF6\u7EC4\\Source\\RaUI\\UI\\Controls\\rySearch.cs",
|
||||||
|
"ViewState": "AgIAAC4BAAAAAAAAAAASwDQBAAAgAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-02T06:35:53.178Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 2,
|
||||||
|
"Title": "RyProject.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\RyProject.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\RyProject.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\RyProject.cs",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\RyProject.cs",
|
||||||
|
"ViewState": "AgIAAH4BAAAAAAAAAAA3wH4BAAAbAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-29T07:22:20.456Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 3,
|
||||||
|
"Title": "FrmMessageBox.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\FrmMessageBox.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\FrmMessageBox.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\FrmMessageBox.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\FrmMessageBox.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-19T05:59:33.938Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 0,
|
||||||
|
"Title": "FrmProject.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmProject.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmProject.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmProject.cs",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmProject.cs",
|
||||||
|
"ViewState": "AgIAAAQEAAAAAAAAAAAAAAcEAAAVAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-18T08:40:03.384Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 9,
|
||||||
|
"Title": "FrmSetting.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmSetting.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmSetting.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmSetting.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmSetting.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-02T06:01:09.902Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 4,
|
||||||
|
"Title": "FrmSetting.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmSetting.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmSetting.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmSetting.cs",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmSetting.cs",
|
||||||
|
"ViewState": "AgIAAJEBAAAAAAAAAAAiwKQBAAAxAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-19T05:54:23.789Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 6,
|
||||||
|
"Title": "Form1.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Form1.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Form1.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Form1.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Form1.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-19T05:59:35.501Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 5,
|
||||||
|
"Title": "Itrycn_Info.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\Itrycn_Info.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\Itrycn_Info.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\Itrycn_Info.cs",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\Itrycn_Info.cs",
|
||||||
|
"ViewState": "AgIAAKoAAAAAAAAAAADwvwEBAAAaAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-19T06:14:56.613Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 8,
|
||||||
|
"Title": "FrmAddVar.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmAddVar.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmAddVar.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmAddVar.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmAddVar.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-02T06:01:07.644Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 20,
|
||||||
|
"Title": "FindReplace.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplace.cs",
|
||||||
|
"RelativeDocumentMoniker": "RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplace.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplace.cs",
|
||||||
|
"RelativeToolTip": "RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplace.cs",
|
||||||
|
"ViewState": "AgIAAAABAAAAAAAAAAAvwA4BAAADAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-04T05:06:05.327Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 7,
|
||||||
|
"Title": "FrmWebGet.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmWebGet.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmWebGet.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmWebGet.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmWebGet.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-02T00:55:51.8Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 15,
|
||||||
|
"Title": "FrmFileBrowser.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\SmartEditor\\FrmFileBrowser.cs",
|
||||||
|
"RelativeDocumentMoniker": "RySmartEditor\\SmartEditor\\FrmFileBrowser.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\SmartEditor\\FrmFileBrowser.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "RySmartEditor\\SmartEditor\\FrmFileBrowser.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-06T03:04:25.539Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 12,
|
||||||
|
"Title": "FrmFileBrowser_New.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\SmartEditor\\FrmFileBrowser_New.cs",
|
||||||
|
"RelativeDocumentMoniker": "RySmartEditor\\SmartEditor\\FrmFileBrowser_New.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\SmartEditor\\FrmFileBrowser_New.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "RySmartEditor\\SmartEditor\\FrmFileBrowser_New.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-06T03:04:29.698Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 11,
|
||||||
|
"Title": "FrmFileBrowser_New.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\SmartEditor\\FrmFileBrowser_New.cs",
|
||||||
|
"RelativeDocumentMoniker": "RySmartEditor\\SmartEditor\\FrmFileBrowser_New.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\SmartEditor\\FrmFileBrowser_New.cs",
|
||||||
|
"RelativeToolTip": "RySmartEditor\\SmartEditor\\FrmFileBrowser_New.cs",
|
||||||
|
"ViewState": "AgIAANoEAAAAAAAAAAAMwOwEAAAlAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-06T03:05:42.087Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 14,
|
||||||
|
"Title": "FrmMainEditor.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\SmartEditor\\FrmMainEditor.cs",
|
||||||
|
"RelativeDocumentMoniker": "RySmartEditor\\SmartEditor\\FrmMainEditor.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\SmartEditor\\FrmMainEditor.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "RySmartEditor\\SmartEditor\\FrmMainEditor.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-06T03:09:06.018Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 16,
|
||||||
|
"Title": "FindReplaceDialog.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplaceDialog.cs",
|
||||||
|
"RelativeDocumentMoniker": "RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplaceDialog.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplaceDialog.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplaceDialog.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-04T05:05:14.666Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 17,
|
||||||
|
"Title": "FrmUploadFilesToFtp.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadFilesToFtp.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadFilesToFtp.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadFilesToFtp.cs",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadFilesToFtp.cs",
|
||||||
|
"ViewState": "AgIAAC8AAAAAAAAAAAAvwDIAAAA3AAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-04T07:16:50.608Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 19,
|
||||||
|
"Title": "FrmUploadUpdateZipToFtp.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadUpdateZipToFtp.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadUpdateZipToFtp.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadUpdateZipToFtp.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadUpdateZipToFtp.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-18T08:36:42.083Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 18,
|
||||||
|
"Title": "FrmUploadUpdateZipToFtp.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadUpdateZipToFtp.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadUpdateZipToFtp.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadUpdateZipToFtp.cs",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadUpdateZipToFtp.cs",
|
||||||
|
"ViewState": "AgIAABwAAAAAAAAAAAAAADMAAAARAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-18T08:46:17.661Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 21,
|
||||||
|
"Title": "FrmUploadFilesToFtp.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadFilesToFtp.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadFilesToFtp.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadFilesToFtp.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadFilesToFtp.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-04T07:15:54.077Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 22,
|
||||||
|
"Title": "FindReplaceDialog.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplaceDialog.cs",
|
||||||
|
"RelativeDocumentMoniker": "RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplaceDialog.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplaceDialog.cs",
|
||||||
|
"RelativeToolTip": "RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplaceDialog.cs",
|
||||||
|
"ViewState": "AgIAACcBAAAAAAAAAAAvwDYBAAA0AAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-04T05:05:18.629Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 24,
|
||||||
|
"Title": "IncrementalSearcher.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\Controls\\Highlight\\FindReplace\\IncrementalSearcher.cs",
|
||||||
|
"RelativeDocumentMoniker": "RySmartEditor\\Controls\\Highlight\\FindReplace\\IncrementalSearcher.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\Controls\\Highlight\\FindReplace\\IncrementalSearcher.cs",
|
||||||
|
"RelativeToolTip": "RySmartEditor\\Controls\\Highlight\\FindReplace\\IncrementalSearcher.cs",
|
||||||
|
"ViewState": "AgIAABQBAAAAAAAAAAAUwBgBAAAXAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-04T06:17:07.791Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 25,
|
||||||
|
"Title": "IncrementalSearcher.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\Controls\\Highlight\\FindReplace\\IncrementalSearcher.cs",
|
||||||
|
"RelativeDocumentMoniker": "RySmartEditor\\Controls\\Highlight\\FindReplace\\IncrementalSearcher.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\Controls\\Highlight\\FindReplace\\IncrementalSearcher.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "RySmartEditor\\Controls\\Highlight\\FindReplace\\IncrementalSearcher.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-04T06:29:07.674Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 23,
|
||||||
|
"Title": "FindReplace.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplace.cs",
|
||||||
|
"RelativeDocumentMoniker": "RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplace.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplace.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplace.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-04T06:29:19.516Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 26,
|
||||||
|
"Title": "FrmFinding.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\Controls\\Highlight\\FindReplace\\FrmFinding.cs",
|
||||||
|
"RelativeDocumentMoniker": "RySmartEditor\\Controls\\Highlight\\FindReplace\\FrmFinding.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\Controls\\Highlight\\FindReplace\\FrmFinding.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "RySmartEditor\\Controls\\Highlight\\FindReplace\\FrmFinding.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-04T05:05:06.98Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 27,
|
||||||
|
"Title": "FrmWebGet.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmWebGet.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmWebGet.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmWebGet.cs",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmWebGet.cs",
|
||||||
|
"ViewState": "AgIAAOAGAAAAAAAAAAAAAOYGAAALAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-02T00:56:03.069Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 29,
|
||||||
|
"Title": "FrmAddTools.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmAddTools.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmAddTools.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmAddTools.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmAddTools.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-02T06:01:06.132Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 30,
|
||||||
|
"Title": "FrmTitle.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Controls\\FrmTitle.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Controls\\FrmTitle.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Controls\\FrmTitle.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Controls\\FrmTitle.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-02T06:01:12.827Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 32,
|
||||||
|
"Title": "FrmXpath.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmXpath.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmXpath.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmXpath.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmXpath.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-07T02:22:33.189Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 31,
|
||||||
|
"Title": "FrmXpath.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmXpath.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmXpath.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmXpath.cs",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmXpath.cs",
|
||||||
|
"ViewState": "AgIAAFcAAAAAAAAAAAA0wF4AAAAyAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-07T02:22:45.295Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 34,
|
||||||
|
"Title": "FrmUploadProg.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\FTP\\FrmUploadProg.cs",
|
||||||
|
"RelativeDocumentMoniker": "RySmartEditor\\FTP\\FrmUploadProg.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\FTP\\FrmUploadProg.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "RySmartEditor\\FTP\\FrmUploadProg.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-25T02:28:44.883Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 33,
|
||||||
|
"Title": "FrmWebGet.Designer.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmWebGet.Designer.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmWebGet.Designer.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmWebGet.Designer.cs",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmWebGet.Designer.cs",
|
||||||
|
"ViewState": "AgIAADYEAAAAAAAAAAAAADoEAAA2AAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-02T05:42:51.85Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 35,
|
||||||
|
"Title": "FrmColor.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmColor.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmColor.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmColor.cs",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmColor.cs",
|
||||||
|
"ViewState": "AgIAAB0AAAAAAAAAAADgvyoAAAA4AAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-29T03:09:44.273Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 40,
|
||||||
|
"Title": "FrmDownProg.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\FTP\\FrmDownProg.cs",
|
||||||
|
"RelativeDocumentMoniker": "RySmartEditor\\FTP\\FrmDownProg.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\FTP\\FrmDownProg.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "RySmartEditor\\FTP\\FrmDownProg.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-25T02:25:03.014Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 39,
|
||||||
|
"Title": "FrmDownProg.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\FTP\\FrmDownProg.cs",
|
||||||
|
"RelativeDocumentMoniker": "RySmartEditor\\FTP\\FrmDownProg.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\FTP\\FrmDownProg.cs",
|
||||||
|
"RelativeToolTip": "RySmartEditor\\FTP\\FrmDownProg.cs",
|
||||||
|
"ViewState": "AgIAABYAAAAAAAAAAIA2wB8AAAAlAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-25T02:25:08.234Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 38,
|
||||||
|
"Title": "FrmStrToCode.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmStrToCode.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmStrToCode.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmStrToCode.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmStrToCode.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-28T08:27:04.422Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 36,
|
||||||
|
"Title": "FrmProject.Designer.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmProject.Designer.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmProject.Designer.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmProject.Designer.cs",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmProject.Designer.cs",
|
||||||
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-29T00:31:55.969Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 37,
|
||||||
|
"Title": "FrmStrToCode.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmStrToCode.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmStrToCode.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmStrToCode.cs",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmStrToCode.cs",
|
||||||
|
"ViewState": "AgIAAAwAAAAAAAAAAAAiwBsAAACSAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-28T08:27:11.198Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 41,
|
||||||
|
"Title": "FrmCreateProject.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmCreateProject.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmCreateProject.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmCreateProject.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmCreateProject.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-18T08:36:28.98Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DockedWidth": 200,
|
||||||
|
"SelectedChildIndex": -1,
|
||||||
|
"Children": [
|
||||||
|
{
|
||||||
|
"$type": "Bookmark",
|
||||||
|
"Name": "ST:0:0:{ca8cc5c7-0231-406a-95cd-aa5ed6ac0190}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Bookmark",
|
||||||
|
"Name": "ST:0:0:{d78612c7-9962-4b83-95d9-268046dad23a}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Bookmark",
|
||||||
|
"Name": "ST:0:0:{34e76e81-ee4a-11d0-ae2e-00a0c90fffc3}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DockedWidth": 200,
|
||||||
|
"SelectedChildIndex": -1,
|
||||||
|
"Children": [
|
||||||
|
{
|
||||||
|
"$type": "Bookmark",
|
||||||
|
"Name": "ST:0:0:{57d563b6-44a5-47df-85be-f4199ad6b651}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
759
Source/.vs/开发辅助工具/v17/DocumentLayout.json
Normal file
|
@ -0,0 +1,759 @@
|
||||||
|
{
|
||||||
|
"Version": 1,
|
||||||
|
"WorkspaceRootPath": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\",
|
||||||
|
"Documents": [
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmproject.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmproject.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmproject.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmproject.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\ryproject.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\ryproject.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|e:\\my datas\\my codes\\\u6BD5\u65B9\u9879\u76EE\\csharp\\superdesign\\source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\frmmessagebox.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\frmmessagebox.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|e:\\my datas\\my codes\\\u6BD5\u65B9\u9879\u76EE\\csharp\\superdesign\\source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\frmsetting.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\frmsetting.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|e:\\my datas\\my codes\\\u6BD5\u65B9\u9879\u76EE\\csharp\\superdesign\\source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\itrycn_info.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\itrycn_info.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|e:\\my datas\\my codes\\\u6BD5\u65B9\u9879\u76EE\\csharp\\superdesign\\source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmwebget.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmwebget.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\frmaddvar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\frmaddvar.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\frmsetting.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\frmsetting.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|e:\\my datas\\my codes\\\u6BD5\u65B9\u9879\u76EE\\csharp\\superdesign\\source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\rysmarteditor\\smarteditor\\frmfilebrowser_new.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|solutionrelative:rysmarteditor\\smarteditor\\frmfilebrowser_new.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\rysmarteditor\\smarteditor\\frmfilebrowser_new.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|solutionrelative:rysmarteditor\\smarteditor\\frmfilebrowser_new.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\rysmarteditor\\smarteditor\\frmmaineditor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|solutionrelative:rysmarteditor\\smarteditor\\frmmaineditor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\rysmarteditor\\smarteditor\\frmmaineditor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|solutionrelative:rysmarteditor\\smarteditor\\frmmaineditor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\rysmarteditor\\smarteditor\\frmfilebrowser.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|solutionrelative:rysmarteditor\\smarteditor\\frmfilebrowser.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\rysmarteditor\\controls\\highlight\\findreplace\\findreplacedialog.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|solutionrelative:rysmarteditor\\controls\\highlight\\findreplace\\findreplacedialog.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\ftp\\frmuploadfilestoftp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\ftp\\frmuploadfilestoftp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\ftp\\frmuploadupdateziptoftp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\ftp\\frmuploadupdateziptoftp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\ftp\\frmuploadupdateziptoftp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\ftp\\frmuploadupdateziptoftp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\rysmarteditor\\controls\\highlight\\findreplace\\findreplace.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|solutionrelative:rysmarteditor\\controls\\highlight\\findreplace\\findreplace.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\ftp\\frmuploadfilestoftp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\ftp\\frmuploadfilestoftp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\rysmarteditor\\controls\\highlight\\findreplace\\findreplacedialog.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|solutionrelative:rysmarteditor\\controls\\highlight\\findreplace\\findreplacedialog.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\rysmarteditor\\controls\\highlight\\findreplace\\findreplace.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|solutionrelative:rysmarteditor\\controls\\highlight\\findreplace\\findreplace.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\rysmarteditor\\controls\\highlight\\findreplace\\incrementalsearcher.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|solutionrelative:rysmarteditor\\controls\\highlight\\findreplace\\incrementalsearcher.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\rysmarteditor\\controls\\highlight\\findreplace\\incrementalsearcher.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|solutionrelative:rysmarteditor\\controls\\highlight\\findreplace\\incrementalsearcher.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\rysmarteditor\\controls\\highlight\\findreplace\\frmfinding.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|solutionrelative:rysmarteditor\\controls\\highlight\\findreplace\\frmfinding.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmwebget.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmwebget.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\\u777F\u5143\u516C\u7528\u63A7\u4EF6\u7EC4\\Source\\RaUI\\UI\\Controls\\rySearch.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\frmaddtools.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\manager\\frmaddtools.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\controls\\frmtitle.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\controls\\frmtitle.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmxpath.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmxpath.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmxpath.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmxpath.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmwebget.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmwebget.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\rysmarteditor\\ftp\\frmuploadprog.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|solutionrelative:rysmarteditor\\ftp\\frmuploadprog.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmcolor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmcolor.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmproject.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmproject.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmstrtocode.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmstrtocode.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmstrtocode.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmstrtocode.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\rysmarteditor\\ftp\\frmdownprog.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||||
|
"RelativeMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|solutionrelative:rysmarteditor\\ftp\\frmdownprog.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\rysmarteditor\\ftp\\frmdownprog.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{90AFB93F-4147-473B-9A25-50F5B21FA2C6}|RySmartEditor\\RySmartEditor.csproj|solutionrelative:rysmarteditor\\ftp\\frmdownprog.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"AbsoluteMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmcreateproject.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||||
|
"RelativeMoniker": "D:0:0:{8177CFD1-097C-4D4E-919D-8B519289496E}|\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj|solutionrelative:\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\tools\\frmcreateproject.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"DocumentGroupContainers": [
|
||||||
|
{
|
||||||
|
"Orientation": 0,
|
||||||
|
"VerticalTabListWidth": 256,
|
||||||
|
"DocumentGroups": [
|
||||||
|
{
|
||||||
|
"DockedWidth": 200,
|
||||||
|
"SelectedChildIndex": 11,
|
||||||
|
"Children": [
|
||||||
|
{
|
||||||
|
"$type": "Bookmark",
|
||||||
|
"Name": "ST:0:0:{e506b91c-c606-466a-90a9-123d1d1e12b3}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Bookmark",
|
||||||
|
"Name": "ST:128:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Bookmark",
|
||||||
|
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Bookmark",
|
||||||
|
"Name": "ST:129:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Bookmark",
|
||||||
|
"Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 1,
|
||||||
|
"Title": "FrmProject.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmProject.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmProject.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmProject.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmProject.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-18T08:39:48.367Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 13,
|
||||||
|
"Title": "FrmMainEditor.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\SmartEditor\\FrmMainEditor.cs",
|
||||||
|
"RelativeDocumentMoniker": "RySmartEditor\\SmartEditor\\FrmMainEditor.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\SmartEditor\\FrmMainEditor.cs",
|
||||||
|
"RelativeToolTip": "RySmartEditor\\SmartEditor\\FrmMainEditor.cs",
|
||||||
|
"ViewState": "AgIAANMDAAAAAAAAAAAewNwDAAAkAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-06T03:09:11.981Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 10,
|
||||||
|
"Title": "Form1.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Form1.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Form1.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Form1.cs",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Form1.cs",
|
||||||
|
"ViewState": "AgIAABQAAAAAAAAAAADwvx4AAAAZAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-29T01:58:44.796Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 28,
|
||||||
|
"Title": "rySearch.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\\u777F\u5143\u516C\u7528\u63A7\u4EF6\u7EC4\\Source\\RaUI\\UI\\Controls\\rySearch.cs",
|
||||||
|
"RelativeDocumentMoniker": "..\\..\\\u777F\u5143\u516C\u7528\u63A7\u4EF6\u7EC4\\Source\\RaUI\\UI\\Controls\\rySearch.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\\u777F\u5143\u516C\u7528\u63A7\u4EF6\u7EC4\\Source\\RaUI\\UI\\Controls\\rySearch.cs",
|
||||||
|
"RelativeToolTip": "..\\..\\\u777F\u5143\u516C\u7528\u63A7\u4EF6\u7EC4\\Source\\RaUI\\UI\\Controls\\rySearch.cs",
|
||||||
|
"ViewState": "AgIAAC4BAAAAAAAAAAASwDQBAAAgAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-02T06:35:53.178Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 2,
|
||||||
|
"Title": "RyProject.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\RyProject.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\RyProject.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\RyProject.cs",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\RyProject.cs",
|
||||||
|
"ViewState": "AgIAAH4BAAAAAAAAAAA3wH4BAAAbAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-29T07:22:20.456Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 3,
|
||||||
|
"Title": "FrmMessageBox.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\FrmMessageBox.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\FrmMessageBox.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\FrmMessageBox.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\FrmMessageBox.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-19T05:59:33.938Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 0,
|
||||||
|
"Title": "FrmProject.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmProject.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmProject.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmProject.cs",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmProject.cs",
|
||||||
|
"ViewState": "AgIAAAQEAAAAAAAAAAAAAAgEAAAXAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-18T08:40:03.384Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 9,
|
||||||
|
"Title": "FrmSetting.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmSetting.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmSetting.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmSetting.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmSetting.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-02T06:01:09.902Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 4,
|
||||||
|
"Title": "FrmSetting.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmSetting.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmSetting.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmSetting.cs",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmSetting.cs",
|
||||||
|
"ViewState": "AgIAAJEBAAAAAAAAAAAiwKQBAAAxAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-19T05:54:23.789Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 6,
|
||||||
|
"Title": "Form1.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Form1.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Form1.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Form1.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Form1.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-19T05:59:35.501Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 5,
|
||||||
|
"Title": "Itrycn_Info.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\Itrycn_Info.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\Itrycn_Info.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\Itrycn_Info.cs",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\Itrycn_Info.cs",
|
||||||
|
"ViewState": "AgIAAKoAAAAAAAAAAADwvwEBAAAaAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-19T06:14:56.613Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 8,
|
||||||
|
"Title": "FrmAddVar.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmAddVar.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmAddVar.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmAddVar.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmAddVar.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-02T06:01:07.644Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 20,
|
||||||
|
"Title": "FindReplace.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplace.cs",
|
||||||
|
"RelativeDocumentMoniker": "RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplace.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplace.cs",
|
||||||
|
"RelativeToolTip": "RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplace.cs",
|
||||||
|
"ViewState": "AgIAAAABAAAAAAAAAAAvwA4BAAADAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-04T05:06:05.327Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 7,
|
||||||
|
"Title": "FrmWebGet.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmWebGet.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmWebGet.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmWebGet.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmWebGet.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-02T00:55:51.8Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 15,
|
||||||
|
"Title": "FrmFileBrowser.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\SmartEditor\\FrmFileBrowser.cs",
|
||||||
|
"RelativeDocumentMoniker": "RySmartEditor\\SmartEditor\\FrmFileBrowser.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\SmartEditor\\FrmFileBrowser.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "RySmartEditor\\SmartEditor\\FrmFileBrowser.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-06T03:04:25.539Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 12,
|
||||||
|
"Title": "FrmFileBrowser_New.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\SmartEditor\\FrmFileBrowser_New.cs",
|
||||||
|
"RelativeDocumentMoniker": "RySmartEditor\\SmartEditor\\FrmFileBrowser_New.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\SmartEditor\\FrmFileBrowser_New.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "RySmartEditor\\SmartEditor\\FrmFileBrowser_New.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-06T03:04:29.698Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 11,
|
||||||
|
"Title": "FrmFileBrowser_New.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\SmartEditor\\FrmFileBrowser_New.cs",
|
||||||
|
"RelativeDocumentMoniker": "RySmartEditor\\SmartEditor\\FrmFileBrowser_New.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\SmartEditor\\FrmFileBrowser_New.cs",
|
||||||
|
"RelativeToolTip": "RySmartEditor\\SmartEditor\\FrmFileBrowser_New.cs",
|
||||||
|
"ViewState": "AgIAANoEAAAAAAAAAAAMwOwEAAAlAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-06T03:05:42.087Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 14,
|
||||||
|
"Title": "FrmMainEditor.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\SmartEditor\\FrmMainEditor.cs",
|
||||||
|
"RelativeDocumentMoniker": "RySmartEditor\\SmartEditor\\FrmMainEditor.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\SmartEditor\\FrmMainEditor.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "RySmartEditor\\SmartEditor\\FrmMainEditor.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-06T03:09:06.018Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 16,
|
||||||
|
"Title": "FindReplaceDialog.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplaceDialog.cs",
|
||||||
|
"RelativeDocumentMoniker": "RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplaceDialog.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplaceDialog.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplaceDialog.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-04T05:05:14.666Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 17,
|
||||||
|
"Title": "FrmUploadFilesToFtp.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadFilesToFtp.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadFilesToFtp.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadFilesToFtp.cs",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadFilesToFtp.cs",
|
||||||
|
"ViewState": "AgIAAC8AAAAAAAAAAAAvwDIAAAA3AAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-04T07:16:50.608Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 19,
|
||||||
|
"Title": "FrmUploadUpdateZipToFtp.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadUpdateZipToFtp.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadUpdateZipToFtp.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadUpdateZipToFtp.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadUpdateZipToFtp.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-18T08:36:42.083Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 18,
|
||||||
|
"Title": "FrmUploadUpdateZipToFtp.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadUpdateZipToFtp.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadUpdateZipToFtp.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadUpdateZipToFtp.cs",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadUpdateZipToFtp.cs",
|
||||||
|
"ViewState": "AgIAABwAAAAAAAAAAAAAADMAAAARAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-18T08:46:17.661Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 21,
|
||||||
|
"Title": "FrmUploadFilesToFtp.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadFilesToFtp.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadFilesToFtp.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadFilesToFtp.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FTP\\FrmUploadFilesToFtp.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-04T07:15:54.077Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 22,
|
||||||
|
"Title": "FindReplaceDialog.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplaceDialog.cs",
|
||||||
|
"RelativeDocumentMoniker": "RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplaceDialog.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplaceDialog.cs",
|
||||||
|
"RelativeToolTip": "RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplaceDialog.cs",
|
||||||
|
"ViewState": "AgIAACcBAAAAAAAAAAAvwDYBAAA0AAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-04T05:05:18.629Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 24,
|
||||||
|
"Title": "IncrementalSearcher.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\Controls\\Highlight\\FindReplace\\IncrementalSearcher.cs",
|
||||||
|
"RelativeDocumentMoniker": "RySmartEditor\\Controls\\Highlight\\FindReplace\\IncrementalSearcher.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\Controls\\Highlight\\FindReplace\\IncrementalSearcher.cs",
|
||||||
|
"RelativeToolTip": "RySmartEditor\\Controls\\Highlight\\FindReplace\\IncrementalSearcher.cs",
|
||||||
|
"ViewState": "AgIAABQBAAAAAAAAAAAUwBgBAAAXAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-04T06:17:07.791Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 25,
|
||||||
|
"Title": "IncrementalSearcher.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\Controls\\Highlight\\FindReplace\\IncrementalSearcher.cs",
|
||||||
|
"RelativeDocumentMoniker": "RySmartEditor\\Controls\\Highlight\\FindReplace\\IncrementalSearcher.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\Controls\\Highlight\\FindReplace\\IncrementalSearcher.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "RySmartEditor\\Controls\\Highlight\\FindReplace\\IncrementalSearcher.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-04T06:29:07.674Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 23,
|
||||||
|
"Title": "FindReplace.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplace.cs",
|
||||||
|
"RelativeDocumentMoniker": "RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplace.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplace.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "RySmartEditor\\Controls\\Highlight\\FindReplace\\FindReplace.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-04T06:29:19.516Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 26,
|
||||||
|
"Title": "FrmFinding.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\Controls\\Highlight\\FindReplace\\FrmFinding.cs",
|
||||||
|
"RelativeDocumentMoniker": "RySmartEditor\\Controls\\Highlight\\FindReplace\\FrmFinding.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\Controls\\Highlight\\FindReplace\\FrmFinding.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "RySmartEditor\\Controls\\Highlight\\FindReplace\\FrmFinding.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-04T05:05:06.98Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 27,
|
||||||
|
"Title": "FrmWebGet.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmWebGet.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmWebGet.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmWebGet.cs",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmWebGet.cs",
|
||||||
|
"ViewState": "AgIAAOAGAAAAAAAAAAAAAOYGAAALAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-02T00:56:03.069Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 29,
|
||||||
|
"Title": "FrmAddTools.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmAddTools.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmAddTools.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmAddTools.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Manager\\FrmAddTools.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-02T06:01:06.132Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 30,
|
||||||
|
"Title": "FrmTitle.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Controls\\FrmTitle.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Controls\\FrmTitle.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Controls\\FrmTitle.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Controls\\FrmTitle.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-02T06:01:12.827Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 32,
|
||||||
|
"Title": "FrmXpath.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmXpath.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmXpath.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmXpath.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmXpath.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-07T02:22:33.189Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 31,
|
||||||
|
"Title": "FrmXpath.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmXpath.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmXpath.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmXpath.cs",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmXpath.cs",
|
||||||
|
"ViewState": "AgIAAFcAAAAAAAAAAAA0wF4AAAAyAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-07T02:22:45.295Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 34,
|
||||||
|
"Title": "FrmUploadProg.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\FTP\\FrmUploadProg.cs",
|
||||||
|
"RelativeDocumentMoniker": "RySmartEditor\\FTP\\FrmUploadProg.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\FTP\\FrmUploadProg.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "RySmartEditor\\FTP\\FrmUploadProg.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-25T02:28:44.883Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 33,
|
||||||
|
"Title": "FrmWebGet.Designer.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmWebGet.Designer.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmWebGet.Designer.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmWebGet.Designer.cs",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmWebGet.Designer.cs",
|
||||||
|
"ViewState": "AgIAADYEAAAAAAAAAAAAADoEAAA2AAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-12-02T05:42:51.85Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 35,
|
||||||
|
"Title": "FrmColor.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmColor.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmColor.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmColor.cs",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmColor.cs",
|
||||||
|
"ViewState": "AgIAAB0AAAAAAAAAAADgvyoAAAA4AAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-29T03:09:44.273Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 40,
|
||||||
|
"Title": "FrmDownProg.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\FTP\\FrmDownProg.cs",
|
||||||
|
"RelativeDocumentMoniker": "RySmartEditor\\FTP\\FrmDownProg.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\FTP\\FrmDownProg.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "RySmartEditor\\FTP\\FrmDownProg.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-25T02:25:03.014Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 39,
|
||||||
|
"Title": "FrmDownProg.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\FTP\\FrmDownProg.cs",
|
||||||
|
"RelativeDocumentMoniker": "RySmartEditor\\FTP\\FrmDownProg.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\FTP\\FrmDownProg.cs",
|
||||||
|
"RelativeToolTip": "RySmartEditor\\FTP\\FrmDownProg.cs",
|
||||||
|
"ViewState": "AgIAABYAAAAAAAAAAIA2wB8AAAAlAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-25T02:25:08.234Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 38,
|
||||||
|
"Title": "FrmStrToCode.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmStrToCode.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmStrToCode.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmStrToCode.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmStrToCode.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-28T08:27:04.422Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 36,
|
||||||
|
"Title": "FrmProject.Designer.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmProject.Designer.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmProject.Designer.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmProject.Designer.cs",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmProject.Designer.cs",
|
||||||
|
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-29T00:31:55.969Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 37,
|
||||||
|
"Title": "FrmStrToCode.cs",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmStrToCode.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmStrToCode.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmStrToCode.cs",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmStrToCode.cs",
|
||||||
|
"ViewState": "AgIAAAwAAAAAAAAAAAAiwBsAAACSAAAAAAAAAA==",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-28T08:27:11.198Z",
|
||||||
|
"EditorCaption": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Document",
|
||||||
|
"DocumentIndex": 41,
|
||||||
|
"Title": "FrmCreateProject.cs [\u8BBE\u8BA1]",
|
||||||
|
"DocumentMoniker": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmCreateProject.cs",
|
||||||
|
"RelativeDocumentMoniker": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmCreateProject.cs",
|
||||||
|
"ToolTip": "E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmCreateProject.cs [\u8BBE\u8BA1]",
|
||||||
|
"RelativeToolTip": "\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmCreateProject.cs [\u8BBE\u8BA1]",
|
||||||
|
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||||
|
"WhenOpened": "2024-11-18T08:36:28.98Z",
|
||||||
|
"EditorCaption": " [\u8BBE\u8BA1]"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DockedWidth": 200,
|
||||||
|
"SelectedChildIndex": -1,
|
||||||
|
"Children": [
|
||||||
|
{
|
||||||
|
"$type": "Bookmark",
|
||||||
|
"Name": "ST:0:0:{ca8cc5c7-0231-406a-95cd-aa5ed6ac0190}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Bookmark",
|
||||||
|
"Name": "ST:0:0:{d78612c7-9962-4b83-95d9-268046dad23a}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$type": "Bookmark",
|
||||||
|
"Name": "ST:0:0:{34e76e81-ee4a-11d0-ae2e-00a0c90fffc3}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"DockedWidth": 200,
|
||||||
|
"SelectedChildIndex": -1,
|
||||||
|
"Children": [
|
||||||
|
{
|
||||||
|
"$type": "Bookmark",
|
||||||
|
"Name": "ST:0:0:{57d563b6-44a5-47df-85be-f4199ad6b651}"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
1
Source/.vs/开发辅助工具/v17/ResourceExplorer/settings.json
Normal file
|
@ -0,0 +1 @@
|
||||||
|
{"ShowEmptyProjects":false,"CustomColumnOrderings":{"name":0,"file-path":1,"file-name":2,"neutral-value":3,"neutral-comment":4,"type":5},"ShowValidationErrors":true,"SelectedResourceGroupsByProject":{"E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\SuperDesign.csproj":["E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmProject.resx","E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\\u5F00\u53D1\u8F85\u52A9\u5DE5\u5177\\Tools\\FrmXpath.resx"],"E:\\My Datas\\My Codes\\\u6BD5\u65B9\u9879\u76EE\\CSharp\\SuperDesign\\Source\\RySmartEditor\\RySmartEditor.csproj":[]},"VisibleColumnKeys":["name","neutral-value","neutral-comment"]}
|
BIN
Source/Bin/Debug/Scintilla.NET.dll
Normal file
BIN
Source/Bin/Debug/x64/Lexilla.dll
Normal file
BIN
Source/Bin/Debug/x64/SQLite.Interop.dll
Normal file
BIN
Source/Bin/Debug/x64/Scintilla.dll
Normal file
2
Source/Bin/Debug/x64/version.txt
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
Scintilla: 5.3.6
|
||||||
|
Lexilla: 5.2.6
|
BIN
Source/Bin/Debug/x86/Lexilla.dll
Normal file
BIN
Source/Bin/Debug/x86/SQLite.Interop.dll
Normal file
BIN
Source/Bin/Debug/x86/Scintilla.dll
Normal file
2
Source/Bin/Debug/x86/version.txt
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
Scintilla: 5.3.2
|
||||||
|
Lexilla: 5.2.1
|
2
Source/Bin/Debug/x86/versions.txt
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
Scintilla: 5.3.6
|
||||||
|
Lexilla: 5.2.6
|
62
Source/RySmartEditor/API/Init.cs
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
using 开发辅助工具.Tools.SmartEditor;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace RySmartEditor
|
||||||
|
{
|
||||||
|
public class Init
|
||||||
|
{
|
||||||
|
public static void Show(string[] args)
|
||||||
|
{
|
||||||
|
if (args.Length >= 2)
|
||||||
|
{
|
||||||
|
if (args[0] == "edit")
|
||||||
|
{
|
||||||
|
string ProjectPath = args[1];
|
||||||
|
OpenEditor(ProjectPath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(args.Length == 1)
|
||||||
|
{
|
||||||
|
if (args[0] == "edit" || System.IO.File.Exists(args[0]))
|
||||||
|
{
|
||||||
|
OpenEditor(args[0]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
OpenEditor("edit");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
OpenEditor("edit");
|
||||||
|
//Application.Run(new FrmMainEditor());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
static void OpenEditor(string path)
|
||||||
|
{
|
||||||
|
object mainHandle = QuickMsg.RyMemoryShare.ReadFromMemory(1024, typeof(Int64), "SmartEditor");
|
||||||
|
if (mainHandle != null && (long)mainHandle != 0)
|
||||||
|
{
|
||||||
|
var handle = new IntPtr((long)mainHandle);
|
||||||
|
if (path == "edit")
|
||||||
|
{
|
||||||
|
ryControls.Win32.SendMessage(handle, 17189, 100, 100);//让界面显示
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ryConfig.MsgManager.SendMsg(handle, 1666, path);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Application.Run(new FrmMainEditor(path == "edit" ? "" : path));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
364
Source/RySmartEditor/API/Itrycn_Info.cs
Normal file
|
@ -0,0 +1,364 @@
|
||||||
|
using ryCommon;
|
||||||
|
using ryCommonDb;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
using static ryCommonDb.DataProvider;
|
||||||
|
|
||||||
|
namespace 开发辅助工具.Manager
|
||||||
|
{
|
||||||
|
public class Itrycn_Db
|
||||||
|
{
|
||||||
|
public static bool IsCloseConfirm = true;
|
||||||
|
public static string Sys_SQLConn = "<app>\\SysDb\\Tools.dat|";
|
||||||
|
public static string User_SQLConn = "<app>\\UserDb\\MyDb.dat|";
|
||||||
|
public static string History_SQLConn = "<app>\\UserDb\\history.dat|";
|
||||||
|
public static ryCommonDb.DataProvider.DataProviderType dataType = ryCommonDb.DataProvider.DataProviderType.SQLiteDataProvider;
|
||||||
|
public static IDbInterface CreateDataProvider(DataProviderType dataProviderType)
|
||||||
|
{
|
||||||
|
switch (dataProviderType)
|
||||||
|
{
|
||||||
|
//case DataProviderType.OdbcDataProvider:
|
||||||
|
// return new OdbcDataProvider();
|
||||||
|
//case DataProviderType.OleDbDataProvider:
|
||||||
|
// return new OleDbDataProvider();
|
||||||
|
//case DataProviderType.OracleDataProvider:
|
||||||
|
// return new OracleDataProvider();
|
||||||
|
case DataProviderType.SQLiteDataProvider:
|
||||||
|
return new SQLiteDataProvider();
|
||||||
|
default:
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 判断WinSCP是否在运行
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static bool WinSCP_IsRunning() {
|
||||||
|
var exist = false;
|
||||||
|
try {
|
||||||
|
var proc_list = Process.GetProcessesByName("WinSCP");
|
||||||
|
for (int i = 0; i < proc_list.Length; i++) {
|
||||||
|
var path = proc_list[i].GetPath();
|
||||||
|
if (path.Length > 0) {
|
||||||
|
if (path.IndexOfEx(Application.StartupPath) < 0) {
|
||||||
|
exist = true; break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
|
||||||
|
}
|
||||||
|
if (!exist) {
|
||||||
|
//RyForm.get
|
||||||
|
}
|
||||||
|
return exist;
|
||||||
|
}
|
||||||
|
public static void DeleteFiles(string dir, string filter)
|
||||||
|
{
|
||||||
|
var files = System.IO.Directory.GetFiles(dir, filter);
|
||||||
|
for (int i = 0; i < files.Length; i++)
|
||||||
|
{
|
||||||
|
ryCommon.RyFiles.DeleteFile(files[i]);
|
||||||
|
}
|
||||||
|
ryCommon.RyFiles.DeleteFile(dir + "\\" + filter);
|
||||||
|
var dirs = System.IO.Directory.GetDirectories(dir);
|
||||||
|
for (int i = 0; i < dirs.Length; i++)
|
||||||
|
{
|
||||||
|
DeleteFiles(dirs[i], filter);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public static void CreateSysTable()
|
||||||
|
{
|
||||||
|
IDbInterface db = CreateDataProvider(dataType);
|
||||||
|
if (db.ConnDb(Sys_SQLConn) == 1)
|
||||||
|
{
|
||||||
|
#region 工具表
|
||||||
|
RyQuickSQL mySQL = new RyQuickSQL("Tools");
|
||||||
|
mySQL.AddField("Name", "");
|
||||||
|
mySQL.AddField("Des", "");
|
||||||
|
mySQL.AddField("Keys", "");
|
||||||
|
mySQL.AddField("Addr", "");
|
||||||
|
mySQL.AddField("PY", "");
|
||||||
|
mySQL.AddField("Sort", 0);
|
||||||
|
mySQL.AddField("addTime",DateTime.Now);
|
||||||
|
db.CreateDb(mySQL);
|
||||||
|
#endregion
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 获取设置
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="name"></param>
|
||||||
|
/// <param name="defValue"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static string GetSetting(string name, string defValue)
|
||||||
|
{
|
||||||
|
var result = defValue;
|
||||||
|
IDbInterface db = CreateDataProvider(dataType);
|
||||||
|
if (db.ConnDb(User_SQLConn) == 1)
|
||||||
|
{
|
||||||
|
RyQuickSQL mySQL = new RyQuickSQL("Settings");
|
||||||
|
mySQL.AddField("Name", name);
|
||||||
|
var ds = db.ReadData("select * from Settings where Name=@Name", mySQL);
|
||||||
|
if (ds.HaveData())
|
||||||
|
{
|
||||||
|
result = ds.GetRow(0)["Value"].ToString();
|
||||||
|
}
|
||||||
|
ds.Dispose();
|
||||||
|
}
|
||||||
|
db.Free();
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 设置设置
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="name"></param>
|
||||||
|
/// <param name="defValue"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static int SetSetting(string name, string value)
|
||||||
|
{
|
||||||
|
var result = 0;
|
||||||
|
IDbInterface db = CreateDataProvider(dataType);
|
||||||
|
if (db.ConnDb(User_SQLConn) == 1)
|
||||||
|
{
|
||||||
|
RyQuickSQL mySQL = new RyQuickSQL("Settings");
|
||||||
|
mySQL.AddField("Name", name);
|
||||||
|
mySQL.AddField("Value", value);
|
||||||
|
result= db.ExecuteNonQuery(mySQL.GetUpdateSQL()+ " where Name=@Name", mySQL);
|
||||||
|
if (result==0)
|
||||||
|
{
|
||||||
|
mySQL.AddField("addTime", DateTime.Now);
|
||||||
|
result = db.ExecuteNonQuery(mySQL.GetInsertSQL(), mySQL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
db.Free();
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
public static void CreateDb()
|
||||||
|
{
|
||||||
|
CreateSysTable();
|
||||||
|
CreateUserTable();
|
||||||
|
CreateHistoryTable();
|
||||||
|
}
|
||||||
|
public static void CreateUserTable()
|
||||||
|
{
|
||||||
|
IDbInterface db = CreateDataProvider(dataType);
|
||||||
|
if (db.ConnDb(User_SQLConn) == 1)
|
||||||
|
{
|
||||||
|
#region Url表
|
||||||
|
RyQuickSQL mySQL = new RyQuickSQL("Urls");
|
||||||
|
mySQL.AddField("Name", "");
|
||||||
|
mySQL.AddField("Url", "");
|
||||||
|
mySQL.AddField("Cookie", "");
|
||||||
|
mySQL.AddField("Postdata", "");
|
||||||
|
mySQL.AddField("Method", "");
|
||||||
|
mySQL.AddField("Header", "");
|
||||||
|
mySQL.AddField("Referer", "");
|
||||||
|
mySQL.AddField("ContentType", "");
|
||||||
|
mySQL.AddField("Encoding", "");
|
||||||
|
mySQL.AddField("IsFav", 0);
|
||||||
|
mySQL.AddField("Des", "");
|
||||||
|
mySQL.AddField("ClickCount", 0);//点击次数
|
||||||
|
mySQL.AddField("editTime", DateTime.Now);
|
||||||
|
mySQL.AddField("addTime", DateTime.Now);
|
||||||
|
db.CreateDb(mySQL);
|
||||||
|
#endregion
|
||||||
|
#region 启动表
|
||||||
|
mySQL.Clear();
|
||||||
|
mySQL.TableName = "Starts"; ;
|
||||||
|
mySQL.AddField("Addr", "");
|
||||||
|
mySQL.AddField("Name", "");
|
||||||
|
mySQL.AddField("ClickCount", 0);//点击次数
|
||||||
|
mySQL.AddField("editTime", DateTime.Now);
|
||||||
|
mySQL.AddField("addTime", DateTime.Now);
|
||||||
|
db.CreateDb(mySQL);
|
||||||
|
#endregion
|
||||||
|
#region 变量表
|
||||||
|
mySQL.Clear();
|
||||||
|
mySQL.TableName = "VarInfo"; ;
|
||||||
|
mySQL.AddField("VarName", "");
|
||||||
|
mySQL.AddField("VarValue", "");
|
||||||
|
mySQL.AddField("Des", "");//备注
|
||||||
|
mySQL.AddField("editTime", DateTime.Now);
|
||||||
|
mySQL.AddField("addTime", DateTime.Now);
|
||||||
|
db.CreateDb(mySQL);
|
||||||
|
#endregion
|
||||||
|
#region API表
|
||||||
|
mySQL.Clear();
|
||||||
|
mySQL.TableName = "api";
|
||||||
|
mySQL.AddField("Name", "");
|
||||||
|
mySQL.AddField("Url", "");
|
||||||
|
mySQL.AddField("APIName", "");
|
||||||
|
mySQL.AddField("Postdata", "");
|
||||||
|
mySQL.AddField("desc", "");
|
||||||
|
mySQL.AddField("ClickCount", 0);//点击次数
|
||||||
|
mySQL.AddField("editTime", DateTime.Now);
|
||||||
|
mySQL.AddField("addTime", DateTime.Now);
|
||||||
|
if (db.CreateDb(mySQL) == 1)
|
||||||
|
{
|
||||||
|
db.ExecuteNonQuery("CREATE INDEX index_APIName ON api(APIName); ");
|
||||||
|
db.ExecuteNonQuery("CREATE INDEX index_APIUrl ON api(Url); ");
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
#region FTP表
|
||||||
|
mySQL.Clear();
|
||||||
|
mySQL.TableName = "FTP";
|
||||||
|
mySQL.AddField("name", "");
|
||||||
|
mySQL.AddField("ip", "");
|
||||||
|
mySQL.AddField("port", 0);
|
||||||
|
mySQL.AddField("remoteDir", "");
|
||||||
|
mySQL.AddField("username", "");
|
||||||
|
mySQL.AddField("pwd", "");
|
||||||
|
mySQL.AddField("encrypt", 0);
|
||||||
|
mySQL.AddField("des", "");
|
||||||
|
mySQL.AddField("addTime", DateTime.Now);
|
||||||
|
mySQL.AddField("editTime", DateTime.Now);
|
||||||
|
db.CreateDb(mySQL);
|
||||||
|
#endregion
|
||||||
|
#region Site表
|
||||||
|
mySQL.Clear();
|
||||||
|
mySQL.TableName = "Site";
|
||||||
|
mySQL.AddField("name", "");
|
||||||
|
mySQL.AddField("localPath", "");
|
||||||
|
mySQL.AddField("ftpId", 0);
|
||||||
|
mySQL.AddField("ftpDir", "");
|
||||||
|
mySQL.AddField("addTime", DateTime.Now);
|
||||||
|
mySQL.AddField("editTime", DateTime.Now);
|
||||||
|
db.CreateDb(mySQL);
|
||||||
|
#endregion
|
||||||
|
#region FavGroup表
|
||||||
|
mySQL.Clear();
|
||||||
|
mySQL.TableName = "FavGroup";
|
||||||
|
mySQL.AddField("name", "");
|
||||||
|
mySQL.AddField("addTime", DateTime.Now);
|
||||||
|
mySQL.AddField("editTime", DateTime.Now);
|
||||||
|
db.CreateDb(mySQL);
|
||||||
|
#endregion
|
||||||
|
#region FavFiles表
|
||||||
|
mySQL.Clear();
|
||||||
|
mySQL.TableName = "FavFiles";
|
||||||
|
mySQL.AddField("name", "");
|
||||||
|
mySQL.AddField("FilePath", "");
|
||||||
|
mySQL.AddField("FindText", "");
|
||||||
|
mySQL.AddField("GroupId", 1);
|
||||||
|
mySQL.AddField("addTime", DateTime.Now);
|
||||||
|
mySQL.AddField("editTime", DateTime.Now);
|
||||||
|
db.CreateDb(mySQL);
|
||||||
|
#endregion
|
||||||
|
#region 设置表
|
||||||
|
mySQL.Clear();
|
||||||
|
mySQL.TableName = "Settings";
|
||||||
|
mySQL.AddField("Name", "");
|
||||||
|
mySQL.AddField("Value", "");//值
|
||||||
|
mySQL.AddField("addTime", DateTime.Now);
|
||||||
|
if (db.CreateDb(mySQL) == 1)
|
||||||
|
{
|
||||||
|
db.ExecuteNonQuery("CREATE INDEX index_Name ON Settings(Name); ");
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public static void CreateHistoryTable()
|
||||||
|
{
|
||||||
|
IDbInterface db = CreateDataProvider(dataType);
|
||||||
|
if (db.ConnDb(History_SQLConn) == 1)
|
||||||
|
{
|
||||||
|
#region 标签文件表
|
||||||
|
RyQuickSQL mySQL = new RyQuickSQL("Files");
|
||||||
|
mySQL.AddField("FilePath", "");
|
||||||
|
mySQL.AddField("editTime", DateTime.Now);
|
||||||
|
mySQL.AddField("addTime", DateTime.Now);
|
||||||
|
if (db.CreateDb(mySQL) == 1)
|
||||||
|
{
|
||||||
|
db.ExecuteNonQuery("CREATE INDEX index_FilePath ON Files(FilePath); ");
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
#region 历史记录表
|
||||||
|
mySQL.Clear();
|
||||||
|
mySQL.TableName = "History"; ;
|
||||||
|
mySQL.AddField("fileid", 0);
|
||||||
|
mySQL.AddField("name", "");
|
||||||
|
mySQL.AddField("size", 0L);
|
||||||
|
mySQL.AddField("content", "");
|
||||||
|
mySQL.AddField("addTime", DateTime.Now);
|
||||||
|
db.CreateDb(mySQL);
|
||||||
|
#endregion
|
||||||
|
#region 设置表
|
||||||
|
mySQL.Clear();
|
||||||
|
mySQL.TableName = "Settings";
|
||||||
|
mySQL.AddField("Name", "");
|
||||||
|
mySQL.AddField("Value", "");//值
|
||||||
|
mySQL.AddField("addTime", DateTime.Now);
|
||||||
|
if (db.CreateDb(mySQL) == 1)
|
||||||
|
{
|
||||||
|
db.ExecuteNonQuery("CREATE INDEX index_Name ON Settings(Name); ");
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 添加历史记录
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="path"></param>
|
||||||
|
/// <param name="content"></param>
|
||||||
|
public static void AddHistory(string path, string content)
|
||||||
|
{
|
||||||
|
new Thread(Start).Start();
|
||||||
|
void Start()
|
||||||
|
{
|
||||||
|
IDbInterface db = CreateDataProvider(dataType);
|
||||||
|
if (db.ConnDb(History_SQLConn) == 1)
|
||||||
|
{
|
||||||
|
var isadd = false;
|
||||||
|
RyQuickSQL mySQL = new RyQuickSQL("Files");
|
||||||
|
mySQL.AddField("FilePath", path);
|
||||||
|
mySQL.AddField("editTime", DateTime.Now);
|
||||||
|
if (db.ExecuteNonQuery(mySQL.GetUpdateSQL() + " where FilePath=@FilePath", mySQL) == 0)
|
||||||
|
{
|
||||||
|
mySQL.AddField("addTime", DateTime.Now);
|
||||||
|
db.Insert(mySQL);
|
||||||
|
isadd = true;
|
||||||
|
}
|
||||||
|
var ds = db.ReadData("select * from Files where FilePath=@FilePath", mySQL);
|
||||||
|
if (ds.HaveData())
|
||||||
|
{
|
||||||
|
var fileid = ds.GetFirstRowData()["id"].ToInt();
|
||||||
|
var issame = false;
|
||||||
|
if (!isadd)
|
||||||
|
{
|
||||||
|
var ds_his = db.ReadData("select * from History where fileid=" + fileid + " order by addTime desc limit 1");
|
||||||
|
if (ds_his.HaveData())
|
||||||
|
{
|
||||||
|
if (ds_his.GetFirstRowData()["content"].ToString() == content)
|
||||||
|
{
|
||||||
|
issame = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ds_his.Dispose();
|
||||||
|
}
|
||||||
|
if (!issame)
|
||||||
|
{
|
||||||
|
mySQL.Clear();
|
||||||
|
mySQL.TableName = "History";
|
||||||
|
mySQL.AddField("fileid", fileid);
|
||||||
|
mySQL.AddField("size", content.Length);
|
||||||
|
mySQL.AddField("content", content);
|
||||||
|
mySQL.AddField("addTime", DateTime.Now);
|
||||||
|
db.Insert(mySQL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ds.Dispose();
|
||||||
|
}
|
||||||
|
db.Free();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
1644
Source/RySmartEditor/API/JsBeautifier/Beautifier.cs
Normal file
74
Source/RySmartEditor/API/JsBeautifier/BeautifierFlags.cs
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
#region License
|
||||||
|
// MIT License
|
||||||
|
//
|
||||||
|
// Copyright (c) 2018 Denis Ivanov
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
// of this software and associated documentation files (the "Software"), to deal
|
||||||
|
// in the Software without restriction, including without limitation the rights
|
||||||
|
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
// copies of the Software, and to permit persons to whom the Software is
|
||||||
|
// furnished to do so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in all
|
||||||
|
// copies or substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
// SOFTWARE.
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
namespace Jsbeautifier
|
||||||
|
{
|
||||||
|
using System;
|
||||||
|
|
||||||
|
public class BeautifierFlags
|
||||||
|
{
|
||||||
|
public BeautifierFlags(string mode)
|
||||||
|
{
|
||||||
|
PreviousMode = "BLOCK";
|
||||||
|
Mode = mode;
|
||||||
|
VarLine = false;
|
||||||
|
VarLineTainted = false;
|
||||||
|
VarLineReindented = false;
|
||||||
|
InHtmlComment = false;
|
||||||
|
IfLine = false;
|
||||||
|
ChainExtraIndentation = 0;
|
||||||
|
InCase = false;
|
||||||
|
InCaseStatement = false;
|
||||||
|
CaseBody = false;
|
||||||
|
IndentationLevel = 0;
|
||||||
|
TernaryDepth = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string PreviousMode { get; set; }
|
||||||
|
|
||||||
|
public string Mode { get; set; }
|
||||||
|
|
||||||
|
public bool VarLine { get; set; }
|
||||||
|
|
||||||
|
public bool VarLineTainted { get; set; }
|
||||||
|
|
||||||
|
public bool VarLineReindented { get; set; }
|
||||||
|
|
||||||
|
public bool InHtmlComment { get; set; }
|
||||||
|
|
||||||
|
public bool IfLine { get; set; }
|
||||||
|
|
||||||
|
public int ChainExtraIndentation { get; set; }
|
||||||
|
|
||||||
|
public bool InCase { get; set; }
|
||||||
|
|
||||||
|
public bool InCaseStatement { get; set; }
|
||||||
|
|
||||||
|
public bool CaseBody { get; set; }
|
||||||
|
|
||||||
|
public int IndentationLevel { get; set; }
|
||||||
|
|
||||||
|
public int TernaryDepth { get; set; }
|
||||||
|
}
|
||||||
|
}
|
69
Source/RySmartEditor/API/JsBeautifier/BeautifierOptions.cs
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
#region License
|
||||||
|
// MIT License
|
||||||
|
//
|
||||||
|
// Copyright (c) 2018 Denis Ivanov
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
// of this software and associated documentation files (the "Software"), to deal
|
||||||
|
// in the Software without restriction, including without limitation the rights
|
||||||
|
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
// copies of the Software, and to permit persons to whom the Software is
|
||||||
|
// furnished to do so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in all
|
||||||
|
// copies or substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
// SOFTWARE.
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
namespace Jsbeautifier
|
||||||
|
{
|
||||||
|
public class BeautifierOptions
|
||||||
|
{
|
||||||
|
public BeautifierOptions()
|
||||||
|
{
|
||||||
|
IndentSize = 4;
|
||||||
|
IndentChar = ' ';
|
||||||
|
IndentWithTabs = false;
|
||||||
|
PreserveNewlines = true;
|
||||||
|
MaxPreserveNewlines = 10.0f;
|
||||||
|
JslintHappy = false;
|
||||||
|
BraceStyle = BraceStyle.Collapse;
|
||||||
|
KeepArrayIndentation = false;
|
||||||
|
KeepFunctionIndentation = false;
|
||||||
|
EvalCode = false;
|
||||||
|
WrapLineLength = 0;
|
||||||
|
BreakChainedMethods = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public uint IndentSize { get; set; }
|
||||||
|
|
||||||
|
public char IndentChar { get; set; }
|
||||||
|
|
||||||
|
public bool IndentWithTabs { get; set; }
|
||||||
|
|
||||||
|
public bool PreserveNewlines { get; set; }
|
||||||
|
|
||||||
|
public float MaxPreserveNewlines { get; set; }
|
||||||
|
|
||||||
|
public bool JslintHappy { get; set; }
|
||||||
|
|
||||||
|
public BraceStyle BraceStyle { get; set; }
|
||||||
|
|
||||||
|
public bool KeepArrayIndentation { get; set; }
|
||||||
|
|
||||||
|
public bool KeepFunctionIndentation { get; set; }
|
||||||
|
|
||||||
|
public bool EvalCode { get; set; }
|
||||||
|
|
||||||
|
public int WrapLineLength { get; set; }
|
||||||
|
|
||||||
|
public bool BreakChainedMethods { get; set; }
|
||||||
|
}
|
||||||
|
}
|
31
Source/RySmartEditor/API/JsBeautifier/BraceStyle.cs
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
#region License
|
||||||
|
// MIT License
|
||||||
|
//
|
||||||
|
// Copyright (c) 2018 Denis Ivanov
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
// of this software and associated documentation files (the "Software"), to deal
|
||||||
|
// in the Software without restriction, including without limitation the rights
|
||||||
|
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
// copies of the Software, and to permit persons to whom the Software is
|
||||||
|
// furnished to do so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in all
|
||||||
|
// copies or substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
// SOFTWARE.
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
namespace Jsbeautifier
|
||||||
|
{
|
||||||
|
public enum BraceStyle
|
||||||
|
{
|
||||||
|
Expand, Collapse, EndExpand
|
||||||
|
}
|
||||||
|
}
|
113
Source/RySmartEditor/API/MsgManager.cs
Normal file
|
@ -0,0 +1,113 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Text;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
using ryCommon;
|
||||||
|
using QuickMsg;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Threading;
|
||||||
|
|
||||||
|
namespace ryConfig
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 流程软件通信类
|
||||||
|
/// </summary>
|
||||||
|
public class MsgManager
|
||||||
|
{
|
||||||
|
|
||||||
|
[DllImport("user32.dll", EntryPoint = "GetParent", SetLastError = true)]
|
||||||
|
private static extern IntPtr GetParent(IntPtr hWnd);
|
||||||
|
|
||||||
|
[DllImport("user32.dll", EntryPoint = "GetWindowThreadProcessId")]
|
||||||
|
private static extern uint GetWindowThreadProcessId(IntPtr hWnd, ref uint lpdwProcessId);
|
||||||
|
|
||||||
|
[DllImport("user32.dll", EntryPoint = "IsWindow")]
|
||||||
|
private static extern bool IsWindow(IntPtr hWnd);
|
||||||
|
private const int WM_COPYDATA = 0x004A;
|
||||||
|
public struct COPYDATASTRUCT
|
||||||
|
{
|
||||||
|
public IntPtr dwData;
|
||||||
|
public int cData;
|
||||||
|
[MarshalAs(UnmanagedType.LPStr)]
|
||||||
|
public string lpData;
|
||||||
|
}
|
||||||
|
[DllImport("User32.dll", EntryPoint = "SendMessage")]
|
||||||
|
private static extern int SendMessage(IntPtr hwnd, int msg, int wParam, ref COPYDATASTRUCT IParam);
|
||||||
|
/// <summary>
|
||||||
|
/// 向指定句柄发送消息
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="handle"></param>
|
||||||
|
/// <param name="wParam"></param>
|
||||||
|
/// <param name="str">要发送的文字内容</param>
|
||||||
|
public static void SendMsg(IntPtr handle, int wParam, string str)
|
||||||
|
{
|
||||||
|
byte[] arr = System.Text.Encoding.Default.GetBytes(str);
|
||||||
|
int len = arr.Length;
|
||||||
|
COPYDATASTRUCT cdata;
|
||||||
|
cdata.dwData = (IntPtr)100;
|
||||||
|
cdata.lpData = str;
|
||||||
|
cdata.cData = len + 1;
|
||||||
|
SendMessage(handle, WM_COPYDATA, wParam, ref cdata);
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 发送消息到文本编辑器
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="wParam">附带信息</param>
|
||||||
|
/// <param name="str">要发送的文字内容</param>
|
||||||
|
public static void SendMsgToEditor(string str)
|
||||||
|
{
|
||||||
|
object mainHandle = QuickMsg.RyMemoryShare.ReadFromMemory(1024, typeof(Int64), "SmartEditor");
|
||||||
|
if (mainHandle != null)
|
||||||
|
{
|
||||||
|
SendMsg((IntPtr)mainHandle.ToInt64(), 0, str);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 发送消息到指定的内存ID窗口
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="MemoryId">内存ID</param>
|
||||||
|
/// <param name="wParam">附带信息标识</param>
|
||||||
|
/// <param name="str">发送的内容</param>
|
||||||
|
public static void SendMsg(string MemoryId, int wParam, string str)
|
||||||
|
{
|
||||||
|
if (MemoryId == null || MemoryId.Length == 0)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
object mainHandle = QuickMsg.RyMemoryShare.ReadFromMemory(1024, typeof(Int64), MemoryId);
|
||||||
|
if (mainHandle != null && (long)mainHandle != 0)
|
||||||
|
{
|
||||||
|
SendMsg((IntPtr)mainHandle.ToInt64(), wParam, str);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 获取消息字符串内容
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="m"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static string GetMsg(Message m)
|
||||||
|
{
|
||||||
|
COPYDATASTRUCT cdata = new COPYDATASTRUCT();
|
||||||
|
Type mytype = cdata.GetType();
|
||||||
|
cdata = (COPYDATASTRUCT)m.GetLParam(mytype);
|
||||||
|
return cdata.lpData;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 通知已打开的编辑器,显示界面
|
||||||
|
/// </summary>
|
||||||
|
public static void ShowEditorUI()
|
||||||
|
{
|
||||||
|
object mainHandle = QuickMsg.RyMemoryShare.ReadFromMemory(1024, typeof(Int64), "SmartEditor");
|
||||||
|
if (mainHandle != null && (long)mainHandle != 0)
|
||||||
|
{
|
||||||
|
ryControls.Win32.SendMessage(new IntPtr((long)mainHandle), 17189, 100, 100);//让界面显示
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
6
Source/RySmartEditor/App.config
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<configuration>
|
||||||
|
<startup>
|
||||||
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
|
||||||
|
</startup>
|
||||||
|
</configuration>
|
520
Source/RySmartEditor/Controls/FindAndReplaceForm.cs
Normal file
|
@ -0,0 +1,520 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Text;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
using ICSharpCode.TextEditor.Document;
|
||||||
|
using ICSharpCode.TextEditor;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.IO;
|
||||||
|
|
||||||
|
namespace XmlPad
|
||||||
|
{
|
||||||
|
public partial class FindAndReplaceForm : Form
|
||||||
|
{
|
||||||
|
public FindAndReplaceForm()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
_search = new TextEditorSearcher();
|
||||||
|
}
|
||||||
|
|
||||||
|
TextEditorSearcher _search;
|
||||||
|
FastColoredTextBoxNS.FastColoredTextBox _editor;
|
||||||
|
FastColoredTextBoxNS.FastColoredTextBox Editor
|
||||||
|
{
|
||||||
|
get { return _editor; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_editor = value;
|
||||||
|
_search.Document = _editor.Document;
|
||||||
|
UpdateTitleBar();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateTitleBar()
|
||||||
|
{
|
||||||
|
string text = ReplaceMode ? "查找和替换" : "查找";
|
||||||
|
if (_editor != null && _editor.FileName != null)
|
||||||
|
text += " - " + Path.GetFileName(_editor.FileName);
|
||||||
|
if (_search.HasScanRegion)
|
||||||
|
text += " (只可选)";
|
||||||
|
this.Text = text;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ShowFor(FastColoredTextBoxNS.FastColoredTextBox editor, bool replaceMode)
|
||||||
|
{
|
||||||
|
Editor = editor;
|
||||||
|
|
||||||
|
_search.ClearScanRegion();
|
||||||
|
SelectionManager sm = editor.ActiveTextAreaControl.SelectionManager;
|
||||||
|
if (sm.HasSomethingSelected && sm.SelectionCollection.Count == 1)
|
||||||
|
{
|
||||||
|
ISelection sel = sm.SelectionCollection[0];
|
||||||
|
if (sel.StartPosition.Y == sel.EndPosition.Y)
|
||||||
|
txtLookFor.Text = sm.SelectedText;
|
||||||
|
else
|
||||||
|
_search.SetScanRegion(sel);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Get the current word that the caret is on
|
||||||
|
Caret caret = editor.ActiveTextAreaControl.Caret;
|
||||||
|
int start = TextUtilities.FindWordStart(editor.Document, caret.Offset);
|
||||||
|
int endAt = TextUtilities.FindWordEnd(editor.Document, caret.Offset);
|
||||||
|
txtLookFor.Text = editor.Document.GetText(start, endAt - start);
|
||||||
|
}
|
||||||
|
|
||||||
|
ReplaceMode = replaceMode;
|
||||||
|
|
||||||
|
this.Owner = (Form)editor.TopLevelControl;
|
||||||
|
this.Show();
|
||||||
|
|
||||||
|
txtLookFor.SelectAll();
|
||||||
|
txtLookFor.Focus();
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool ReplaceMode
|
||||||
|
{
|
||||||
|
get { return txtReplaceWith.Visible; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
btnReplace.Visible = btnReplaceAll.Visible = value;
|
||||||
|
lblReplaceWith.Visible = txtReplaceWith.Visible = value;
|
||||||
|
btnFindAllHighlightAll.Visible = !value;
|
||||||
|
this.AcceptButton = value ? btnReplace : btnFindNext;
|
||||||
|
UpdateTitleBar();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void BtnFindPrevious_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
FindNext(false, true, "内容没有找到!");
|
||||||
|
}
|
||||||
|
private void BtnFindNext_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
FindNext(false, false, "内容没有找到");
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool _lastSearchWasBackward = false;
|
||||||
|
public bool _lastSearchLoopedAround;
|
||||||
|
|
||||||
|
public TextRange FindNext(bool viaF3, bool searchBackward, string messageIfNotFound)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(txtLookFor.Text))
|
||||||
|
{
|
||||||
|
MessageBox.Show("没有指定要查找的内容!", "提示");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
_lastSearchWasBackward = searchBackward;
|
||||||
|
_search.LookFor = txtLookFor.Text;
|
||||||
|
_search.MatchCase = chkMatchCase.Checked;
|
||||||
|
_search.MatchWholeWordOnly = chkMatchWholeWord.Checked;
|
||||||
|
|
||||||
|
Caret caret = _editor.ActiveTextAreaControl.Caret;
|
||||||
|
if (viaF3 && _search.HasScanRegion && !Globals.IsInRange(caret.Offset, _search.BeginOffset, _search.EndOffset))
|
||||||
|
{
|
||||||
|
// user moved outside of the originally selected region
|
||||||
|
_search.ClearScanRegion();
|
||||||
|
UpdateTitleBar();
|
||||||
|
}
|
||||||
|
|
||||||
|
int startFrom = caret.Offset - (searchBackward ? 1 : 0);
|
||||||
|
TextRange range = _search.FindNext(startFrom, searchBackward, out _lastSearchLoopedAround);
|
||||||
|
if (range != null)
|
||||||
|
SelectResult(range);
|
||||||
|
else if (messageIfNotFound != null)
|
||||||
|
MessageBox.Show(messageIfNotFound, "提示");
|
||||||
|
return range;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SelectResult(TextRange range)
|
||||||
|
{
|
||||||
|
TextLocation p1 = _editor.Document.OffsetToPosition(range.Offset);
|
||||||
|
TextLocation p2 = _editor.Document.OffsetToPosition(range.Offset + range.Length);
|
||||||
|
_editor.ActiveTextAreaControl.SelectionManager.SetSelection(p1, p2);
|
||||||
|
//_editor.ActiveTextAreaControl.ScrollTo(p1.Line, p1.Column);
|
||||||
|
// Also move the caret to the end of the selection, because when the user
|
||||||
|
// presses F3, the caret is where we start searching next time.
|
||||||
|
_editor.ActiveTextAreaControl.Caret.Position =
|
||||||
|
_editor.Document.OffsetToPosition(range.Offset + range.Length);
|
||||||
|
}
|
||||||
|
|
||||||
|
Dictionary<TextEditorControl, HighlightGroup> _highlightGroups = new Dictionary<TextEditorControl, HighlightGroup>();
|
||||||
|
|
||||||
|
private void btnHighlightAll_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (!_highlightGroups.ContainsKey(_editor))
|
||||||
|
_highlightGroups[_editor] = new HighlightGroup(_editor);
|
||||||
|
HighlightGroup group = _highlightGroups[_editor];
|
||||||
|
|
||||||
|
if (string.IsNullOrEmpty(LookFor))
|
||||||
|
// Clear highlights
|
||||||
|
group.ClearMarkers();
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_search.LookFor = txtLookFor.Text;
|
||||||
|
_search.MatchCase = chkMatchCase.Checked;
|
||||||
|
_search.MatchWholeWordOnly = chkMatchWholeWord.Checked;
|
||||||
|
|
||||||
|
bool looped = false;
|
||||||
|
int offset = 0, count = 0;
|
||||||
|
for (; ; )
|
||||||
|
{
|
||||||
|
TextRange range = _search.FindNext(offset, false, out looped);
|
||||||
|
if (range == null || looped)
|
||||||
|
break;
|
||||||
|
offset = range.Offset + range.Length;
|
||||||
|
count++;
|
||||||
|
|
||||||
|
TextMarker m = new TextMarker(range.Offset, range.Length,
|
||||||
|
TextMarkerType.SolidBlock, Color.Yellow, Color.Black);
|
||||||
|
group.AddMarker(m);
|
||||||
|
}
|
||||||
|
if (count == 0)
|
||||||
|
MessageBox.Show("没有找到你要查找的内容", "提示");
|
||||||
|
else
|
||||||
|
Close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void FindAndReplaceForm_FormClosing(object sender, FormClosingEventArgs e)
|
||||||
|
{ // Prevent dispose, as this form can be re-used
|
||||||
|
if (e.CloseReason != CloseReason.FormOwnerClosing)
|
||||||
|
{
|
||||||
|
if (this.Owner != null)
|
||||||
|
this.Owner.Select(); // prevent another app from being activated instead
|
||||||
|
|
||||||
|
e.Cancel = true;
|
||||||
|
Hide();
|
||||||
|
|
||||||
|
// Discard search region
|
||||||
|
_search.ClearScanRegion();
|
||||||
|
_editor.Refresh(); // must repaint manually
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btnCancel_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btnReplace_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
SelectionManager sm = _editor.ActiveTextAreaControl.SelectionManager;
|
||||||
|
if (string.Equals(sm.SelectedText, txtLookFor.Text, StringComparison.OrdinalIgnoreCase))
|
||||||
|
InsertText(txtReplaceWith.Text);
|
||||||
|
FindNext(false, _lastSearchWasBackward, "内容没有找到!");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btnReplaceAll_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
int count = 0;
|
||||||
|
// BUG FIX: if the replacement string contains the original search string
|
||||||
|
// (e.g. replace "red" with "very red") we must avoid looping around and
|
||||||
|
// replacing forever! To fix, start replacing at beginning of region (by
|
||||||
|
// moving the caret) and stop as soon as we loop around.
|
||||||
|
_editor.ActiveTextAreaControl.Caret.Position =
|
||||||
|
_editor.Document.OffsetToPosition(_search.BeginOffset);
|
||||||
|
|
||||||
|
//_editor.Document.UndoStack.StartUndoGroup();
|
||||||
|
//try
|
||||||
|
//{
|
||||||
|
lock (_editor.Document.UndoStack)
|
||||||
|
{
|
||||||
|
while (FindNext(false, false, null) != null)
|
||||||
|
{
|
||||||
|
if (_lastSearchLoopedAround)
|
||||||
|
break;
|
||||||
|
|
||||||
|
// Replace
|
||||||
|
count++;
|
||||||
|
InsertText(txtReplaceWith.Text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//}
|
||||||
|
//finally
|
||||||
|
//{
|
||||||
|
// _editor.Document.UndoStack.EndUndoGroup();
|
||||||
|
//}
|
||||||
|
if (count == 0)
|
||||||
|
MessageBox.Show(string.Format("没有找到目标内容: {0}!", txtLookFor.Text), "提示");
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MessageBox.Show(string.Format("替换了 {0} 处内容!", count), "提示");
|
||||||
|
Close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InsertText(string text)
|
||||||
|
{
|
||||||
|
TextArea textArea = _editor.ActiveTextAreaControl.TextArea;
|
||||||
|
//textArea.Document.UndoStack.StartUndoGroup();
|
||||||
|
//try
|
||||||
|
//{
|
||||||
|
lock (textArea.Document.UndoStack)
|
||||||
|
{
|
||||||
|
if (textArea.SelectionManager.HasSomethingSelected)
|
||||||
|
{
|
||||||
|
textArea.Caret.Position = textArea.SelectionManager.SelectionCollection[0].StartPosition;
|
||||||
|
textArea.SelectionManager.RemoveSelectedText();
|
||||||
|
}
|
||||||
|
textArea.InsertString(text);
|
||||||
|
}
|
||||||
|
//}
|
||||||
|
//finally
|
||||||
|
//{
|
||||||
|
// textArea.Document.UndoStack.EndUndoGroup();
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
|
||||||
|
public string LookFor { get { return txtLookFor.Text; } }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class TextRange : AbstractSegment
|
||||||
|
{
|
||||||
|
IDocument _document;
|
||||||
|
public TextRange(IDocument document, int offset, int length)
|
||||||
|
{
|
||||||
|
_document = document;
|
||||||
|
this.offset = offset;
|
||||||
|
this.length = length;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>This class finds occurrances of a search string in a text
|
||||||
|
/// editor's IDocument... it's like Find box without a GUI.</summary>
|
||||||
|
public class TextEditorSearcher : IDisposable
|
||||||
|
{
|
||||||
|
IDocument _document;
|
||||||
|
public IDocument Document
|
||||||
|
{
|
||||||
|
get { return _document; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
if (_document != value)
|
||||||
|
{
|
||||||
|
ClearScanRegion();
|
||||||
|
_document = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// I would have used the TextAnchor class to represent the beginning and
|
||||||
|
// end of the region to scan while automatically adjusting to changes in
|
||||||
|
// the document--but for some reason it is sealed and its constructor is
|
||||||
|
// internal. Instead I use a TextMarker, which is perhaps even better as
|
||||||
|
// it gives me the opportunity to highlight the region. Note that all the
|
||||||
|
// markers and coloring information is associated with the text document,
|
||||||
|
// not the editor control, so TextEditorSearcher doesn't need a reference
|
||||||
|
// to the TextEditorControl. After adding the marker to the document, we
|
||||||
|
// must remember to remove it when it is no longer needed.
|
||||||
|
TextMarker _region = null;
|
||||||
|
/// <summary>Sets the region to search. The region is updated
|
||||||
|
/// automatically as the document changes.</summary>
|
||||||
|
public void SetScanRegion(ISelection sel)
|
||||||
|
{
|
||||||
|
SetScanRegion(sel.Offset, sel.Length);
|
||||||
|
}
|
||||||
|
/// <summary>Sets the region to search. The region is updated
|
||||||
|
/// automatically as the document changes.</summary>
|
||||||
|
public void SetScanRegion(int offset, int length)
|
||||||
|
{
|
||||||
|
Color bkgColor = _document.HighlightingStrategy.GetColorFor("Default").BackgroundColor;
|
||||||
|
_region = new TextMarker(offset, length, TextMarkerType.SolidBlock,
|
||||||
|
Globals.HalfMix(bkgColor, Color.FromArgb(160, 160, 160)));
|
||||||
|
_document.MarkerStrategy.AddMarker(_region);
|
||||||
|
}
|
||||||
|
public bool HasScanRegion
|
||||||
|
{
|
||||||
|
get { return _region != null; }
|
||||||
|
}
|
||||||
|
public void ClearScanRegion()
|
||||||
|
{
|
||||||
|
if (_region != null)
|
||||||
|
{
|
||||||
|
_document.MarkerStrategy.RemoveMarker(_region);
|
||||||
|
_region = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public void Dispose() { ClearScanRegion(); GC.SuppressFinalize(this); }
|
||||||
|
~TextEditorSearcher() { Dispose(); }
|
||||||
|
|
||||||
|
/// <summary>Begins the start offset for searching</summary>
|
||||||
|
public int BeginOffset
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (_region != null)
|
||||||
|
return _region.Offset;
|
||||||
|
else
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>Begins the end offset for searching</summary>
|
||||||
|
public int EndOffset
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (_region != null)
|
||||||
|
return _region.EndOffset;
|
||||||
|
else
|
||||||
|
return _document.TextLength;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool MatchCase;
|
||||||
|
|
||||||
|
public bool MatchWholeWordOnly;
|
||||||
|
|
||||||
|
string _lookFor;
|
||||||
|
string _lookFor2; // uppercase in case-insensitive mode
|
||||||
|
public string LookFor
|
||||||
|
{
|
||||||
|
get { return _lookFor; }
|
||||||
|
set { _lookFor = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Finds next instance of LookFor, according to the search rules
|
||||||
|
/// (MatchCase, MatchWholeWordOnly).</summary>
|
||||||
|
/// <param name="beginAtOffset">Offset in Document at which to begin the search</param>
|
||||||
|
/// <remarks>If there is a match at beginAtOffset precisely, it will be returned.</remarks>
|
||||||
|
/// <returns>Region of document that matches the search string</returns>
|
||||||
|
public TextRange FindNext(int beginAtOffset, bool searchBackward, out bool loopedAround)
|
||||||
|
{
|
||||||
|
Debug.Assert(!string.IsNullOrEmpty(_lookFor));
|
||||||
|
loopedAround = false;
|
||||||
|
|
||||||
|
int startAt = BeginOffset, endAt = EndOffset;
|
||||||
|
int curOffs = Globals.InRange(beginAtOffset, startAt, endAt);
|
||||||
|
|
||||||
|
_lookFor2 = MatchCase ? _lookFor : _lookFor.ToUpperInvariant();
|
||||||
|
|
||||||
|
TextRange result;
|
||||||
|
if (searchBackward)
|
||||||
|
{
|
||||||
|
result = FindNextIn(startAt, curOffs, true);
|
||||||
|
if (result == null)
|
||||||
|
{
|
||||||
|
loopedAround = true;
|
||||||
|
result = FindNextIn(curOffs, endAt, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
result = FindNextIn(curOffs, endAt, false);
|
||||||
|
if (result == null)
|
||||||
|
{
|
||||||
|
loopedAround = true;
|
||||||
|
result = FindNextIn(startAt, curOffs, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public delegate TResult Func<T1, T2, TResult>(T1 arg1, T2 arg2);
|
||||||
|
public delegate TResult Func<T, TResult>(T arg);
|
||||||
|
|
||||||
|
private TextRange FindNextIn(int offset1, int offset2, bool searchBackward)
|
||||||
|
{
|
||||||
|
Debug.Assert(offset2 >= offset1);
|
||||||
|
offset2 -= _lookFor.Length;
|
||||||
|
|
||||||
|
// Make behavior decisions before starting search loop
|
||||||
|
Func<char, char, bool> matchFirstCh;
|
||||||
|
Func<int, bool> matchWord;
|
||||||
|
if (MatchCase)
|
||||||
|
matchFirstCh = delegate(char lookFor, char c)
|
||||||
|
{
|
||||||
|
return lookFor == c;
|
||||||
|
};
|
||||||
|
else
|
||||||
|
matchFirstCh = delegate(char lookFor, char c)
|
||||||
|
{
|
||||||
|
return lookFor == Char.ToUpperInvariant(c);
|
||||||
|
};
|
||||||
|
|
||||||
|
if (MatchWholeWordOnly)
|
||||||
|
matchWord = IsWholeWordMatch;
|
||||||
|
else
|
||||||
|
matchWord = IsPartWordMatch;
|
||||||
|
|
||||||
|
// Search
|
||||||
|
char lookForCh = _lookFor2[0];
|
||||||
|
if (searchBackward)
|
||||||
|
{
|
||||||
|
for (int offset = offset2; offset >= offset1; offset--)
|
||||||
|
{
|
||||||
|
if (matchFirstCh(lookForCh, _document.GetCharAt(offset))
|
||||||
|
&& matchWord(offset))
|
||||||
|
return new TextRange(_document, offset, _lookFor.Length);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (int offset = offset1; offset <= offset2; offset++)
|
||||||
|
{
|
||||||
|
if (matchFirstCh(lookForCh, _document.GetCharAt(offset))
|
||||||
|
&& matchWord(offset))
|
||||||
|
return new TextRange(_document, offset, _lookFor.Length);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
private bool IsWholeWordMatch(int offset)
|
||||||
|
{
|
||||||
|
if (IsWordBoundary(offset) && IsWordBoundary(offset + _lookFor.Length))
|
||||||
|
return IsPartWordMatch(offset);
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
private bool IsWordBoundary(int offset)
|
||||||
|
{
|
||||||
|
return offset <= 0 || offset >= _document.TextLength ||
|
||||||
|
!IsAlphaNumeric(offset - 1) || !IsAlphaNumeric(offset);
|
||||||
|
}
|
||||||
|
private bool IsAlphaNumeric(int offset)
|
||||||
|
{
|
||||||
|
char c = _document.GetCharAt(offset);
|
||||||
|
return Char.IsLetterOrDigit(c) || c == '_';
|
||||||
|
}
|
||||||
|
private bool IsPartWordMatch(int offset)
|
||||||
|
{
|
||||||
|
string substr = _document.GetText(offset, _lookFor.Length);
|
||||||
|
if (!MatchCase)
|
||||||
|
substr = substr.ToUpperInvariant();
|
||||||
|
return substr == _lookFor2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Bundles a group of markers together so that they can be cleared
|
||||||
|
/// together.</summary>
|
||||||
|
public class HighlightGroup : IDisposable
|
||||||
|
{
|
||||||
|
List<TextMarker> _markers = new List<TextMarker>();
|
||||||
|
TextEditorControl _editor;
|
||||||
|
IDocument _document;
|
||||||
|
public HighlightGroup(TextEditorControl editor)
|
||||||
|
{
|
||||||
|
_editor = editor;
|
||||||
|
_document = editor.Document;
|
||||||
|
}
|
||||||
|
public void AddMarker(TextMarker marker)
|
||||||
|
{
|
||||||
|
_markers.Add(marker);
|
||||||
|
_document.MarkerStrategy.AddMarker(marker);
|
||||||
|
}
|
||||||
|
public void ClearMarkers()
|
||||||
|
{
|
||||||
|
foreach (TextMarker m in _markers)
|
||||||
|
_document.MarkerStrategy.RemoveMarker(m);
|
||||||
|
_markers.Clear();
|
||||||
|
_editor.Refresh();
|
||||||
|
}
|
||||||
|
public void Dispose() { ClearMarkers(); GC.SuppressFinalize(this); }
|
||||||
|
~HighlightGroup() { Dispose(); }
|
||||||
|
|
||||||
|
public IList<TextMarker> Markers { get { return _markers.AsReadOnly(); } }
|
||||||
|
}
|
||||||
|
}
|
235
Source/RySmartEditor/Controls/FindAndReplaceForm.designer.cs
generated
Normal file
|
@ -0,0 +1,235 @@
|
||||||
|
namespace XmlPad
|
||||||
|
{
|
||||||
|
partial class FindAndReplaceForm
|
||||||
|
{
|
||||||
|
/// <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()
|
||||||
|
{
|
||||||
|
this.label1 = new System.Windows.Forms.Label();
|
||||||
|
this.lblReplaceWith = new System.Windows.Forms.Label();
|
||||||
|
this.txtLookFor = new System.Windows.Forms.TextBox();
|
||||||
|
this.txtReplaceWith = new System.Windows.Forms.TextBox();
|
||||||
|
this.btnFindNext = new System.Windows.Forms.Button();
|
||||||
|
this.btnReplace = new System.Windows.Forms.Button();
|
||||||
|
this.btnReplaceAll = new System.Windows.Forms.Button();
|
||||||
|
this.chkMatchWholeWord = new System.Windows.Forms.CheckBox();
|
||||||
|
this.chkMatchCase = new System.Windows.Forms.CheckBox();
|
||||||
|
this.btnFindAllHighlightAll = new System.Windows.Forms.Button();
|
||||||
|
this.btnCancel = new System.Windows.Forms.Button();
|
||||||
|
this.btnFindPrevious = new System.Windows.Forms.Button();
|
||||||
|
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||||
|
this.groupBox1.SuspendLayout();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// label1
|
||||||
|
//
|
||||||
|
this.label1.AutoSize = true;
|
||||||
|
this.label1.Location = new System.Drawing.Point(12, 9);
|
||||||
|
this.label1.Name = "label1";
|
||||||
|
this.label1.Size = new System.Drawing.Size(77, 12);
|
||||||
|
this.label1.TabIndex = 0;
|
||||||
|
this.label1.Text = "查找内容(&N):";
|
||||||
|
//
|
||||||
|
// lblReplaceWith
|
||||||
|
//
|
||||||
|
this.lblReplaceWith.AutoSize = true;
|
||||||
|
this.lblReplaceWith.Location = new System.Drawing.Point(12, 36);
|
||||||
|
this.lblReplaceWith.Name = "lblReplaceWith";
|
||||||
|
this.lblReplaceWith.Size = new System.Drawing.Size(65, 12);
|
||||||
|
this.lblReplaceWith.TabIndex = 2;
|
||||||
|
this.lblReplaceWith.Text = "替换为(&P):";
|
||||||
|
//
|
||||||
|
// txtLookFor
|
||||||
|
//
|
||||||
|
this.txtLookFor.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.txtLookFor.Location = new System.Drawing.Point(95, 6);
|
||||||
|
this.txtLookFor.Name = "txtLookFor";
|
||||||
|
this.txtLookFor.Size = new System.Drawing.Size(232, 21);
|
||||||
|
this.txtLookFor.TabIndex = 1;
|
||||||
|
//
|
||||||
|
// txtReplaceWith
|
||||||
|
//
|
||||||
|
this.txtReplaceWith.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.txtReplaceWith.Location = new System.Drawing.Point(95, 33);
|
||||||
|
this.txtReplaceWith.Name = "txtReplaceWith";
|
||||||
|
this.txtReplaceWith.Size = new System.Drawing.Size(232, 21);
|
||||||
|
this.txtReplaceWith.TabIndex = 3;
|
||||||
|
//
|
||||||
|
// btnFindNext
|
||||||
|
//
|
||||||
|
this.btnFindNext.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.btnFindNext.Location = new System.Drawing.Point(228, 137);
|
||||||
|
this.btnFindNext.Name = "btnFindNext";
|
||||||
|
this.btnFindNext.Size = new System.Drawing.Size(100, 30);
|
||||||
|
this.btnFindNext.TabIndex = 6;
|
||||||
|
this.btnFindNext.Text = "查找下一个(&F)";
|
||||||
|
this.btnFindNext.UseVisualStyleBackColor = true;
|
||||||
|
this.btnFindNext.Click += new System.EventHandler(this.BtnFindNext_Click);
|
||||||
|
//
|
||||||
|
// btnReplace
|
||||||
|
//
|
||||||
|
this.btnReplace.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.btnReplace.Location = new System.Drawing.Point(12, 174);
|
||||||
|
this.btnReplace.Name = "btnReplace";
|
||||||
|
this.btnReplace.Size = new System.Drawing.Size(100, 30);
|
||||||
|
this.btnReplace.TabIndex = 7;
|
||||||
|
this.btnReplace.Text = "替换(&R)";
|
||||||
|
this.btnReplace.UseVisualStyleBackColor = true;
|
||||||
|
this.btnReplace.Click += new System.EventHandler(this.btnReplace_Click);
|
||||||
|
//
|
||||||
|
// btnReplaceAll
|
||||||
|
//
|
||||||
|
this.btnReplaceAll.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.btnReplaceAll.Location = new System.Drawing.Point(119, 174);
|
||||||
|
this.btnReplaceAll.Name = "btnReplaceAll";
|
||||||
|
this.btnReplaceAll.Size = new System.Drawing.Size(100, 30);
|
||||||
|
this.btnReplaceAll.TabIndex = 9;
|
||||||
|
this.btnReplaceAll.Text = "全部替换(&A)";
|
||||||
|
this.btnReplaceAll.UseVisualStyleBackColor = true;
|
||||||
|
this.btnReplaceAll.Click += new System.EventHandler(this.btnReplaceAll_Click);
|
||||||
|
//
|
||||||
|
// chkMatchWholeWord
|
||||||
|
//
|
||||||
|
this.chkMatchWholeWord.AutoSize = true;
|
||||||
|
this.chkMatchWholeWord.Location = new System.Drawing.Point(145, 27);
|
||||||
|
this.chkMatchWholeWord.Name = "chkMatchWholeWord";
|
||||||
|
this.chkMatchWholeWord.Size = new System.Drawing.Size(90, 16);
|
||||||
|
this.chkMatchWholeWord.TabIndex = 5;
|
||||||
|
this.chkMatchWholeWord.Text = "全字匹配(&W)";
|
||||||
|
this.chkMatchWholeWord.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// chkMatchCase
|
||||||
|
//
|
||||||
|
this.chkMatchCase.AutoSize = true;
|
||||||
|
this.chkMatchCase.Location = new System.Drawing.Point(22, 27);
|
||||||
|
this.chkMatchCase.Name = "chkMatchCase";
|
||||||
|
this.chkMatchCase.Size = new System.Drawing.Size(102, 16);
|
||||||
|
this.chkMatchCase.TabIndex = 4;
|
||||||
|
this.chkMatchCase.Text = "大小写匹配(&C)";
|
||||||
|
this.chkMatchCase.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// btnFindAllHighlightAll
|
||||||
|
//
|
||||||
|
this.btnFindAllHighlightAll.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.btnFindAllHighlightAll.Location = new System.Drawing.Point(66, 174);
|
||||||
|
this.btnFindAllHighlightAll.Name = "btnFindAllHighlightAll";
|
||||||
|
this.btnFindAllHighlightAll.Size = new System.Drawing.Size(150, 30);
|
||||||
|
this.btnFindAllHighlightAll.TabIndex = 8;
|
||||||
|
this.btnFindAllHighlightAll.Text = "查找全部并高亮显示(&H)";
|
||||||
|
this.btnFindAllHighlightAll.UseVisualStyleBackColor = true;
|
||||||
|
this.btnFindAllHighlightAll.Visible = false;
|
||||||
|
this.btnFindAllHighlightAll.Click += new System.EventHandler(this.btnHighlightAll_Click);
|
||||||
|
//
|
||||||
|
// btnCancel
|
||||||
|
//
|
||||||
|
this.btnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||||
|
this.btnCancel.Location = new System.Drawing.Point(228, 173);
|
||||||
|
this.btnCancel.Name = "btnCancel";
|
||||||
|
this.btnCancel.Size = new System.Drawing.Size(100, 30);
|
||||||
|
this.btnCancel.TabIndex = 6;
|
||||||
|
this.btnCancel.Text = "取消(&C)";
|
||||||
|
this.btnCancel.UseVisualStyleBackColor = true;
|
||||||
|
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
|
||||||
|
//
|
||||||
|
// btnFindPrevious
|
||||||
|
//
|
||||||
|
this.btnFindPrevious.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.btnFindPrevious.Location = new System.Drawing.Point(118, 138);
|
||||||
|
this.btnFindPrevious.Name = "btnFindPrevious";
|
||||||
|
this.btnFindPrevious.Size = new System.Drawing.Size(100, 30);
|
||||||
|
this.btnFindPrevious.TabIndex = 6;
|
||||||
|
this.btnFindPrevious.Text = "查找上一个(&P)";
|
||||||
|
this.btnFindPrevious.UseVisualStyleBackColor = true;
|
||||||
|
this.btnFindPrevious.Click += new System.EventHandler(this.BtnFindPrevious_Click);
|
||||||
|
//
|
||||||
|
// groupBox1
|
||||||
|
//
|
||||||
|
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.groupBox1.Controls.Add(this.chkMatchCase);
|
||||||
|
this.groupBox1.Controls.Add(this.chkMatchWholeWord);
|
||||||
|
this.groupBox1.Location = new System.Drawing.Point(14, 64);
|
||||||
|
this.groupBox1.Name = "groupBox1";
|
||||||
|
this.groupBox1.Size = new System.Drawing.Size(313, 63);
|
||||||
|
this.groupBox1.TabIndex = 10;
|
||||||
|
this.groupBox1.TabStop = false;
|
||||||
|
this.groupBox1.Text = "查找选项";
|
||||||
|
//
|
||||||
|
// FindAndReplaceForm
|
||||||
|
//
|
||||||
|
this.AcceptButton = this.btnReplace;
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.CancelButton = this.btnCancel;
|
||||||
|
this.ClientSize = new System.Drawing.Size(339, 215);
|
||||||
|
this.Controls.Add(this.groupBox1);
|
||||||
|
this.Controls.Add(this.btnReplaceAll);
|
||||||
|
this.Controls.Add(this.btnReplace);
|
||||||
|
this.Controls.Add(this.btnFindAllHighlightAll);
|
||||||
|
this.Controls.Add(this.btnCancel);
|
||||||
|
this.Controls.Add(this.btnFindPrevious);
|
||||||
|
this.Controls.Add(this.btnFindNext);
|
||||||
|
this.Controls.Add(this.txtReplaceWith);
|
||||||
|
this.Controls.Add(this.txtLookFor);
|
||||||
|
this.Controls.Add(this.lblReplaceWith);
|
||||||
|
this.Controls.Add(this.label1);
|
||||||
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||||
|
this.MaximizeBox = false;
|
||||||
|
this.MinimizeBox = false;
|
||||||
|
this.Name = "FindAndReplaceForm";
|
||||||
|
this.ShowIcon = false;
|
||||||
|
this.ShowInTaskbar = false;
|
||||||
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||||
|
this.Text = "查找和替换";
|
||||||
|
this.TopMost = true;
|
||||||
|
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FindAndReplaceForm_FormClosing);
|
||||||
|
this.groupBox1.ResumeLayout(false);
|
||||||
|
this.groupBox1.PerformLayout();
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
this.PerformLayout();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private System.Windows.Forms.Label label1;
|
||||||
|
private System.Windows.Forms.Label lblReplaceWith;
|
||||||
|
private System.Windows.Forms.TextBox txtLookFor;
|
||||||
|
private System.Windows.Forms.TextBox txtReplaceWith;
|
||||||
|
private System.Windows.Forms.Button btnFindNext;
|
||||||
|
private System.Windows.Forms.Button btnReplace;
|
||||||
|
private System.Windows.Forms.Button btnReplaceAll;
|
||||||
|
private System.Windows.Forms.CheckBox chkMatchWholeWord;
|
||||||
|
private System.Windows.Forms.CheckBox chkMatchCase;
|
||||||
|
private System.Windows.Forms.Button btnFindAllHighlightAll;
|
||||||
|
private System.Windows.Forms.Button btnCancel;
|
||||||
|
private System.Windows.Forms.Button btnFindPrevious;
|
||||||
|
private System.Windows.Forms.GroupBox groupBox1;
|
||||||
|
}
|
||||||
|
}
|
120
Source/RySmartEditor/Controls/FindAndReplaceForm.resx
Normal file
|
@ -0,0 +1,120 @@
|
||||||
|
<?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>
|
92
Source/RySmartEditor/Controls/FrmTitle.Designer.cs
generated
Normal file
|
@ -0,0 +1,92 @@
|
||||||
|
|
||||||
|
namespace RySmartEditor.Controls
|
||||||
|
{
|
||||||
|
partial class FrmTitle
|
||||||
|
{
|
||||||
|
/// <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()
|
||||||
|
{
|
||||||
|
this.TxtTitle = new ryControls.TextBoxEx2();
|
||||||
|
this.BtnOK = new ryControls.ButtonEx();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// TxtTitle
|
||||||
|
//
|
||||||
|
this.TxtTitle.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.TxtTitle.BackColor = System.Drawing.Color.White;
|
||||||
|
this.TxtTitle.EmptyText = "请输入标题";
|
||||||
|
this.TxtTitle.ImeMode = System.Windows.Forms.ImeMode.Close;
|
||||||
|
this.TxtTitle.Location = new System.Drawing.Point(12, 23);
|
||||||
|
this.TxtTitle.MaxLength = 999999999;
|
||||||
|
this.TxtTitle.Multiline = false;
|
||||||
|
this.TxtTitle.Name = "TxtTitle";
|
||||||
|
this.TxtTitle.OnlyNumeric = false;
|
||||||
|
this.TxtTitle.PasswordChar = '\0';
|
||||||
|
this.TxtTitle.ReadOnly = false;
|
||||||
|
this.TxtTitle.SelectedText = "";
|
||||||
|
this.TxtTitle.SelectionLength = 0;
|
||||||
|
this.TxtTitle.SelectionStart = 0;
|
||||||
|
this.TxtTitle.Size = new System.Drawing.Size(363, 23);
|
||||||
|
this.TxtTitle.TabIndex = 111;
|
||||||
|
this.TxtTitle.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
|
||||||
|
this.TxtTitle.ToolTip = "";
|
||||||
|
this.TxtTitle.WordWrap = true;
|
||||||
|
//
|
||||||
|
// BtnOK
|
||||||
|
//
|
||||||
|
this.BtnOK.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
|
||||||
|
this.BtnOK.Location = new System.Drawing.Point(292, 78);
|
||||||
|
this.BtnOK.Name = "BtnOK";
|
||||||
|
this.BtnOK.Size = new System.Drawing.Size(82, 26);
|
||||||
|
this.BtnOK.TabIndex = 112;
|
||||||
|
this.BtnOK.Text = "确定";
|
||||||
|
this.BtnOK.UseVisualStyleBackColor = true;
|
||||||
|
this.BtnOK.Click += new System.EventHandler(this.BtnOK_Click);
|
||||||
|
//
|
||||||
|
// FrmTitle
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.ClientSize = new System.Drawing.Size(383, 116);
|
||||||
|
this.Controls.Add(this.BtnOK);
|
||||||
|
this.Controls.Add(this.TxtTitle);
|
||||||
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||||
|
this.MaximizeBox = false;
|
||||||
|
this.MinimizeBox = false;
|
||||||
|
this.Name = "FrmTitle";
|
||||||
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||||
|
this.Text = "请输入标题";
|
||||||
|
this.TopMost = true;
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
private ryControls.ButtonEx BtnOK;
|
||||||
|
public ryControls.TextBoxEx2 TxtTitle;
|
||||||
|
}
|
||||||
|
}
|
29
Source/RySmartEditor/Controls/FrmTitle.cs
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
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 RySmartEditor.Controls
|
||||||
|
{
|
||||||
|
public partial class FrmTitle : Form
|
||||||
|
{
|
||||||
|
public FrmTitle()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void BtnOK_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if(TxtTitle.Text.Length<2)
|
||||||
|
{
|
||||||
|
MessageBox.Show("内容输入太短。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
DialogResult = DialogResult.OK;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,154 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace AutocompleteMenuNS
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Item of autocomplete menu
|
||||||
|
/// </summary>
|
||||||
|
public class AutocompleteItem
|
||||||
|
{
|
||||||
|
public object Tag;
|
||||||
|
string toolTipTitle;
|
||||||
|
string toolTipText;
|
||||||
|
string menuText;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Parent AutocompleteMenu
|
||||||
|
/// </summary>
|
||||||
|
public AutocompleteMenu Parent { get; internal set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Text for inserting into textbox
|
||||||
|
/// </summary>
|
||||||
|
public string Text { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Image index for this item
|
||||||
|
/// </summary>
|
||||||
|
public int ImageIndex{get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Alignment. The direction the text shows.
|
||||||
|
/// </summary>
|
||||||
|
public StringAlignment Alignment { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Title for tooltip.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>Return null for disable tooltip for this item</remarks>
|
||||||
|
public virtual string ToolTipTitle
|
||||||
|
{
|
||||||
|
get { return toolTipTitle; }
|
||||||
|
set { toolTipTitle = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Tooltip text.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>For display tooltip text, ToolTipTitle must be not null</remarks>
|
||||||
|
public virtual string ToolTipText
|
||||||
|
{
|
||||||
|
get { return toolTipText; }
|
||||||
|
set { toolTipText = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Menu text. This text is displayed in the drop-down menu.
|
||||||
|
/// </summary>
|
||||||
|
public virtual string MenuText
|
||||||
|
{
|
||||||
|
get { return menuText; }
|
||||||
|
set { menuText = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public AutocompleteItem()
|
||||||
|
{
|
||||||
|
ImageIndex = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AutocompleteItem(string text):this()
|
||||||
|
{
|
||||||
|
Text = text;
|
||||||
|
Alignment = StringAlignment.Near;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AutocompleteItem(string text, int imageIndex)
|
||||||
|
: this(text)
|
||||||
|
{
|
||||||
|
this.ImageIndex = imageIndex;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AutocompleteItem(string text, int imageIndex, string menuText)
|
||||||
|
: this(text, imageIndex)
|
||||||
|
{
|
||||||
|
this.menuText = menuText;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AutocompleteItem(string text, int imageIndex, string menuText, string toolTipTitle, string toolTipText)
|
||||||
|
: this(text, imageIndex, menuText)
|
||||||
|
{
|
||||||
|
this.toolTipTitle = toolTipTitle;
|
||||||
|
this.toolTipText = toolTipText;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Returns text for inserting into Textbox
|
||||||
|
/// </summary>
|
||||||
|
public virtual string GetTextForReplace()
|
||||||
|
{
|
||||||
|
return Text;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Compares fragment text with this item
|
||||||
|
/// </summary>
|
||||||
|
public virtual CompareResult Compare(string fragmentText)
|
||||||
|
{
|
||||||
|
if (Text.StartsWith(fragmentText, StringComparison.InvariantCultureIgnoreCase) &&
|
||||||
|
Text != fragmentText)
|
||||||
|
return CompareResult.VisibleAndSelected;
|
||||||
|
|
||||||
|
return CompareResult.Hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Returns text for display into popup menu
|
||||||
|
/// </summary>
|
||||||
|
public override string ToString()
|
||||||
|
{
|
||||||
|
return menuText ?? Text;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// This method is called after item was inserted into text
|
||||||
|
/// </summary>
|
||||||
|
public virtual void OnSelected(SelectedEventArgs e)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public virtual void OnPaint(PaintItemEventArgs e)
|
||||||
|
{
|
||||||
|
using(var brush = new SolidBrush(e.IsSelected ? e.Colors.SelectedForeColor : e.Colors.ForeColor))
|
||||||
|
e.Graphics.DrawString(ToString(), e.Font, brush, e.TextRect, new StringFormat() {Alignment = Alignment});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum CompareResult
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Item do not appears
|
||||||
|
/// </summary>
|
||||||
|
Hidden,
|
||||||
|
/// <summary>
|
||||||
|
/// Item appears
|
||||||
|
/// </summary>
|
||||||
|
Visible,
|
||||||
|
/// <summary>
|
||||||
|
/// Item appears and will selected
|
||||||
|
/// </summary>
|
||||||
|
VisibleAndSelected
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,199 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Text;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace AutocompleteMenuNS
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// This autocomplete item appears after dot
|
||||||
|
/// </summary>
|
||||||
|
public class MethodAutocompleteItem : AutocompleteItem
|
||||||
|
{
|
||||||
|
string firstPart;
|
||||||
|
string lowercaseText;
|
||||||
|
|
||||||
|
public MethodAutocompleteItem(string text)
|
||||||
|
: base(text)
|
||||||
|
{
|
||||||
|
lowercaseText = Text.ToLower();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override CompareResult Compare(string fragmentText)
|
||||||
|
{
|
||||||
|
int i = fragmentText.LastIndexOf('.');
|
||||||
|
if (i < 0)
|
||||||
|
return CompareResult.Hidden;
|
||||||
|
string lastPart = fragmentText.Substring(i + 1);
|
||||||
|
firstPart = fragmentText.Substring(0, i);
|
||||||
|
|
||||||
|
if (lastPart == "") return CompareResult.Visible;
|
||||||
|
if (Text.StartsWith(lastPart, StringComparison.InvariantCultureIgnoreCase))
|
||||||
|
return CompareResult.VisibleAndSelected;
|
||||||
|
if (lowercaseText.Contains(lastPart.ToLower()))
|
||||||
|
return CompareResult.Visible;
|
||||||
|
|
||||||
|
return CompareResult.Hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetTextForReplace()
|
||||||
|
{
|
||||||
|
return firstPart + "." + Text;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Autocomplete item for code snippets
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>Snippet can contain special char ^ for caret position.</remarks>
|
||||||
|
public class SnippetAutocompleteItem : AutocompleteItem
|
||||||
|
{
|
||||||
|
public SnippetAutocompleteItem(string snippet)
|
||||||
|
{
|
||||||
|
Text = snippet.Replace("\r", "");
|
||||||
|
ToolTipTitle = "Code snippet:";
|
||||||
|
ToolTipText = Text;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string ToString()
|
||||||
|
{
|
||||||
|
return MenuText ?? Text.Replace("\n", " ").Replace("^", "");
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetTextForReplace()
|
||||||
|
{
|
||||||
|
return Text;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnSelected(SelectedEventArgs e)
|
||||||
|
{
|
||||||
|
var tb = Parent.TargetControlWrapper;
|
||||||
|
//
|
||||||
|
if (!Text.Contains("^"))
|
||||||
|
return;
|
||||||
|
var text = tb.Text;
|
||||||
|
for (int i = Parent.Fragment.Start; i < text.Length; i++)
|
||||||
|
if (text[i] == '^')
|
||||||
|
{
|
||||||
|
tb.SelectionStart = i;
|
||||||
|
tb.SelectionLength = 1;
|
||||||
|
tb.SelectedText = "";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Compares fragment text with this item
|
||||||
|
/// </summary>
|
||||||
|
public override CompareResult Compare(string fragmentText)
|
||||||
|
{
|
||||||
|
if (Text.StartsWith(fragmentText, StringComparison.InvariantCultureIgnoreCase) &&
|
||||||
|
Text != fragmentText)
|
||||||
|
return CompareResult.Visible;
|
||||||
|
|
||||||
|
return CompareResult.Hidden;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// This class finds items by substring
|
||||||
|
/// </summary>
|
||||||
|
public class SubstringAutocompleteItem : AutocompleteItem
|
||||||
|
{
|
||||||
|
protected readonly string lowercaseText;
|
||||||
|
protected readonly bool ignoreCase;
|
||||||
|
|
||||||
|
public SubstringAutocompleteItem(string text, bool ignoreCase = true)
|
||||||
|
: base(text)
|
||||||
|
{
|
||||||
|
this.ignoreCase = ignoreCase;
|
||||||
|
if(ignoreCase)
|
||||||
|
lowercaseText = text.ToLower();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override CompareResult Compare(string fragmentText)
|
||||||
|
{
|
||||||
|
if(ignoreCase)
|
||||||
|
{
|
||||||
|
if (lowercaseText.Contains(fragmentText.ToLower()))
|
||||||
|
return CompareResult.Visible;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (Text.Contains(fragmentText))
|
||||||
|
return CompareResult.Visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
return CompareResult.Hidden;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// This item draws multicolumn menu
|
||||||
|
/// </summary>
|
||||||
|
public class MulticolumnAutocompleteItem : SubstringAutocompleteItem
|
||||||
|
{
|
||||||
|
public bool CompareBySubstring { get; set; }
|
||||||
|
public string[] MenuTextByColumns { get; set; }
|
||||||
|
public int[] ColumnWidth { get; set; }
|
||||||
|
public StringAlignment[] Alignments { get; set; }
|
||||||
|
|
||||||
|
public MulticolumnAutocompleteItem(string[] menuTextByColumns, string insertingText, bool compareBySubstring = true, bool ignoreCase = true)
|
||||||
|
: base(insertingText, ignoreCase)
|
||||||
|
{
|
||||||
|
this.CompareBySubstring = compareBySubstring;
|
||||||
|
this.MenuTextByColumns = menuTextByColumns;
|
||||||
|
var tmp = new List<StringAlignment>();
|
||||||
|
for(int i = 0; i < menuTextByColumns.Length; i++)
|
||||||
|
tmp.Add(StringAlignment.Near);
|
||||||
|
this.Alignments = tmp.ToArray();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override CompareResult Compare(string fragmentText)
|
||||||
|
{
|
||||||
|
if (CompareBySubstring)
|
||||||
|
return base.Compare(fragmentText);
|
||||||
|
|
||||||
|
if(ignoreCase)
|
||||||
|
{
|
||||||
|
if (Text.StartsWith(fragmentText, StringComparison.InvariantCultureIgnoreCase))
|
||||||
|
return CompareResult.VisibleAndSelected;
|
||||||
|
} else
|
||||||
|
if (Text.StartsWith(fragmentText))
|
||||||
|
return CompareResult.VisibleAndSelected;
|
||||||
|
|
||||||
|
return CompareResult.Hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnPaint(PaintItemEventArgs e)
|
||||||
|
{
|
||||||
|
if (ColumnWidth != null && ColumnWidth.Length != MenuTextByColumns.Length)
|
||||||
|
throw new Exception("ColumnWidth.Length != MenuTextByColumns.Length");
|
||||||
|
|
||||||
|
int[] columnWidth = ColumnWidth;
|
||||||
|
if(columnWidth == null)
|
||||||
|
{
|
||||||
|
columnWidth = new int[MenuTextByColumns.Length];
|
||||||
|
float step = e.TextRect.Width/MenuTextByColumns.Length;
|
||||||
|
for (int i = 0; i < MenuTextByColumns.Length; i++)
|
||||||
|
columnWidth[i] = (int)step;
|
||||||
|
}
|
||||||
|
|
||||||
|
//draw columns
|
||||||
|
Pen pen = Pens.Silver;
|
||||||
|
float x = e.TextRect.X;
|
||||||
|
e.StringFormat.FormatFlags = e.StringFormat.FormatFlags | StringFormatFlags.NoWrap;
|
||||||
|
|
||||||
|
using (var brush = new SolidBrush(e.IsSelected ? e.Colors.SelectedForeColor : e.Colors.ForeColor))
|
||||||
|
for (int i=0;i<MenuTextByColumns.Length;i++)
|
||||||
|
{
|
||||||
|
var width = columnWidth[i];
|
||||||
|
var rect = new RectangleF(x, e.TextRect.Top, width, e.TextRect.Height);
|
||||||
|
e.Graphics.DrawLine(pen, new PointF(x, e.TextRect.Top), new PointF(x, e.TextRect.Bottom));
|
||||||
|
e.Graphics.DrawString(MenuTextByColumns[i], e.Font, brush, rect, new StringFormat() {Alignment = Alignments[i]});
|
||||||
|
x += width;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,420 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Drawing.Drawing2D;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace AutocompleteMenuNS
|
||||||
|
{
|
||||||
|
[System.ComponentModel.ToolboxItem(false)]
|
||||||
|
public class AutocompleteListView : UserControl, IAutocompleteListView
|
||||||
|
{
|
||||||
|
private readonly ToolTip toolTip = new ToolTip();
|
||||||
|
public int HighlightedItemIndex { get; set; }
|
||||||
|
private int oldItemCount;
|
||||||
|
private int selectedItemIndex = -1;
|
||||||
|
private IList<AutocompleteItem> visibleItems;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Duration (ms) of tooltip showing
|
||||||
|
/// </summary>
|
||||||
|
public int ToolTipDuration { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Occurs when user selected item for inserting into text
|
||||||
|
/// </summary>
|
||||||
|
public event EventHandler ItemSelected;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Occurs when current hovered item is changing
|
||||||
|
/// </summary>
|
||||||
|
public event EventHandler<HoveredEventArgs> ItemHovered;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Colors
|
||||||
|
/// </summary>
|
||||||
|
public Colors Colors { get; set; }
|
||||||
|
|
||||||
|
internal AutocompleteListView()
|
||||||
|
{
|
||||||
|
SetStyle(
|
||||||
|
ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.UserPaint, true);
|
||||||
|
base.Font = new Font(FontFamily.GenericSansSerif, 11);
|
||||||
|
ItemHeight = Font.Height + 2;
|
||||||
|
VerticalScroll.SmallChange = ItemHeight;
|
||||||
|
BackColor = Color.White;
|
||||||
|
LeftPadding = 18;
|
||||||
|
ToolTipDuration = 3000;
|
||||||
|
Colors = new Colors();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing)
|
||||||
|
{
|
||||||
|
toolTip.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private int itemHeight;
|
||||||
|
|
||||||
|
public int ItemHeight
|
||||||
|
{
|
||||||
|
get { return itemHeight; }
|
||||||
|
set {
|
||||||
|
itemHeight = value;
|
||||||
|
VerticalScroll.SmallChange = value;
|
||||||
|
oldItemCount = -1;
|
||||||
|
AdjustScroll();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override Font Font
|
||||||
|
{
|
||||||
|
get { return base.Font; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
base.Font = value;
|
||||||
|
ItemHeight = Font.Height + 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public int LeftPadding { get; set; }
|
||||||
|
|
||||||
|
public ImageList ImageList { get; set; }
|
||||||
|
|
||||||
|
public string[] ColumnsTitle { get; set; } = null;
|
||||||
|
public int[] ColumnsWidth { get; set; } = null;
|
||||||
|
|
||||||
|
public IList<AutocompleteItem> VisibleItems
|
||||||
|
{
|
||||||
|
get { return visibleItems; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
visibleItems = value;
|
||||||
|
SelectedItemIndex = -1;
|
||||||
|
AdjustScroll();
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public int SelectedItemIndex
|
||||||
|
{
|
||||||
|
get { return selectedItemIndex; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
AutocompleteItem item = null;
|
||||||
|
if (value >= 0 && value < VisibleItems.Count)
|
||||||
|
item = VisibleItems[value];
|
||||||
|
|
||||||
|
selectedItemIndex = value;
|
||||||
|
|
||||||
|
OnItemHovered(new HoveredEventArgs() { Item = item });
|
||||||
|
|
||||||
|
if (item != null)
|
||||||
|
{
|
||||||
|
ShowToolTip(item, this.Parent);
|
||||||
|
ScrollToSelected();
|
||||||
|
}
|
||||||
|
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnItemHovered(HoveredEventArgs e)
|
||||||
|
{
|
||||||
|
if (ItemHovered != null)
|
||||||
|
ItemHovered(this, e);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void AdjustScroll()
|
||||||
|
{
|
||||||
|
if (VisibleItems == null)
|
||||||
|
return;
|
||||||
|
if (oldItemCount == VisibleItems.Count)
|
||||||
|
return;
|
||||||
|
|
||||||
|
int needHeight = ItemHeight*VisibleItems.Count + 1;
|
||||||
|
if (HasColumn) needHeight += ItemHeight;
|
||||||
|
Height = Math.Min(needHeight, MaximumSize.Height);
|
||||||
|
AutoScrollMinSize = new Size(0, needHeight);
|
||||||
|
oldItemCount = VisibleItems.Count;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void ScrollToSelected()
|
||||||
|
{
|
||||||
|
int y;
|
||||||
|
if(HasColumn)
|
||||||
|
y = (SelectedItemIndex + 1)*ItemHeight - VerticalScroll.Value;
|
||||||
|
else
|
||||||
|
y = SelectedItemIndex * ItemHeight - VerticalScroll.Value;
|
||||||
|
//if (HasColumn) y += ItemHeight;
|
||||||
|
|
||||||
|
if (y < 0)
|
||||||
|
if(HasColumn)
|
||||||
|
VerticalScroll.Value = (SelectedItemIndex + 1) * ItemHeight;
|
||||||
|
else
|
||||||
|
VerticalScroll.Value = SelectedItemIndex * ItemHeight;
|
||||||
|
if (y > ClientSize.Height - ItemHeight)
|
||||||
|
VerticalScroll.Value = Math.Min(VerticalScroll.Maximum,
|
||||||
|
(HasColumn ? (SelectedItemIndex*ItemHeight) + ItemHeight : SelectedItemIndex * ItemHeight) - ClientSize.Height + ItemHeight);
|
||||||
|
|
||||||
|
//Show headers if index 0 is selected.
|
||||||
|
if (HasColumn && SelectedItemIndex == 0)
|
||||||
|
VerticalScroll.Value = 0;
|
||||||
|
|
||||||
|
//some magic for update scrolls
|
||||||
|
AutoScrollMinSize -= new Size(1, 0);
|
||||||
|
AutoScrollMinSize += new Size(1, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Rectangle GetItemRectangle(int itemIndex)
|
||||||
|
{
|
||||||
|
var y = itemIndex * ItemHeight - VerticalScroll.Value;
|
||||||
|
return new Rectangle(0, y, ClientSize.Width - 1, ItemHeight - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnPaintBackground(PaintEventArgs e)
|
||||||
|
{
|
||||||
|
e.Graphics.Clear(Colors.BackColor);
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool HasColumn
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return ColumnsTitle != null && ColumnsTitle.Length != 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnPaint(PaintEventArgs e)
|
||||||
|
{
|
||||||
|
bool rtl = RightToLeft == RightToLeft.Yes;
|
||||||
|
AdjustScroll();
|
||||||
|
int startI = VerticalScroll.Value/ItemHeight - 1;
|
||||||
|
int finishI = (VerticalScroll.Value + ClientSize.Height)/ItemHeight + 1;
|
||||||
|
int y = 0;
|
||||||
|
|
||||||
|
var sf = new StringFormat();
|
||||||
|
if (rtl)
|
||||||
|
sf.FormatFlags = StringFormatFlags.DirectionRightToLeft;
|
||||||
|
|
||||||
|
if (HasColumn && VerticalScroll.Value == 0)
|
||||||
|
{
|
||||||
|
var textRect = new Rectangle(LeftPadding, y, ClientSize.Width - 1 - LeftPadding, ItemHeight - 1);
|
||||||
|
if (rtl)
|
||||||
|
textRect = new Rectangle(1, y, ClientSize.Width - 1 - LeftPadding, ItemHeight - 1);
|
||||||
|
|
||||||
|
int[] columnWidth = ColumnsWidth;
|
||||||
|
if (columnWidth == null)
|
||||||
|
{
|
||||||
|
columnWidth = new int[ColumnsTitle.Length];
|
||||||
|
float step = textRect.Width / ColumnsTitle.Length;
|
||||||
|
for (int i = 0; i < ColumnsTitle.Length; i++)
|
||||||
|
columnWidth[i] = (int)step;
|
||||||
|
}
|
||||||
|
|
||||||
|
float x = textRect.X;
|
||||||
|
sf.Alignment = StringAlignment.Center;
|
||||||
|
for (int i = 0; i < ColumnsTitle.Length; i++)
|
||||||
|
{
|
||||||
|
using (var brush = new SolidBrush(Colors.ForeColor))
|
||||||
|
{
|
||||||
|
var width = columnWidth[i];
|
||||||
|
var rect = new RectangleF(x, textRect.Top, width, textRect.Height);
|
||||||
|
e.Graphics.DrawLine(Pens.Silver, new PointF(x, textRect.Top), new PointF(x, textRect.Bottom));
|
||||||
|
e.Graphics.DrawString(ColumnsTitle[i], Font, brush, rect, sf);
|
||||||
|
x += width;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (rtl)
|
||||||
|
sf.FormatFlags = StringFormatFlags.DirectionRightToLeft;
|
||||||
|
else
|
||||||
|
sf = new StringFormat();
|
||||||
|
}
|
||||||
|
|
||||||
|
startI = Math.Max(startI, 0);
|
||||||
|
finishI = Math.Min(finishI, VisibleItems.Count);
|
||||||
|
|
||||||
|
for (int i = startI; i < finishI; i++)
|
||||||
|
{
|
||||||
|
if(HasColumn)
|
||||||
|
y = (i * ItemHeight - VerticalScroll.Value) + ItemHeight;
|
||||||
|
else
|
||||||
|
y = i * ItemHeight - VerticalScroll.Value;
|
||||||
|
|
||||||
|
if (ImageList != null && VisibleItems[i].ImageIndex >= 0)
|
||||||
|
if (rtl)
|
||||||
|
e.Graphics.DrawImage(ImageList.Images[VisibleItems[i].ImageIndex], Width - 1 - LeftPadding, y);
|
||||||
|
else
|
||||||
|
e.Graphics.DrawImage(ImageList.Images[VisibleItems[i].ImageIndex], 1, y);
|
||||||
|
|
||||||
|
var textRect = new Rectangle(LeftPadding, y, ClientSize.Width - 1 - LeftPadding, ItemHeight - 1);
|
||||||
|
if (rtl)
|
||||||
|
textRect = new Rectangle(1, y, ClientSize.Width - 1 - LeftPadding, ItemHeight - 1);
|
||||||
|
|
||||||
|
if (i == SelectedItemIndex)
|
||||||
|
{
|
||||||
|
Brush selectedBrush = new LinearGradientBrush(new Point(0, y - 3), new Point(0, y + ItemHeight),
|
||||||
|
Colors.SelectedBackColor2, Colors.SelectedBackColor);
|
||||||
|
e.Graphics.FillRectangle(selectedBrush, textRect);
|
||||||
|
using(var pen = new Pen(Colors.SelectedBackColor2))
|
||||||
|
e.Graphics.DrawRectangle(pen, textRect);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (i == HighlightedItemIndex)
|
||||||
|
using (var pen = new Pen(Colors.HighlightingColor))
|
||||||
|
e.Graphics.DrawRectangle(pen, textRect);
|
||||||
|
|
||||||
|
var args = new PaintItemEventArgs(e.Graphics, e.ClipRectangle)
|
||||||
|
{
|
||||||
|
Font = Font,
|
||||||
|
TextRect = new RectangleF(textRect.Location, textRect.Size),
|
||||||
|
StringFormat = sf,
|
||||||
|
IsSelected = i == SelectedItemIndex,
|
||||||
|
IsHovered = i == HighlightedItemIndex,
|
||||||
|
Colors = Colors
|
||||||
|
};
|
||||||
|
//call drawing
|
||||||
|
VisibleItems[i].OnPaint(args);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnScroll(ScrollEventArgs se)
|
||||||
|
{
|
||||||
|
base.OnScroll(se);
|
||||||
|
Invalidate(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnMouseClick(MouseEventArgs e)
|
||||||
|
{
|
||||||
|
int i = PointToItemIndex(e.Location);
|
||||||
|
if (i >= 0)
|
||||||
|
{
|
||||||
|
base.OnMouseClick(e);
|
||||||
|
|
||||||
|
if (e.Button == MouseButtons.Left)
|
||||||
|
{
|
||||||
|
SelectedItemIndex = i;
|
||||||
|
ScrollToSelected();
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Point mouseEnterPoint;
|
||||||
|
|
||||||
|
protected override void OnMouseEnter(EventArgs e)
|
||||||
|
{
|
||||||
|
base.OnMouseEnter(e);
|
||||||
|
mouseEnterPoint = Control.MousePosition;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnMouseMove(MouseEventArgs e)
|
||||||
|
{
|
||||||
|
base.OnMouseMove(e);
|
||||||
|
|
||||||
|
if (mouseEnterPoint != Control.MousePosition)
|
||||||
|
{
|
||||||
|
int i = PointToItemIndex(e.Location);
|
||||||
|
if (i >= 0)
|
||||||
|
{
|
||||||
|
HighlightedItemIndex = i;
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnMouseDoubleClick(MouseEventArgs e)
|
||||||
|
{
|
||||||
|
int i = PointToItemIndex(e.Location);
|
||||||
|
if (i >= 0)
|
||||||
|
{
|
||||||
|
base.OnMouseDoubleClick(e);
|
||||||
|
SelectedItemIndex = i;
|
||||||
|
Invalidate();
|
||||||
|
OnItemSelected();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnItemSelected()
|
||||||
|
{
|
||||||
|
if (ItemSelected != null)
|
||||||
|
ItemSelected(this, EventArgs.Empty);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private int PointToItemIndex(Point p)
|
||||||
|
{
|
||||||
|
var t = (p.Y + VerticalScroll.Value);
|
||||||
|
if (HasColumn)
|
||||||
|
t -= ItemHeight;
|
||||||
|
return (float)t / ItemHeight < 0 ? -1 : t / ItemHeight;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
|
||||||
|
{
|
||||||
|
var host = Parent as AutocompleteMenuHost;
|
||||||
|
if (host != null)
|
||||||
|
if (host.Menu.ProcessKey((char) keyData, Keys.None))
|
||||||
|
return true;
|
||||||
|
|
||||||
|
return base.ProcessCmdKey(ref msg, keyData);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SelectItem(int itemIndex)
|
||||||
|
{
|
||||||
|
SelectedItemIndex = itemIndex;
|
||||||
|
ScrollToSelected();
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetItems(List<AutocompleteItem> items)
|
||||||
|
{
|
||||||
|
VisibleItems = items;
|
||||||
|
SelectedItemIndex = -1;
|
||||||
|
AdjustScroll();
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ShowToolTip(AutocompleteItem autocompleteItem, Control control = null)
|
||||||
|
{
|
||||||
|
string title = autocompleteItem.ToolTipTitle;
|
||||||
|
string text = autocompleteItem.ToolTipText;
|
||||||
|
if (control == null)
|
||||||
|
control = this;
|
||||||
|
|
||||||
|
if (string.IsNullOrEmpty(title))
|
||||||
|
{
|
||||||
|
toolTip.ToolTipTitle = null;
|
||||||
|
toolTip.SetToolTip(control, null);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (string.IsNullOrEmpty(text))
|
||||||
|
{
|
||||||
|
toolTip.ToolTipTitle = null;
|
||||||
|
toolTip.Show(title, control, Width + 3, 0, ToolTipDuration);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
toolTip.ToolTipTitle = title;
|
||||||
|
toolTip.Show(text, control, Width + 3, 0, ToolTipDuration);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void HideToolTip(Control control)
|
||||||
|
{
|
||||||
|
toolTip.Hide(control);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Control GetParentControl()
|
||||||
|
{
|
||||||
|
return this.Parent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,903 @@
|
||||||
|
//
|
||||||
|
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
|
||||||
|
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
||||||
|
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
|
||||||
|
// PURPOSE.
|
||||||
|
//
|
||||||
|
// License: GNU Lesser General Public License (LGPLv3)
|
||||||
|
//
|
||||||
|
// Email: p_torgashov@ukr.net.
|
||||||
|
//
|
||||||
|
// Copyright (C) Pavel Torgashov, 2012-2015.
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Text.RegularExpressions;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Diagnostics;
|
||||||
|
|
||||||
|
namespace AutocompleteMenuNS
|
||||||
|
{
|
||||||
|
[ProvideProperty("AutocompleteMenu", typeof(Control))]
|
||||||
|
public class AutocompleteMenu : Component, IExtenderProvider
|
||||||
|
{
|
||||||
|
private static readonly Dictionary<Control, AutocompleteMenu> AutocompleteMenuByControls =
|
||||||
|
new Dictionary<Control, AutocompleteMenu>();
|
||||||
|
private static readonly Dictionary<Control, ITextBoxWrapper> WrapperByControls =
|
||||||
|
new Dictionary<Control, ITextBoxWrapper>();
|
||||||
|
|
||||||
|
private ITextBoxWrapper targetControlWrapper;
|
||||||
|
private readonly Timer timer = new Timer();
|
||||||
|
|
||||||
|
private IEnumerable<AutocompleteItem> sourceItems = new List<AutocompleteItem>();
|
||||||
|
[Browsable(false)]
|
||||||
|
public IList<AutocompleteItem> VisibleItems { get { return Host.ListView.VisibleItems; } private set { Host.ListView.VisibleItems = value;} }
|
||||||
|
private Size maximumSize;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Duration (ms) of tooltip showing
|
||||||
|
/// </summary>
|
||||||
|
[Description("Duration (ms) of tooltip showing")]
|
||||||
|
[DefaultValue(3000)]
|
||||||
|
public int ToolTipDuration
|
||||||
|
{
|
||||||
|
get { return Host.ListView.ToolTipDuration; }
|
||||||
|
set { Host.ListView.ToolTipDuration = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public AutocompleteMenu()
|
||||||
|
{
|
||||||
|
Host = new AutocompleteMenuHost(this);
|
||||||
|
Host.ListView.ItemSelected += new EventHandler(ListView_ItemSelected);
|
||||||
|
Host.ListView.ItemHovered += new EventHandler<HoveredEventArgs>(ListView_ItemHovered);
|
||||||
|
VisibleItems = new List<AutocompleteItem>();
|
||||||
|
Enabled = true;
|
||||||
|
AppearInterval = 500;
|
||||||
|
timer.Tick += timer_Tick;
|
||||||
|
MaximumSize = new Size(180, 200);
|
||||||
|
AutoPopup = true;
|
||||||
|
|
||||||
|
SearchPattern = @"[\w\.]";
|
||||||
|
MinFragmentLength = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing)
|
||||||
|
{
|
||||||
|
timer.Dispose();
|
||||||
|
Host.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ListView_ItemSelected(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
OnSelecting();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ListView_ItemHovered(object sender, HoveredEventArgs e)
|
||||||
|
{
|
||||||
|
OnHovered(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OnHovered(HoveredEventArgs e)
|
||||||
|
{
|
||||||
|
if (Hovered != null)
|
||||||
|
Hovered(this, e);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Browsable(false)]
|
||||||
|
public int SelectedItemIndex { get { return Host.ListView.SelectedItemIndex; }
|
||||||
|
internal set { Host.ListView.SelectedItemIndex = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
internal AutocompleteMenuHost Host { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Called when user selected the control and needed wrapper over it.
|
||||||
|
/// You can assign own Wrapper for target control.
|
||||||
|
/// </summary>
|
||||||
|
[Description("Called when user selected the control and needed wrapper over it. You can assign own Wrapper for target control.")]
|
||||||
|
public event EventHandler<WrapperNeededEventArgs> WrapperNeeded;
|
||||||
|
|
||||||
|
protected void OnWrapperNeeded(WrapperNeededEventArgs args)
|
||||||
|
{
|
||||||
|
if (WrapperNeeded != null)
|
||||||
|
WrapperNeeded(this, args);
|
||||||
|
if (args.Wrapper == null)
|
||||||
|
args.Wrapper = TextBoxWrapper.Create(args.TargetControl);
|
||||||
|
}
|
||||||
|
|
||||||
|
ITextBoxWrapper CreateWrapper(Control control)
|
||||||
|
{
|
||||||
|
if (WrapperByControls.ContainsKey(control))
|
||||||
|
return WrapperByControls[control];
|
||||||
|
|
||||||
|
var args = new WrapperNeededEventArgs(control);
|
||||||
|
OnWrapperNeeded(args);
|
||||||
|
if (args.Wrapper != null)
|
||||||
|
WrapperByControls[control] = args.Wrapper;
|
||||||
|
|
||||||
|
return args.Wrapper;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Current target control wrapper
|
||||||
|
/// </summary>
|
||||||
|
[Browsable(false)]
|
||||||
|
public ITextBoxWrapper TargetControlWrapper
|
||||||
|
{
|
||||||
|
get { return targetControlWrapper; }
|
||||||
|
set {
|
||||||
|
targetControlWrapper = value;
|
||||||
|
if (value != null && !WrapperByControls.ContainsKey(value.TargetControl))
|
||||||
|
{
|
||||||
|
WrapperByControls[value.TargetControl] = value;
|
||||||
|
SetAutocompleteMenu(value.TargetControl, this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Maximum size of popup menu
|
||||||
|
/// </summary>
|
||||||
|
[DefaultValue(typeof(Size), "180, 200")]
|
||||||
|
[Description("Maximum size of popup menu")]
|
||||||
|
public Size MaximumSize
|
||||||
|
{
|
||||||
|
get { return maximumSize; }
|
||||||
|
set {
|
||||||
|
maximumSize = value;
|
||||||
|
(Host.ListView as Control).MaximumSize = maximumSize;
|
||||||
|
(Host.ListView as Control).Size = maximumSize;
|
||||||
|
Host.CalcSize();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Font
|
||||||
|
/// </summary>
|
||||||
|
public Font Font
|
||||||
|
{
|
||||||
|
get { return (Host.ListView as Control).Font; }
|
||||||
|
set { (Host.ListView as Control).Font = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Left padding of text
|
||||||
|
/// </summary>
|
||||||
|
[DefaultValue(18)]
|
||||||
|
[Description("Left padding of text")]
|
||||||
|
public int LeftPadding
|
||||||
|
{
|
||||||
|
get {
|
||||||
|
if (Host.ListView is AutocompleteListView)
|
||||||
|
return (Host.ListView as AutocompleteListView).LeftPadding;
|
||||||
|
else
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
if (Host.ListView is AutocompleteListView)
|
||||||
|
(Host.ListView as AutocompleteListView).LeftPadding = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Colors of foreground and background
|
||||||
|
/// </summary>
|
||||||
|
[Browsable(true)]
|
||||||
|
[Description("Colors of foreground and background.")]
|
||||||
|
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||||
|
public Colors Colors
|
||||||
|
{
|
||||||
|
get { return (Host.ListView as IAutocompleteListView).Colors; }
|
||||||
|
set { (Host.ListView as IAutocompleteListView).Colors = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// AutocompleteMenu will popup automatically (when user writes text). Otherwise it will popup only programmatically or by Ctrl-Space.
|
||||||
|
/// </summary>
|
||||||
|
[DefaultValue(true)]
|
||||||
|
[Description("AutocompleteMenu will popup automatically (when user writes text). Otherwise it will popup only programmatically or by Ctrl-Space.")]
|
||||||
|
public bool AutoPopup { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// AutocompleteMenu will capture focus when opening.
|
||||||
|
/// </summary>
|
||||||
|
[DefaultValue(false)]
|
||||||
|
[Description("AutocompleteMenu will capture focus when opening.")]
|
||||||
|
public bool CaptureFocus { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Indicates whether the component should draw right-to-left for RTL languages.
|
||||||
|
/// </summary>
|
||||||
|
[DefaultValue(typeof(RightToLeft), "No")]
|
||||||
|
[Description("Indicates whether the component should draw right-to-left for RTL languages.")]
|
||||||
|
public RightToLeft RightToLeft {
|
||||||
|
get { return Host.RightToLeft; }
|
||||||
|
set { Host.RightToLeft = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Image list
|
||||||
|
/// </summary>
|
||||||
|
public ImageList ImageList {
|
||||||
|
get { return Host.ListView.ImageList; }
|
||||||
|
set { Host.ListView.ImageList = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Fragment
|
||||||
|
/// </summary>
|
||||||
|
[Browsable(false)]
|
||||||
|
public Range Fragment { get; internal set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Regex pattern for serach fragment around caret
|
||||||
|
/// </summary>
|
||||||
|
[Description("Regex pattern for serach fragment around caret")]
|
||||||
|
[DefaultValue(@"[\w\.]")]
|
||||||
|
public string SearchPattern { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Minimum fragment length for popup
|
||||||
|
/// </summary>
|
||||||
|
[Description("Minimum fragment length for popup")]
|
||||||
|
[DefaultValue(2)]
|
||||||
|
public int MinFragmentLength { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Allows TAB for select menu item
|
||||||
|
/// </summary>
|
||||||
|
[Description("Allows TAB for select menu item")]
|
||||||
|
[DefaultValue(false)]
|
||||||
|
public bool AllowsTabKey { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Interval of menu appear (ms)
|
||||||
|
/// </summary>
|
||||||
|
[Description("Interval of menu appear (ms)")]
|
||||||
|
[DefaultValue(500)]
|
||||||
|
public int AppearInterval { get; set; }
|
||||||
|
|
||||||
|
[DefaultValue(null)]
|
||||||
|
public string[] Items
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (sourceItems == null)
|
||||||
|
return null;
|
||||||
|
var list = new List<string>();
|
||||||
|
foreach (AutocompleteItem item in sourceItems)
|
||||||
|
list.Add(item.ToString());
|
||||||
|
return list.ToArray();
|
||||||
|
}
|
||||||
|
set { SetAutocompleteItems(value); }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The control for menu displaying.
|
||||||
|
/// Set to null for restore default ListView (AutocompleteListView).
|
||||||
|
/// </summary>
|
||||||
|
[Browsable(false)]
|
||||||
|
public IAutocompleteListView ListView
|
||||||
|
{
|
||||||
|
get { return Host.ListView; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
if (ListView != null)
|
||||||
|
{
|
||||||
|
var ctrl = value as Control;
|
||||||
|
value.ImageList = ImageList;
|
||||||
|
ctrl.RightToLeft = RightToLeft;
|
||||||
|
ctrl.Font = Font;
|
||||||
|
ctrl.MaximumSize = MaximumSize;
|
||||||
|
}
|
||||||
|
Host.ListView = value;
|
||||||
|
Host.ListView.ItemSelected += new EventHandler(ListView_ItemSelected);
|
||||||
|
Host.ListView.ItemHovered += new EventHandler<HoveredEventArgs>(ListView_ItemHovered);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[DefaultValue(true)]
|
||||||
|
public bool Enabled { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Updates size of the menu
|
||||||
|
/// </summary>
|
||||||
|
public void Update()
|
||||||
|
{
|
||||||
|
Host.CalcSize();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Returns rectangle of item
|
||||||
|
/// </summary>
|
||||||
|
public Rectangle GetItemRectangle(int itemIndex)
|
||||||
|
{
|
||||||
|
return Host.ListView.GetItemRectangle(itemIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region IExtenderProvider Members
|
||||||
|
|
||||||
|
bool IExtenderProvider.CanExtend(object extendee)
|
||||||
|
{
|
||||||
|
//find AutocompleteMenu with lowest hashcode
|
||||||
|
if (Container != null)
|
||||||
|
foreach (object comp in Container.Components)
|
||||||
|
if (comp is AutocompleteMenu)
|
||||||
|
if (comp.GetHashCode() < GetHashCode())
|
||||||
|
return false;
|
||||||
|
//we are main autocomplete menu on form ...
|
||||||
|
//check extendee as TextBox
|
||||||
|
if (!(extendee is Control))
|
||||||
|
return false;
|
||||||
|
var temp = TextBoxWrapper.Create(extendee as Control);
|
||||||
|
return temp!=null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetAutocompleteMenu(Control control, AutocompleteMenu menu)
|
||||||
|
{
|
||||||
|
if (menu != null)
|
||||||
|
{
|
||||||
|
if (WrapperByControls.ContainsKey(control))
|
||||||
|
{
|
||||||
|
var wrapper = WrapperByControls[control];
|
||||||
|
if (wrapper == null) return;
|
||||||
|
//
|
||||||
|
if (control.IsHandleCreated)
|
||||||
|
menu.SubscribeForm(wrapper);
|
||||||
|
else
|
||||||
|
control.HandleCreated += (o, e) => menu.SubscribeForm(wrapper);
|
||||||
|
//
|
||||||
|
AutocompleteMenuByControls[control] = this;
|
||||||
|
//
|
||||||
|
wrapper.LostFocus += menu.control_LostFocus;
|
||||||
|
wrapper.Scroll += menu.control_Scroll;
|
||||||
|
wrapper.KeyDown += menu.control_KeyDown;
|
||||||
|
wrapper.MouseDown += menu.control_MouseDown;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var wrapper = menu.CreateWrapper(control);
|
||||||
|
if (wrapper == null) return;
|
||||||
|
//
|
||||||
|
if (control.IsHandleCreated)
|
||||||
|
menu.SubscribeForm(wrapper);
|
||||||
|
else
|
||||||
|
control.HandleCreated += (o, e) => menu.SubscribeForm(wrapper);
|
||||||
|
//
|
||||||
|
AutocompleteMenuByControls[control] = this;
|
||||||
|
//
|
||||||
|
wrapper.LostFocus += menu.control_LostFocus;
|
||||||
|
wrapper.Scroll += menu.control_Scroll;
|
||||||
|
wrapper.KeyDown += menu.control_KeyDown;
|
||||||
|
wrapper.MouseDown += menu.control_MouseDown;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
AutocompleteMenuByControls.TryGetValue(control, out menu);
|
||||||
|
AutocompleteMenuByControls.Remove(control);
|
||||||
|
ITextBoxWrapper wrapper = null;
|
||||||
|
WrapperByControls.TryGetValue(control, out wrapper);
|
||||||
|
WrapperByControls.Remove(control);
|
||||||
|
if (wrapper != null && menu != null)
|
||||||
|
{
|
||||||
|
wrapper.LostFocus -= menu.control_LostFocus;
|
||||||
|
wrapper.Scroll -= menu.control_Scroll;
|
||||||
|
wrapper.KeyDown -= menu.control_KeyDown;
|
||||||
|
wrapper.MouseDown -= menu.control_MouseDown;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// User selects item
|
||||||
|
/// </summary>
|
||||||
|
[Description("Occurs when user selects item.")]
|
||||||
|
public event EventHandler<SelectingEventArgs> Selecting;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// It fires after item was inserting
|
||||||
|
/// </summary>
|
||||||
|
[Description("Occurs after user selected item.")]
|
||||||
|
public event EventHandler<SelectedEventArgs> Selected;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// It fires when item was hovered
|
||||||
|
/// </summary>
|
||||||
|
[Description("Occurs when user hovered item.")]
|
||||||
|
public event EventHandler<HoveredEventArgs> Hovered;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Occurs when popup menu is opening
|
||||||
|
/// </summary>
|
||||||
|
public event EventHandler<CancelEventArgs> Opening;
|
||||||
|
|
||||||
|
private void timer_Tick(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
timer.Stop();
|
||||||
|
if(TargetControlWrapper!=null)
|
||||||
|
ShowAutocomplete(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
private Form myForm;
|
||||||
|
|
||||||
|
void SubscribeForm(ITextBoxWrapper wrapper)
|
||||||
|
{
|
||||||
|
if (wrapper == null) return;
|
||||||
|
var form = wrapper.TargetControl.FindForm();
|
||||||
|
if (form == null) return;
|
||||||
|
if (myForm != null)
|
||||||
|
{
|
||||||
|
if (myForm == form)
|
||||||
|
return;
|
||||||
|
UnsubscribeForm(wrapper);
|
||||||
|
}
|
||||||
|
|
||||||
|
myForm = form;
|
||||||
|
|
||||||
|
form.LocationChanged += new EventHandler(form_LocationChanged);
|
||||||
|
form.ResizeBegin += new EventHandler(form_LocationChanged);
|
||||||
|
form.FormClosing += new FormClosingEventHandler(form_FormClosing);
|
||||||
|
form.LostFocus += new EventHandler(form_LocationChanged);
|
||||||
|
}
|
||||||
|
|
||||||
|
void UnsubscribeForm(ITextBoxWrapper wrapper)
|
||||||
|
{
|
||||||
|
if (wrapper == null) return;
|
||||||
|
var form = wrapper.TargetControl.FindForm();
|
||||||
|
if (form == null) return;
|
||||||
|
|
||||||
|
form.LocationChanged -= new EventHandler(form_LocationChanged);
|
||||||
|
form.ResizeBegin -= new EventHandler(form_LocationChanged);
|
||||||
|
form.FormClosing -= new FormClosingEventHandler(form_FormClosing);
|
||||||
|
form.LostFocus -= new EventHandler(form_LocationChanged);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void form_FormClosing(object sender, FormClosingEventArgs e)
|
||||||
|
{
|
||||||
|
Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void form_LocationChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void control_MouseDown(object sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
ITextBoxWrapper FindWrapper(Control sender)
|
||||||
|
{
|
||||||
|
while (sender != null)
|
||||||
|
{
|
||||||
|
if (WrapperByControls.ContainsKey(sender))
|
||||||
|
return WrapperByControls[sender];
|
||||||
|
|
||||||
|
sender = sender.Parent;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void control_KeyDown(object sender, KeyEventArgs e)
|
||||||
|
{
|
||||||
|
TargetControlWrapper = FindWrapper(sender as Control);
|
||||||
|
|
||||||
|
bool backspaceORdel = e.KeyCode == Keys.Back || e.KeyCode == Keys.Delete;
|
||||||
|
|
||||||
|
if (Host.Visible)
|
||||||
|
{
|
||||||
|
if (ProcessKey((char)e.KeyCode, Control.ModifierKeys))
|
||||||
|
e.SuppressKeyPress = true;
|
||||||
|
else
|
||||||
|
if (!backspaceORdel)
|
||||||
|
ResetTimer(1);
|
||||||
|
else
|
||||||
|
ResetTimer();
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!Host.Visible)
|
||||||
|
{
|
||||||
|
switch (e.KeyCode)
|
||||||
|
{
|
||||||
|
case Keys.Up:
|
||||||
|
case Keys.Down:
|
||||||
|
case Keys.PageUp:
|
||||||
|
case Keys.PageDown:
|
||||||
|
case Keys.Left:
|
||||||
|
case Keys.Right:
|
||||||
|
case Keys.End:
|
||||||
|
case Keys.Home:
|
||||||
|
case Keys.ControlKey:
|
||||||
|
case Keys.Escape:
|
||||||
|
case Keys.Tab:
|
||||||
|
{
|
||||||
|
timer.Stop();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (Control.ModifierKeys== Keys.Alt)
|
||||||
|
{
|
||||||
|
timer.Stop();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (Control.ModifierKeys == Keys.Control && e.KeyCode == Keys.Space)
|
||||||
|
{
|
||||||
|
ShowAutocomplete(true);
|
||||||
|
e.SuppressKeyPress = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ResetTimer();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ResetTimer()
|
||||||
|
{
|
||||||
|
ResetTimer(-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ResetTimer(int interval)
|
||||||
|
{
|
||||||
|
if (interval <= 0)
|
||||||
|
timer.Interval = AppearInterval;
|
||||||
|
else
|
||||||
|
timer.Interval = interval;
|
||||||
|
timer.Stop();
|
||||||
|
timer.Start();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void control_Scroll(object sender, ScrollEventArgs e)
|
||||||
|
{
|
||||||
|
Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void control_LostFocus(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (!Host.Focused) Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
public AutocompleteMenu GetAutocompleteMenu(Control control)
|
||||||
|
{
|
||||||
|
if (AutocompleteMenuByControls.ContainsKey(control))
|
||||||
|
return AutocompleteMenuByControls[control];
|
||||||
|
else
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool forcedOpened = false;
|
||||||
|
|
||||||
|
internal void ShowAutocomplete(bool forced)
|
||||||
|
{
|
||||||
|
if (forced)
|
||||||
|
forcedOpened = true;
|
||||||
|
|
||||||
|
if (TargetControlWrapper != null && TargetControlWrapper.Readonly)
|
||||||
|
{
|
||||||
|
Close();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!Enabled)
|
||||||
|
{
|
||||||
|
Close();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!forcedOpened && !AutoPopup)
|
||||||
|
{
|
||||||
|
Close();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//build list
|
||||||
|
BuildAutocompleteList(forcedOpened);
|
||||||
|
|
||||||
|
//show popup menu
|
||||||
|
if (VisibleItems.Count > 0)
|
||||||
|
{
|
||||||
|
if (forced && VisibleItems.Count == 1 && Host.ListView.SelectedItemIndex == 0)
|
||||||
|
{
|
||||||
|
//do autocomplete if menu contains only one line and user press CTRL-SPACE
|
||||||
|
OnSelecting();
|
||||||
|
Close();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
ShowMenu();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ShowMenu()
|
||||||
|
{
|
||||||
|
if (!Host.Visible)
|
||||||
|
{
|
||||||
|
var args = new CancelEventArgs();
|
||||||
|
OnOpening(args);
|
||||||
|
if (!args.Cancel)
|
||||||
|
{
|
||||||
|
//calc screen point for popup menu
|
||||||
|
Point point = TargetControlWrapper.TargetControl.Location;
|
||||||
|
point.Offset(2, TargetControlWrapper.TargetControl.Height + 2);
|
||||||
|
point = TargetControlWrapper.GetPositionFromCharIndex(Fragment.Start);
|
||||||
|
point.Offset(2, TargetControlWrapper.TargetControl.Font.Height + 2);
|
||||||
|
//
|
||||||
|
Host.Show(TargetControlWrapper.TargetControl, point);
|
||||||
|
if (CaptureFocus)
|
||||||
|
{
|
||||||
|
(Host.ListView as Control).Focus();
|
||||||
|
//ProcessKey((char) Keys.Down, Keys.None);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
(Host.ListView as Control).Invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void BuildAutocompleteList(bool forced)
|
||||||
|
{
|
||||||
|
var visibleItems = new List<AutocompleteItem>();
|
||||||
|
|
||||||
|
bool foundSelected = false;
|
||||||
|
int selectedIndex = -1;
|
||||||
|
//get fragment around caret
|
||||||
|
Range fragment = GetFragment(SearchPattern);
|
||||||
|
string text = fragment.Text;
|
||||||
|
//
|
||||||
|
if (sourceItems != null)
|
||||||
|
if (forced || (text.Length >= MinFragmentLength /* && tb.Selection.Start == tb.Selection.End*/))
|
||||||
|
{
|
||||||
|
Fragment = fragment;
|
||||||
|
//build popup menu
|
||||||
|
foreach (AutocompleteItem item in sourceItems)
|
||||||
|
{
|
||||||
|
item.Parent = this;
|
||||||
|
CompareResult res = item.Compare(text);
|
||||||
|
if (res != CompareResult.Hidden)
|
||||||
|
visibleItems.Add(item);
|
||||||
|
if (res == CompareResult.VisibleAndSelected && !foundSelected)
|
||||||
|
{
|
||||||
|
foundSelected = true;
|
||||||
|
selectedIndex = visibleItems.Count - 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
VisibleItems = visibleItems;
|
||||||
|
|
||||||
|
if (foundSelected)
|
||||||
|
Host.ListView.SelectedItemIndex = selectedIndex;
|
||||||
|
else
|
||||||
|
Host.ListView.SelectedItemIndex = 0;
|
||||||
|
|
||||||
|
Host.ListView.HighlightedItemIndex = -1;
|
||||||
|
|
||||||
|
Host.CalcSize();
|
||||||
|
}
|
||||||
|
|
||||||
|
internal void OnOpening(CancelEventArgs args)
|
||||||
|
{
|
||||||
|
if (Opening != null)
|
||||||
|
Opening(this, args);
|
||||||
|
}
|
||||||
|
|
||||||
|
private Range GetFragment(string searchPattern)
|
||||||
|
{
|
||||||
|
var tb = TargetControlWrapper;
|
||||||
|
|
||||||
|
if (tb.SelectionLength > 0) return new Range(tb);
|
||||||
|
|
||||||
|
string text = tb.Text;
|
||||||
|
var regex = new Regex(searchPattern);
|
||||||
|
var result = new Range(tb);
|
||||||
|
|
||||||
|
int startPos = tb.SelectionStart;
|
||||||
|
//go forward
|
||||||
|
int i = startPos;
|
||||||
|
while (i >= 0 && i < text.Length)
|
||||||
|
{
|
||||||
|
if (!regex.IsMatch(text[i].ToString()))
|
||||||
|
break;
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
result.End = i;
|
||||||
|
|
||||||
|
//go backward
|
||||||
|
i = startPos;
|
||||||
|
while (i > 0 && (i - 1) < text.Length)
|
||||||
|
{
|
||||||
|
if (!regex.IsMatch(text[i - 1].ToString()))
|
||||||
|
break;
|
||||||
|
i--;
|
||||||
|
}
|
||||||
|
result.Start = i;
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Close()
|
||||||
|
{
|
||||||
|
Host.ListView.HideToolTip(Host.ListView.GetParentControl());
|
||||||
|
Host.Close();
|
||||||
|
forcedOpened = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetAutocompleteItems(IEnumerable<string> items)
|
||||||
|
{
|
||||||
|
var list = new List<AutocompleteItem>();
|
||||||
|
if (items == null)
|
||||||
|
{
|
||||||
|
sourceItems = null;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
foreach (string item in items)
|
||||||
|
list.Add(new AutocompleteItem(item));
|
||||||
|
SetAutocompleteItems(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetAutocompleteItems(IEnumerable<AutocompleteItem> items)
|
||||||
|
{
|
||||||
|
sourceItems = items;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AddItem(string item)
|
||||||
|
{
|
||||||
|
AddItem(new AutocompleteItem(item));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AddItem(AutocompleteItem item)
|
||||||
|
{
|
||||||
|
if (sourceItems == null)
|
||||||
|
sourceItems = new List<AutocompleteItem>();
|
||||||
|
|
||||||
|
if (sourceItems is IList)
|
||||||
|
(sourceItems as IList).Add(item);
|
||||||
|
else
|
||||||
|
throw new Exception("Current autocomplete items does not support adding");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Shows popup menu immediately
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="forced">If True - MinFragmentLength will be ignored</param>
|
||||||
|
public void Show(Control control, bool forced)
|
||||||
|
{
|
||||||
|
SetAutocompleteMenu(control, this);
|
||||||
|
this.TargetControlWrapper = FindWrapper(control);
|
||||||
|
ShowAutocomplete(forced);
|
||||||
|
}
|
||||||
|
|
||||||
|
internal virtual void OnSelecting()
|
||||||
|
{
|
||||||
|
if (SelectedItemIndex < 0 || SelectedItemIndex >= VisibleItems.Count)
|
||||||
|
return;
|
||||||
|
|
||||||
|
AutocompleteItem item = VisibleItems[SelectedItemIndex];
|
||||||
|
var args = new SelectingEventArgs
|
||||||
|
{
|
||||||
|
Item = item,
|
||||||
|
SelectedIndex = SelectedItemIndex
|
||||||
|
};
|
||||||
|
|
||||||
|
OnSelecting(args);
|
||||||
|
|
||||||
|
if (args.Cancel)
|
||||||
|
{
|
||||||
|
SelectedItemIndex = args.SelectedIndex;
|
||||||
|
(Host.ListView as Control).Invalidate(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!args.Handled)
|
||||||
|
{
|
||||||
|
Range fragment = Fragment;
|
||||||
|
ApplyAutocomplete(item, fragment);
|
||||||
|
}
|
||||||
|
|
||||||
|
Close();
|
||||||
|
//
|
||||||
|
var args2 = new SelectedEventArgs
|
||||||
|
{
|
||||||
|
Item = item,
|
||||||
|
Control = TargetControlWrapper.TargetControl
|
||||||
|
};
|
||||||
|
item.OnSelected(args2);
|
||||||
|
OnSelected(args2);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ApplyAutocomplete(AutocompleteItem item, Range fragment)
|
||||||
|
{
|
||||||
|
string newText = item.GetTextForReplace();
|
||||||
|
//replace text of fragment
|
||||||
|
fragment.Text = newText;
|
||||||
|
fragment.TargetWrapper.TargetControl.Focus();
|
||||||
|
}
|
||||||
|
|
||||||
|
internal void OnSelecting(SelectingEventArgs args)
|
||||||
|
{
|
||||||
|
if (Selecting != null)
|
||||||
|
Selecting(this, args);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OnSelected(SelectedEventArgs args)
|
||||||
|
{
|
||||||
|
if (Selected != null)
|
||||||
|
Selected(this, args);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void SetColumns(string[] columns, int[] columnsWidth = null)
|
||||||
|
{
|
||||||
|
ListView.ColumnsTitle = columns;
|
||||||
|
ListView.ColumnsWidth = columnsWidth;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SelectNext(int shift)
|
||||||
|
{
|
||||||
|
SelectedItemIndex = Math.Max(0, Math.Min(SelectedItemIndex + shift, VisibleItems.Count - 1));
|
||||||
|
//
|
||||||
|
(Host.ListView as Control).Invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool ProcessKey(char c, Keys keyModifiers)
|
||||||
|
{
|
||||||
|
var page = Host.Height / (Font.Height + 4);
|
||||||
|
if (keyModifiers == Keys.None)
|
||||||
|
switch ((Keys) c)
|
||||||
|
{
|
||||||
|
case Keys.Down:
|
||||||
|
SelectNext(+1);
|
||||||
|
return true;
|
||||||
|
case Keys.PageDown:
|
||||||
|
SelectNext(+page);
|
||||||
|
return true;
|
||||||
|
case Keys.Up:
|
||||||
|
SelectNext(-1);
|
||||||
|
return true;
|
||||||
|
case Keys.PageUp:
|
||||||
|
SelectNext(-page);
|
||||||
|
return true;
|
||||||
|
case Keys.Enter:
|
||||||
|
OnSelecting();
|
||||||
|
return true;
|
||||||
|
case Keys.Tab:
|
||||||
|
if (!AllowsTabKey)
|
||||||
|
break;
|
||||||
|
OnSelecting();
|
||||||
|
return true;
|
||||||
|
case Keys.Left:
|
||||||
|
case Keys.Right:
|
||||||
|
Close();
|
||||||
|
return false;
|
||||||
|
case Keys.Escape:
|
||||||
|
Close();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Menu is visible
|
||||||
|
/// </summary>
|
||||||
|
public bool Visible
|
||||||
|
{
|
||||||
|
get { return Host != null && Host.Visible; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,120 @@
|
||||||
|
<?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=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>
|
|
@ -0,0 +1,98 @@
|
||||||
|
using System;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace AutocompleteMenuNS
|
||||||
|
{
|
||||||
|
[System.ComponentModel.ToolboxItem(false)]
|
||||||
|
internal class AutocompleteMenuHost : ToolStripDropDown
|
||||||
|
{
|
||||||
|
private IAutocompleteListView listView;
|
||||||
|
public ToolStripControlHost Host { get; set; }
|
||||||
|
public readonly AutocompleteMenu Menu;
|
||||||
|
|
||||||
|
public IAutocompleteListView ListView
|
||||||
|
{
|
||||||
|
get { return listView; }
|
||||||
|
set {
|
||||||
|
|
||||||
|
if(listView != null)
|
||||||
|
(listView as Control).LostFocus -= new EventHandler(ListView_LostFocus);
|
||||||
|
|
||||||
|
if (value == null)
|
||||||
|
listView = new AutocompleteListView();
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!(value is Control))
|
||||||
|
throw new Exception("ListView must be derived from Control class");
|
||||||
|
|
||||||
|
listView = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
Host = new ToolStripControlHost(ListView as Control);
|
||||||
|
Host.Margin = new Padding(2, 2, 2, 2);
|
||||||
|
Host.Padding = Padding.Empty;
|
||||||
|
Host.AutoSize = false;
|
||||||
|
Host.AutoToolTip = false;
|
||||||
|
|
||||||
|
(ListView as Control).MaximumSize = Menu.MaximumSize;
|
||||||
|
(ListView as Control).Size = Menu.MaximumSize;
|
||||||
|
(ListView as Control).LostFocus += new EventHandler(ListView_LostFocus);
|
||||||
|
|
||||||
|
CalcSize();
|
||||||
|
base.Items.Clear();
|
||||||
|
base.Items.Add(Host);
|
||||||
|
(ListView as Control).Parent = this;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public AutocompleteMenuHost(AutocompleteMenu menu)
|
||||||
|
{
|
||||||
|
AutoClose = false;
|
||||||
|
AutoSize = false;
|
||||||
|
Margin = Padding.Empty;
|
||||||
|
Padding = Padding.Empty;
|
||||||
|
|
||||||
|
Menu = menu;
|
||||||
|
ListView = new AutocompleteListView();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnPaintBackground(PaintEventArgs e)
|
||||||
|
{
|
||||||
|
using (var brush = new SolidBrush(listView.Colors.BackColor))
|
||||||
|
e.Graphics.FillRectangle(brush, e.ClipRectangle);
|
||||||
|
}
|
||||||
|
|
||||||
|
internal void CalcSize()
|
||||||
|
{
|
||||||
|
Host.Size = (ListView as Control).Size;
|
||||||
|
Size = new System.Drawing.Size((ListView as Control).Size.Width + 4, (ListView as Control).Size.Height + 4);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override RightToLeft RightToLeft
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return base.RightToLeft;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
base.RightToLeft = value;
|
||||||
|
(ListView as Control).RightToLeft = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnLostFocus(EventArgs e)
|
||||||
|
{
|
||||||
|
base.OnLostFocus(e);
|
||||||
|
if(!(ListView as Control).Focused)
|
||||||
|
Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ListView_LostFocus(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (!Focused)
|
||||||
|
Close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,28 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace AutocompleteMenuNS
|
||||||
|
{
|
||||||
|
[Serializable]
|
||||||
|
public class Colors
|
||||||
|
{
|
||||||
|
public Color ForeColor { get; set; }
|
||||||
|
public Color BackColor { get; set; }
|
||||||
|
public Color SelectedForeColor { get; set; }
|
||||||
|
public Color SelectedBackColor { get; set; }
|
||||||
|
public Color SelectedBackColor2 { get; set; }
|
||||||
|
public Color HighlightingColor { get; set; }
|
||||||
|
|
||||||
|
public Colors()
|
||||||
|
{
|
||||||
|
ForeColor = Color.Black;
|
||||||
|
BackColor = Color.White;
|
||||||
|
SelectedForeColor = Color.Black;
|
||||||
|
SelectedBackColor = Color.Orange;
|
||||||
|
SelectedBackColor2 = Color.White;
|
||||||
|
HighlightingColor = Color.Orange;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,53 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Text;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace AutocompleteMenuNS
|
||||||
|
{
|
||||||
|
public class SelectingEventArgs : EventArgs
|
||||||
|
{
|
||||||
|
public AutocompleteItem Item { get; internal set; }
|
||||||
|
public bool Cancel { get; set; }
|
||||||
|
public int SelectedIndex { get; set; }
|
||||||
|
public bool Handled { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class SelectedEventArgs : EventArgs
|
||||||
|
{
|
||||||
|
public AutocompleteItem Item { get; internal set; }
|
||||||
|
public Control Control { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class HoveredEventArgs : EventArgs
|
||||||
|
{
|
||||||
|
public AutocompleteItem Item { get; internal set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public class PaintItemEventArgs : PaintEventArgs
|
||||||
|
{
|
||||||
|
public RectangleF TextRect { get; internal set; }
|
||||||
|
public StringFormat StringFormat { get; internal set; }
|
||||||
|
public Font Font { get; internal set; }
|
||||||
|
public bool IsSelected { get; internal set; }
|
||||||
|
public bool IsHovered { get; internal set; }
|
||||||
|
public Colors Colors { get; internal set; }
|
||||||
|
|
||||||
|
public PaintItemEventArgs(Graphics graphics, Rectangle clipRect):base(graphics, clipRect)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class WrapperNeededEventArgs : EventArgs
|
||||||
|
{
|
||||||
|
public Control TargetControl { get; private set; }
|
||||||
|
public ITextBoxWrapper Wrapper { get; set; }
|
||||||
|
|
||||||
|
public WrapperNeededEventArgs(Control targetControl)
|
||||||
|
{
|
||||||
|
this.TargetControl = targetControl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,77 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace AutocompleteMenuNS
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Control for displaying menu items, hosted in AutocompleteMenu.
|
||||||
|
/// </summary>
|
||||||
|
public interface IAutocompleteListView
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Image list
|
||||||
|
/// </summary>
|
||||||
|
ImageList ImageList { get; set; }
|
||||||
|
|
||||||
|
string[] ColumnsTitle { get; set; }
|
||||||
|
int[] ColumnsWidth { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Index of current selected item
|
||||||
|
/// </summary>
|
||||||
|
int SelectedItemIndex { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Index of current selected item
|
||||||
|
/// </summary>
|
||||||
|
int HighlightedItemIndex { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// List of visible elements
|
||||||
|
/// </summary>
|
||||||
|
IList<AutocompleteItem> VisibleItems { get;set;}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Duration (ms) of tooltip showing
|
||||||
|
/// </summary>
|
||||||
|
int ToolTipDuration { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Occurs when user selected item for inserting into text
|
||||||
|
/// </summary>
|
||||||
|
event EventHandler ItemSelected;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Occurs when current hovered item is changing
|
||||||
|
/// </summary>
|
||||||
|
event EventHandler<HoveredEventArgs> ItemHovered;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Shows tooltip
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="autocompleteItem"></param>
|
||||||
|
/// <param name="control"></param>
|
||||||
|
void ShowToolTip(AutocompleteItem autocompleteItem, Control control = null);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Hides tooltip
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="control"></param>
|
||||||
|
void HideToolTip(Control control);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Returns rectangle of item
|
||||||
|
/// </summary>
|
||||||
|
Rectangle GetItemRectangle(int itemIndex);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Colors
|
||||||
|
/// </summary>
|
||||||
|
Colors Colors { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
Control GetParentControl();
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Text;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace AutocompleteMenuNS
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Wrapper over the control like TextBox.
|
||||||
|
/// </summary>
|
||||||
|
public interface ITextBoxWrapper
|
||||||
|
{
|
||||||
|
Control TargetControl { get; }
|
||||||
|
string Text { get; }
|
||||||
|
string SelectedText { get; set; }
|
||||||
|
int SelectionLength { get; set; }
|
||||||
|
int SelectionStart { get; set; }
|
||||||
|
Point GetPositionFromCharIndex(int pos);
|
||||||
|
bool Readonly { get; }
|
||||||
|
event EventHandler LostFocus;
|
||||||
|
event ScrollEventHandler Scroll;
|
||||||
|
event KeyEventHandler KeyDown;
|
||||||
|
event MouseEventHandler MouseDown;
|
||||||
|
}
|
||||||
|
}
|