### 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
|
||||
file_put_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\
|
||||
程序开发源码|E:\我的代码\毕方项目\C#
|
||||
程序开发源码|E:\My Datas\毕方项目\C#
|
||||
程序开发源码|E:\My Datas\My Codes\毕方项目\CSharp
|
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]
|
||||
Exts=*.cs;*.sln;*.csproj
|
||||
Exts=PHP文件(*.php;*.html;*.js;*.css;*.htm)
|
||||
SkipDirName_On=1
|
||||
SkipDirName_Text=debug;.git
|
||||
SearchSubDir=1
|
||||
IgnoreBinExt=1
|
||||
SearchHiddenDir=0
|
||||
SearchHiddenDir=1
|
||||
LimitFileSize_On=1
|
||||
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]
|
||||
JumpList=S193@192.168.1.195
|
||||
|
||||
[Configuration\Interface\Updates]
|
||||
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
|
||||
- *.[新增]全新文本编辑器,支持高亮、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;
|
||||
}
|
||||
}
|