## 📅2026-06-04 星期四更新
### RaUI V4.0.2606.0401 - *.[新增]QuickWeb新增支持重试次数。 - *.[新增]RySetting类新增支持json格式设置存储和获取。 - *.[新增]RySetting类新增支持读取设置到内存,然后按配置名称读取。 - *.[新增]新增SuperFileSearch类,文件查找。 - *.[新增]QuickWeb新增CurPageUrl属性。 - *.[新增]HardWare新增支持获取显示器信息。 - *.[新增]HardWare新增GetWMI函数。 - *.[改进]QuickWeb类的UA从IE改为Edge。 - *.[改进]Hosts类IP与域名分隔符从\t改为三个空格。 - *.[改进]RyImage的CropOrFill函数,如果输入的长宽比例与原图一致,则返回原图的副本而不是原图。 - *.[改进]RySoft类的CompareVer函数支持特殊格式的版本号。 - *.[改进]QuickWeb的ConvertUrl函数新增支持自动从CurPageUrl获取。 - *.[改进]DateDiff函数对时间差异小于等于10秒的,自动加上毫秒数据。 - *.[修复]修复ObjectListView控件的AspectGetter方法可能调用null对象的问题。 - *.[修复]修复日期选择控件在获取节假日数据时,会因为节假日文件夹无法访问而报错的问题。 - *.[修复]修复某些情况下剪切板权限问题导致ObjectListView控件报错。 - *.[修复]修复RyImage的CropOrFill函数图片比例不一致时,也是返回原图副本的BUG。 ### Itrycn_Project2 V1.0.2606.0401 - *.[改进]将公共调用,无需新增内容的部分代码,改到Public文件夹下
This commit is contained in:
parent
690d2651f5
commit
7ff45b3074
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
|
|
@ -1758,6 +1758,11 @@
|
|||
XML
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:ryCommon.Pram.SettingType.Json">
|
||||
<summary>
|
||||
Json
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:ryCommon.Pram.ObjectItem">
|
||||
<summary>
|
||||
对象值
|
||||
|
|
@ -2967,127 +2972,6 @@
|
|||
全屏平铺
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:ryCommon.RySetting">
|
||||
<summary>
|
||||
设置管理类,快速添加设置。
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ryCommon.RySetting.#ctor">
|
||||
<summary>
|
||||
设置管理类,快速添加设置。
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ryCommon.RySetting.#ctor(System.String)">
|
||||
<summary>
|
||||
设置管理类,快速添加设置。
|
||||
</summary>
|
||||
<param name="_FilePath"></param>
|
||||
</member>
|
||||
<member name="F:ryCommon.RySetting.FileType">
|
||||
<summary>
|
||||
存储类型
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:ryCommon.RySetting.FilePath">
|
||||
<summary>
|
||||
配置存储路径
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:ryCommon.RySetting.SettingXML">
|
||||
<summary>
|
||||
设置XML内容
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ryCommon.RySetting.Add(System.String,System.Windows.Forms.Control)">
|
||||
<summary>
|
||||
添加控件
|
||||
</summary>
|
||||
<param name="_id"></param>
|
||||
<param name="ctl"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryCommon.RySetting.Add(System.String,System.String)">
|
||||
<summary>
|
||||
设置值
|
||||
</summary>
|
||||
<param name="_id"></param>
|
||||
<param name="value"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryCommon.RySetting.Add(System.String,System.Windows.Forms.Control,ryCommon.Pram.CValueType,System.Object)">
|
||||
<summary>
|
||||
添加控件
|
||||
</summary>
|
||||
<param name="_id"></param>
|
||||
<param name="ctl"></param>
|
||||
<param name="valuetype"></param>
|
||||
<param name="_defValue"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryCommon.RySetting.Add(System.String,System.Windows.Forms.NumericUpDown,System.Decimal)">
|
||||
<summary>
|
||||
添加控件
|
||||
</summary>
|
||||
<param name="_id"></param>
|
||||
<param name="ctl"></param>
|
||||
<param name="_defValue"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryCommon.RySetting.Add(System.String,System.Windows.Forms.DateTimePicker,System.DateTime)">
|
||||
<summary>
|
||||
添加控件
|
||||
</summary>
|
||||
<param name="_id"></param>
|
||||
<param name="ctl"></param>
|
||||
<param name="_defValue"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryCommon.RySetting.Add(System.String,System.Windows.Forms.CheckBox,System.Boolean)">
|
||||
<summary>
|
||||
添加控件
|
||||
</summary>
|
||||
<param name="_id"></param>
|
||||
<param name="ctl"></param>
|
||||
<param name="_defValue"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryCommon.RySetting.Add(System.String,System.Windows.Forms.ComboBox,System.Int32)">
|
||||
<summary>
|
||||
添加控件
|
||||
</summary>
|
||||
<param name="_id"></param>
|
||||
<param name="ctl"></param>
|
||||
<param name="_defValue"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryCommon.RySetting.Add(System.String,System.Windows.Forms.ComboBox,System.String)">
|
||||
<summary>
|
||||
添加控件
|
||||
</summary>
|
||||
<param name="_id"></param>
|
||||
<param name="ctl"></param>
|
||||
<param name="_defValue"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryCommon.RySetting.Add(System.String,System.Windows.Forms.TextBox,System.String)">
|
||||
<summary>
|
||||
添加控件
|
||||
</summary>
|
||||
<param name="_id"></param>
|
||||
<param name="ctl"></param>
|
||||
<param name="_defValue"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryCommon.RySetting.Read">
|
||||
<summary>
|
||||
读取配置
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ryCommon.RySetting.Save">
|
||||
<summary>
|
||||
保存配置
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:ryCommon.SoundPlay">
|
||||
<summary>
|
||||
音频播放类
|
||||
|
|
@ -3639,6 +3523,142 @@
|
|||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:ryCommon.SuperFileSearch">
|
||||
<summary>
|
||||
超级文件搜索
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:ryCommon.SuperFileSearch.CancelActions">
|
||||
<summary>
|
||||
取消选项
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:ryCommon.SuperFileSearch.CancelActions.No">
|
||||
<summary>
|
||||
不取消,继续
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:ryCommon.SuperFileSearch.CancelActions.CurrentDirectory">
|
||||
<summary>
|
||||
只取消当前目录
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:ryCommon.SuperFileSearch.CancelActions.AllDirectories">
|
||||
<summary>
|
||||
取消后面的所有搜索
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryCommon.SuperFileSearch.Cancel">
|
||||
<summary>
|
||||
是否取消
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:ryCommon.SuperFileSearch.SearchFileHandler">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="sender"></param>
|
||||
<param name="Fileinfo"></param>
|
||||
<param name="AddToResult">是否将该文件添加到结果</param>
|
||||
</member>
|
||||
<member name="E:ryCommon.SuperFileSearch.OnSearchFile">
|
||||
<summary>
|
||||
搜索文件事件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:ryCommon.SuperFileSearch.SearchDirHandler">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="sender"></param>
|
||||
<param name="DirInfo"></param>
|
||||
<param name="Cancel"></param>
|
||||
</member>
|
||||
<member name="E:ryCommon.SuperFileSearch.OnSearchDir">
|
||||
<summary>
|
||||
搜索目录事件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:ryCommon.SuperFileSearch.SearchErrorHandler">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="sender"></param>
|
||||
<param name="id"></param>
|
||||
<param name="ex"></param>
|
||||
</member>
|
||||
<member name="E:ryCommon.SuperFileSearch.OnError">
|
||||
<summary>
|
||||
错误事件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryCommon.SuperFileSearch.GetSubFolder">
|
||||
<summary>
|
||||
是否查找搜索子目录
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:ryCommon.SuperFileSearch.ResultFiles">
|
||||
<summary>
|
||||
查找发现的文件列表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:ryCommon.SuperFileSearch.ResultDirs">
|
||||
<summary>
|
||||
查找发现的目录列表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryCommon.SuperFileSearch.ResultFilesCount">
|
||||
<summary>
|
||||
结果对应的文件数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryCommon.SuperFileSearch.ResultDirsCount">
|
||||
<summary>
|
||||
结果对应的目录数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryCommon.SuperFileSearch.ResultCount">
|
||||
<summary>
|
||||
结果对应的文件+目录数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryCommon.SuperFileSearch.Tag">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ryCommon.SuperFileSearch.Search(System.String,System.String)">
|
||||
<summary>
|
||||
搜索查找文件
|
||||
</summary>
|
||||
<param name="SearchPath"></param>
|
||||
<param name="SearchExts"></param>
|
||||
</member>
|
||||
<member name="M:ryCommon.SuperFileSearch.Search(System.Collections.Generic.List{System.String},System.String)">
|
||||
<summary>
|
||||
搜索查找文件
|
||||
</summary>
|
||||
<param name="SearchPaths"></param>
|
||||
<param name="SearchExts"></param>
|
||||
</member>
|
||||
<member name="M:ryCommon.SuperFileSearch.GetFiles(System.String,System.String,System.Boolean)">
|
||||
<summary>
|
||||
获取指定文件夹下的文件列表,支持多个扩展名获取,支持获取子文件夹的数据
|
||||
</summary>
|
||||
<param name="folder"></param>
|
||||
<param name="exts"></param>
|
||||
<param name="GetSubFolder">是否获取子文件夹数据</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryCommon.SuperFileSearch.GetFiles(System.String,System.String)">
|
||||
<summary>
|
||||
获取指定文件夹下的文件列表,支持多个扩展名获取(子文件夹里的文件不会去获取)。如果
|
||||
文件夹不存在,则获取空列表(本函数不会返回null值)
|
||||
</summary>
|
||||
<param name="folder">要获取的文件夹路径</param>
|
||||
<param name="exts">要获取的扩展名列表(例如:*.mp3;*.wav)</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:ryCommon.TxtFileEncoder">
|
||||
<summary>
|
||||
用于取得一个文本文件的编码方式(Encoding)。
|
||||
|
|
@ -6276,6 +6296,11 @@
|
|||
<param name="filePath">文件路径</param>
|
||||
<param name="iconPath">图标路径</param>
|
||||
</member>
|
||||
<member name="M:ryCommon.RyRegedit.UpdateSetNotify">
|
||||
<summary>
|
||||
通知系统设置发生变化
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ryCommon.RyRegedit.SetFileAssociation(System.String,System.String,System.String,System.String,System.String)">
|
||||
<summary>
|
||||
设置文件关联
|
||||
|
|
@ -10034,6 +10059,14 @@
|
|||
<param name="showChsName">是否显示中文名字</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RyHardWare.HardWare.GetWMI(System.String,System.String)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="scope"></param>
|
||||
<param name="sql"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RyHardWare.HardWare.GetCpuId">
|
||||
<summary>
|
||||
获取CPU ID
|
||||
|
|
@ -10052,6 +10085,12 @@
|
|||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RyHardWare.HardWare.GetMonitorPnpDeviceId">
|
||||
<summary>
|
||||
获取显示器的相关硬件ID
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RyHardWare.HardWare.GetMainHardware(System.Boolean)">
|
||||
<summary>
|
||||
获取主要硬件信息
|
||||
|
|
@ -12887,6 +12926,11 @@
|
|||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="P:ryCommonDb.IDbInterface.UseTime">
|
||||
<summary>
|
||||
用时
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:ryCommonDb.MSSQLDb">
|
||||
<summary>
|
||||
|
||||
|
|
@ -13281,6 +13325,11 @@
|
|||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryCommonDb.SqlDataProvider.UseTime">
|
||||
<summary>
|
||||
用时
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:ryCommonDb.ClsMySQLDb">
|
||||
<summary>
|
||||
|
||||
|
|
@ -13675,6 +13724,11 @@
|
|||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryCommonDb.MySqlDataProvider.UseTime">
|
||||
<summary>
|
||||
用时
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:ryCommonDb.SQLIitem">
|
||||
<summary>
|
||||
SQL字段类型
|
||||
|
|
@ -14368,6 +14422,11 @@
|
|||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryCommonDb.SQLiteDataProvider.UseTime">
|
||||
<summary>
|
||||
用时
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:OneKeyCreate.FrmAddNoticeUser">
|
||||
<summary>
|
||||
|
||||
|
|
@ -15034,12 +15093,24 @@
|
|||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RyWeb.QuickWeb.CurPageUrl">
|
||||
<summary>
|
||||
当前页面
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:RyWeb.QuickWeb.#ctor(System.Int32)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="Timeout">超时时间</param>
|
||||
</member>
|
||||
<member name="M:RyWeb.QuickWeb.#ctor(System.Int32,System.Int32)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="Timeout">超时时间</param>
|
||||
<param name="RetryCount">重试次数</param>
|
||||
</member>
|
||||
<member name="M:RyWeb.QuickWeb.Post(System.String,System.String,System.String)">
|
||||
<summary>
|
||||
以post方式获取网页源码
|
||||
|
|
@ -15075,6 +15146,11 @@
|
|||
<param name="post"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="P:RyWeb.QuickWeb.RetryCount">
|
||||
<summary>
|
||||
重试次数
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RyWeb.QuickWeb.HeadText">
|
||||
<summary>
|
||||
头信息
|
||||
|
|
@ -15219,6 +15295,13 @@
|
|||
<param name="str"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RyWeb.QuickWeb.ConvertUrl(System.String)">
|
||||
<summary>
|
||||
将相对网址转换成绝对网址
|
||||
</summary>
|
||||
<param name="rel_url"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RyWeb.QuickWeb.ConvertUrl(System.String,System.String)">
|
||||
<summary>
|
||||
将相对网址转换成绝对网址
|
||||
|
|
@ -24090,16 +24173,21 @@
|
|||
存储类型
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:ryControls.RySetting.FilePath">
|
||||
<member name="P:ryControls.RySetting.FilePath">
|
||||
<summary>
|
||||
配置存储路径
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:ryControls.RySetting.SettingXML">
|
||||
<member name="P:ryControls.RySetting.SettingXML">
|
||||
<summary>
|
||||
设置XML内容
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryControls.RySetting.SettingContent">
|
||||
<summary>
|
||||
获取/设置配置的内容(适用于xml和json)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ryControls.RySetting.Add(System.String,System.Windows.Forms.Control)">
|
||||
<summary>
|
||||
添加控件
|
||||
|
|
@ -24217,6 +24305,81 @@
|
|||
保存配置
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryControls.RySetting.MemObject">
|
||||
<summary>
|
||||
保存到内存中的对象
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ryControls.RySetting.ReadToMem">
|
||||
<summary>
|
||||
读取内容到内存中
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ryControls.RySetting.GetFromMem(System.String,System.Int32)">
|
||||
<summary>
|
||||
从内存中读取配置
|
||||
</summary>
|
||||
<param name="name"></param>
|
||||
<param name="defValue"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryControls.RySetting.GetFromMem(System.String,System.Int64)">
|
||||
<summary>
|
||||
从内存中读取配置
|
||||
</summary>
|
||||
<param name="name"></param>
|
||||
<param name="defValue"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryControls.RySetting.GetFromMem(System.String,System.Boolean)">
|
||||
<summary>
|
||||
从内存中读取配置
|
||||
</summary>
|
||||
<param name="name"></param>
|
||||
<param name="defValue"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryControls.RySetting.GetFromMem(System.String,System.Double)">
|
||||
<summary>
|
||||
从内存中读取配置
|
||||
</summary>
|
||||
<param name="name"></param>
|
||||
<param name="defValue"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryControls.RySetting.GetFromMem(System.String,System.Decimal)">
|
||||
<summary>
|
||||
从内存中读取配置
|
||||
</summary>
|
||||
<param name="name"></param>
|
||||
<param name="defValue"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryControls.RySetting.GetFromMem(System.String,System.String)">
|
||||
<summary>
|
||||
从内存中读取配置
|
||||
</summary>
|
||||
<param name="name"></param>
|
||||
<param name="defValue"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryControls.RySetting.GetFromMem(System.String)">
|
||||
<summary>
|
||||
从内存中读取配置
|
||||
</summary>
|
||||
<param name="name"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryControls.RySetting.GetFromMem(System.String,System.Int32,System.Int32,System.Int32)">
|
||||
<summary>
|
||||
从内存中读取配置
|
||||
</summary>
|
||||
<param name="name"></param>
|
||||
<param name="min"></param>
|
||||
<param name="max"></param>
|
||||
<param name="defValue"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:ryControls.ColorHSL">
|
||||
<summary>
|
||||
类 名:ColorHSL
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
|
|
@ -1758,6 +1758,11 @@
|
|||
XML
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:ryCommon.Pram.SettingType.Json">
|
||||
<summary>
|
||||
Json
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:ryCommon.Pram.ObjectItem">
|
||||
<summary>
|
||||
对象值
|
||||
|
|
@ -2967,127 +2972,6 @@
|
|||
全屏平铺
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:ryCommon.RySetting">
|
||||
<summary>
|
||||
设置管理类,快速添加设置。
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ryCommon.RySetting.#ctor">
|
||||
<summary>
|
||||
设置管理类,快速添加设置。
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ryCommon.RySetting.#ctor(System.String)">
|
||||
<summary>
|
||||
设置管理类,快速添加设置。
|
||||
</summary>
|
||||
<param name="_FilePath"></param>
|
||||
</member>
|
||||
<member name="F:ryCommon.RySetting.FileType">
|
||||
<summary>
|
||||
存储类型
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:ryCommon.RySetting.FilePath">
|
||||
<summary>
|
||||
配置存储路径
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:ryCommon.RySetting.SettingXML">
|
||||
<summary>
|
||||
设置XML内容
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ryCommon.RySetting.Add(System.String,System.Windows.Forms.Control)">
|
||||
<summary>
|
||||
添加控件
|
||||
</summary>
|
||||
<param name="_id"></param>
|
||||
<param name="ctl"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryCommon.RySetting.Add(System.String,System.String)">
|
||||
<summary>
|
||||
设置值
|
||||
</summary>
|
||||
<param name="_id"></param>
|
||||
<param name="value"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryCommon.RySetting.Add(System.String,System.Windows.Forms.Control,ryCommon.Pram.CValueType,System.Object)">
|
||||
<summary>
|
||||
添加控件
|
||||
</summary>
|
||||
<param name="_id"></param>
|
||||
<param name="ctl"></param>
|
||||
<param name="valuetype"></param>
|
||||
<param name="_defValue"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryCommon.RySetting.Add(System.String,System.Windows.Forms.NumericUpDown,System.Decimal)">
|
||||
<summary>
|
||||
添加控件
|
||||
</summary>
|
||||
<param name="_id"></param>
|
||||
<param name="ctl"></param>
|
||||
<param name="_defValue"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryCommon.RySetting.Add(System.String,System.Windows.Forms.DateTimePicker,System.DateTime)">
|
||||
<summary>
|
||||
添加控件
|
||||
</summary>
|
||||
<param name="_id"></param>
|
||||
<param name="ctl"></param>
|
||||
<param name="_defValue"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryCommon.RySetting.Add(System.String,System.Windows.Forms.CheckBox,System.Boolean)">
|
||||
<summary>
|
||||
添加控件
|
||||
</summary>
|
||||
<param name="_id"></param>
|
||||
<param name="ctl"></param>
|
||||
<param name="_defValue"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryCommon.RySetting.Add(System.String,System.Windows.Forms.ComboBox,System.Int32)">
|
||||
<summary>
|
||||
添加控件
|
||||
</summary>
|
||||
<param name="_id"></param>
|
||||
<param name="ctl"></param>
|
||||
<param name="_defValue"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryCommon.RySetting.Add(System.String,System.Windows.Forms.ComboBox,System.String)">
|
||||
<summary>
|
||||
添加控件
|
||||
</summary>
|
||||
<param name="_id"></param>
|
||||
<param name="ctl"></param>
|
||||
<param name="_defValue"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryCommon.RySetting.Add(System.String,System.Windows.Forms.TextBox,System.String)">
|
||||
<summary>
|
||||
添加控件
|
||||
</summary>
|
||||
<param name="_id"></param>
|
||||
<param name="ctl"></param>
|
||||
<param name="_defValue"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryCommon.RySetting.Read">
|
||||
<summary>
|
||||
读取配置
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ryCommon.RySetting.Save">
|
||||
<summary>
|
||||
保存配置
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:ryCommon.SoundPlay">
|
||||
<summary>
|
||||
音频播放类
|
||||
|
|
@ -3639,6 +3523,142 @@
|
|||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:ryCommon.SuperFileSearch">
|
||||
<summary>
|
||||
超级文件搜索
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:ryCommon.SuperFileSearch.CancelActions">
|
||||
<summary>
|
||||
取消选项
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:ryCommon.SuperFileSearch.CancelActions.No">
|
||||
<summary>
|
||||
不取消,继续
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:ryCommon.SuperFileSearch.CancelActions.CurrentDirectory">
|
||||
<summary>
|
||||
只取消当前目录
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:ryCommon.SuperFileSearch.CancelActions.AllDirectories">
|
||||
<summary>
|
||||
取消后面的所有搜索
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryCommon.SuperFileSearch.Cancel">
|
||||
<summary>
|
||||
是否取消
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:ryCommon.SuperFileSearch.SearchFileHandler">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="sender"></param>
|
||||
<param name="Fileinfo"></param>
|
||||
<param name="AddToResult">是否将该文件添加到结果</param>
|
||||
</member>
|
||||
<member name="E:ryCommon.SuperFileSearch.OnSearchFile">
|
||||
<summary>
|
||||
搜索文件事件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:ryCommon.SuperFileSearch.SearchDirHandler">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="sender"></param>
|
||||
<param name="DirInfo"></param>
|
||||
<param name="Cancel"></param>
|
||||
</member>
|
||||
<member name="E:ryCommon.SuperFileSearch.OnSearchDir">
|
||||
<summary>
|
||||
搜索目录事件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:ryCommon.SuperFileSearch.SearchErrorHandler">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="sender"></param>
|
||||
<param name="id"></param>
|
||||
<param name="ex"></param>
|
||||
</member>
|
||||
<member name="E:ryCommon.SuperFileSearch.OnError">
|
||||
<summary>
|
||||
错误事件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryCommon.SuperFileSearch.GetSubFolder">
|
||||
<summary>
|
||||
是否查找搜索子目录
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:ryCommon.SuperFileSearch.ResultFiles">
|
||||
<summary>
|
||||
查找发现的文件列表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:ryCommon.SuperFileSearch.ResultDirs">
|
||||
<summary>
|
||||
查找发现的目录列表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryCommon.SuperFileSearch.ResultFilesCount">
|
||||
<summary>
|
||||
结果对应的文件数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryCommon.SuperFileSearch.ResultDirsCount">
|
||||
<summary>
|
||||
结果对应的目录数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryCommon.SuperFileSearch.ResultCount">
|
||||
<summary>
|
||||
结果对应的文件+目录数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryCommon.SuperFileSearch.Tag">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ryCommon.SuperFileSearch.Search(System.String,System.String)">
|
||||
<summary>
|
||||
搜索查找文件
|
||||
</summary>
|
||||
<param name="SearchPath"></param>
|
||||
<param name="SearchExts"></param>
|
||||
</member>
|
||||
<member name="M:ryCommon.SuperFileSearch.Search(System.Collections.Generic.List{System.String},System.String)">
|
||||
<summary>
|
||||
搜索查找文件
|
||||
</summary>
|
||||
<param name="SearchPaths"></param>
|
||||
<param name="SearchExts"></param>
|
||||
</member>
|
||||
<member name="M:ryCommon.SuperFileSearch.GetFiles(System.String,System.String,System.Boolean)">
|
||||
<summary>
|
||||
获取指定文件夹下的文件列表,支持多个扩展名获取,支持获取子文件夹的数据
|
||||
</summary>
|
||||
<param name="folder"></param>
|
||||
<param name="exts"></param>
|
||||
<param name="GetSubFolder">是否获取子文件夹数据</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryCommon.SuperFileSearch.GetFiles(System.String,System.String)">
|
||||
<summary>
|
||||
获取指定文件夹下的文件列表,支持多个扩展名获取(子文件夹里的文件不会去获取)。如果
|
||||
文件夹不存在,则获取空列表(本函数不会返回null值)
|
||||
</summary>
|
||||
<param name="folder">要获取的文件夹路径</param>
|
||||
<param name="exts">要获取的扩展名列表(例如:*.mp3;*.wav)</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:ryCommon.TxtFileEncoder">
|
||||
<summary>
|
||||
用于取得一个文本文件的编码方式(Encoding)。
|
||||
|
|
@ -6276,6 +6296,11 @@
|
|||
<param name="filePath">文件路径</param>
|
||||
<param name="iconPath">图标路径</param>
|
||||
</member>
|
||||
<member name="M:ryCommon.RyRegedit.UpdateSetNotify">
|
||||
<summary>
|
||||
通知系统设置发生变化
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ryCommon.RyRegedit.SetFileAssociation(System.String,System.String,System.String,System.String,System.String)">
|
||||
<summary>
|
||||
设置文件关联
|
||||
|
|
@ -10034,6 +10059,14 @@
|
|||
<param name="showChsName">是否显示中文名字</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RyHardWare.HardWare.GetWMI(System.String,System.String)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="scope"></param>
|
||||
<param name="sql"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RyHardWare.HardWare.GetCpuId">
|
||||
<summary>
|
||||
获取CPU ID
|
||||
|
|
@ -10052,6 +10085,12 @@
|
|||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RyHardWare.HardWare.GetMonitorPnpDeviceId">
|
||||
<summary>
|
||||
获取显示器的相关硬件ID
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RyHardWare.HardWare.GetMainHardware(System.Boolean)">
|
||||
<summary>
|
||||
获取主要硬件信息
|
||||
|
|
@ -12887,6 +12926,11 @@
|
|||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="P:ryCommonDb.IDbInterface.UseTime">
|
||||
<summary>
|
||||
用时
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:ryCommonDb.MSSQLDb">
|
||||
<summary>
|
||||
|
||||
|
|
@ -13281,6 +13325,11 @@
|
|||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryCommonDb.SqlDataProvider.UseTime">
|
||||
<summary>
|
||||
用时
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:ryCommonDb.ClsMySQLDb">
|
||||
<summary>
|
||||
|
||||
|
|
@ -13675,6 +13724,11 @@
|
|||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryCommonDb.MySqlDataProvider.UseTime">
|
||||
<summary>
|
||||
用时
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:ryCommonDb.SQLIitem">
|
||||
<summary>
|
||||
SQL字段类型
|
||||
|
|
@ -14368,6 +14422,11 @@
|
|||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryCommonDb.SQLiteDataProvider.UseTime">
|
||||
<summary>
|
||||
用时
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:OneKeyCreate.FrmAddNoticeUser">
|
||||
<summary>
|
||||
|
||||
|
|
@ -15034,12 +15093,24 @@
|
|||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RyWeb.QuickWeb.CurPageUrl">
|
||||
<summary>
|
||||
当前页面
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:RyWeb.QuickWeb.#ctor(System.Int32)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="Timeout">超时时间</param>
|
||||
</member>
|
||||
<member name="M:RyWeb.QuickWeb.#ctor(System.Int32,System.Int32)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="Timeout">超时时间</param>
|
||||
<param name="RetryCount">重试次数</param>
|
||||
</member>
|
||||
<member name="M:RyWeb.QuickWeb.Post(System.String,System.String,System.String)">
|
||||
<summary>
|
||||
以post方式获取网页源码
|
||||
|
|
@ -15075,6 +15146,11 @@
|
|||
<param name="post"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="P:RyWeb.QuickWeb.RetryCount">
|
||||
<summary>
|
||||
重试次数
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RyWeb.QuickWeb.HeadText">
|
||||
<summary>
|
||||
头信息
|
||||
|
|
@ -15219,6 +15295,13 @@
|
|||
<param name="str"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RyWeb.QuickWeb.ConvertUrl(System.String)">
|
||||
<summary>
|
||||
将相对网址转换成绝对网址
|
||||
</summary>
|
||||
<param name="rel_url"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RyWeb.QuickWeb.ConvertUrl(System.String,System.String)">
|
||||
<summary>
|
||||
将相对网址转换成绝对网址
|
||||
|
|
@ -24090,16 +24173,21 @@
|
|||
存储类型
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:ryControls.RySetting.FilePath">
|
||||
<member name="P:ryControls.RySetting.FilePath">
|
||||
<summary>
|
||||
配置存储路径
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:ryControls.RySetting.SettingXML">
|
||||
<member name="P:ryControls.RySetting.SettingXML">
|
||||
<summary>
|
||||
设置XML内容
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryControls.RySetting.SettingContent">
|
||||
<summary>
|
||||
获取/设置配置的内容(适用于xml和json)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ryControls.RySetting.Add(System.String,System.Windows.Forms.Control)">
|
||||
<summary>
|
||||
添加控件
|
||||
|
|
@ -24217,6 +24305,81 @@
|
|||
保存配置
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryControls.RySetting.MemObject">
|
||||
<summary>
|
||||
保存到内存中的对象
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ryControls.RySetting.ReadToMem">
|
||||
<summary>
|
||||
读取内容到内存中
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ryControls.RySetting.GetFromMem(System.String,System.Int32)">
|
||||
<summary>
|
||||
从内存中读取配置
|
||||
</summary>
|
||||
<param name="name"></param>
|
||||
<param name="defValue"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryControls.RySetting.GetFromMem(System.String,System.Int64)">
|
||||
<summary>
|
||||
从内存中读取配置
|
||||
</summary>
|
||||
<param name="name"></param>
|
||||
<param name="defValue"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryControls.RySetting.GetFromMem(System.String,System.Boolean)">
|
||||
<summary>
|
||||
从内存中读取配置
|
||||
</summary>
|
||||
<param name="name"></param>
|
||||
<param name="defValue"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryControls.RySetting.GetFromMem(System.String,System.Double)">
|
||||
<summary>
|
||||
从内存中读取配置
|
||||
</summary>
|
||||
<param name="name"></param>
|
||||
<param name="defValue"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryControls.RySetting.GetFromMem(System.String,System.Decimal)">
|
||||
<summary>
|
||||
从内存中读取配置
|
||||
</summary>
|
||||
<param name="name"></param>
|
||||
<param name="defValue"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryControls.RySetting.GetFromMem(System.String,System.String)">
|
||||
<summary>
|
||||
从内存中读取配置
|
||||
</summary>
|
||||
<param name="name"></param>
|
||||
<param name="defValue"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryControls.RySetting.GetFromMem(System.String)">
|
||||
<summary>
|
||||
从内存中读取配置
|
||||
</summary>
|
||||
<param name="name"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryControls.RySetting.GetFromMem(System.String,System.Int32,System.Int32,System.Int32)">
|
||||
<summary>
|
||||
从内存中读取配置
|
||||
</summary>
|
||||
<param name="name"></param>
|
||||
<param name="min"></param>
|
||||
<param name="max"></param>
|
||||
<param name="defValue"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:ryControls.ColorHSL">
|
||||
<summary>
|
||||
类 名:ColorHSL
|
||||
|
|
|
|||
29
CHANGELOG.md
29
CHANGELOG.md
|
|
@ -1,9 +1,35 @@
|
|||
## :date:2025-08-16 星期六更新
|
||||
## :date:2026-06-04 星期四更新
|
||||
|
||||
### RaUI V4.0.2606.0401
|
||||
- :cactus:[新增]QuickWeb新增支持重试次数。
|
||||
- :cactus:[新增]RySetting类新增支持json格式设置存储和获取。
|
||||
- :cactus:[新增]RySetting类新增支持读取设置到内存,然后按配置名称读取。
|
||||
- :cactus:[新增]新增SuperFileSearch类,文件查找。
|
||||
- :cactus:[新增]QuickWeb新增CurPageUrl属性。
|
||||
- :cactus:[新增]HardWare新增支持获取显示器信息。
|
||||
- :cactus:[新增]HardWare新增GetWMI函数。
|
||||
- :100:[改进]QuickWeb类的UA从IE改为Edge。
|
||||
- :100:[改进]Hosts类IP与域名分隔符从\t改为三个空格。
|
||||
- :100:[改进]RyImage的CropOrFill函数,如果输入的长宽比例与原图一致,则返回原图的副本而不是原图。
|
||||
- :100:[改进]RySoft类的CompareVer函数支持特殊格式的版本号。
|
||||
- :100:[改进]QuickWeb的ConvertUrl函数新增支持自动从CurPageUrl获取。
|
||||
- :100:[改进]DateDiff函数对时间差异小于等于10秒的,自动加上毫秒数据。
|
||||
- :lady_beetle:[修复]修复ObjectListView控件的AspectGetter方法可能调用null对象的问题。
|
||||
- :lady_beetle:[修复]修复日期选择控件在获取节假日数据时,会因为节假日文件夹无法访问而报错的问题。
|
||||
- :lady_beetle:[修复]修复某些情况下剪切板权限问题导致ObjectListView控件报错。
|
||||
- :lady_beetle:[修复]修复RyImage的CropOrFill函数图片比例不一致时,也是返回原图副本的BUG。
|
||||
|
||||
### Itrycn_Project2 V1.0.2606.0401
|
||||
- :100:[改进]将公共调用,无需新增内容的部分代码,改到Public文件夹下
|
||||
|
||||
## :date:2025-08-16 星期六更新
|
||||
|
||||
### rycUpdate V1.0.2506.0401
|
||||
|
||||
- :lady_beetle:[修复]修复文件替换失败,不会失败提示的BUG。
|
||||
|
||||
### RaUI V4.0.2508.1601
|
||||
|
||||
- :cactus:[新增]ChromeTabControl控件支持设置SizeMode属性。
|
||||
- :cactus:[新增]HotkeyTextBox新增支持传入热键文本进行自动转换。
|
||||
- :cactus:[新增]ryQuickSQL类新增GetJsonData方法。
|
||||
|
|
@ -20,6 +46,7 @@
|
|||
## :date:2025-06-27 星期五更新
|
||||
|
||||
### RaUI V4.0.2506.2701
|
||||
|
||||
- :cactus:[新增]RediskCheck类新增支持对.NET3.5和.NET6-.NET9安装状态的判断。
|
||||
- :cactus:[新增]RyImage类的LoadPic方法新增Timeout参数设置。
|
||||
- :cactus:[新增]ChromeTabControl控件新增OnTabAddButtonClick和OnTabCloseButtonClick事件。
|
||||
|
|
|
|||
20
README.md
20
README.md
|
|
@ -1,3 +1,23 @@
|
|||
## 睿元公用控件组
|
||||
|
||||
睿元公用控件组是一款公用的多功能控件组,集成了通用数据库操作类,并提供了各种常用功能的API接口,让代码编写更容易。
|
||||
|
||||
#### Itrycn_Project2
|
||||
|
||||
毕方项目模板,新建项目时,可以以本项目为底层,快速创建新项目。
|
||||
|
||||
#### OnLineUpgradeConfig
|
||||
|
||||
一键升级配置程序,利用本程序,可以快速设置升级配置。
|
||||
|
||||
#### RaUIV4
|
||||
|
||||
公共控件和API库,将常用的API方法和控件集中在一个dll文件里,方便调用。
|
||||
|
||||
#### rycUpdate
|
||||
|
||||
升级替换工具,本工具主要用于升级过程中替换文件。
|
||||
|
||||
#### SkinPreview
|
||||
|
||||
皮肤预览和设置程序,利用本程序,可以预览和新增皮肤。
|
||||
|
|
@ -1,10 +1,12 @@
|
|||
using System;
|
||||
using Config;
|
||||
using Itrycn_Project2;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Itrycn_Project2.Config
|
||||
namespace Config
|
||||
{
|
||||
class Init
|
||||
{
|
||||
|
|
@ -23,8 +25,6 @@ namespace Itrycn_Project2.Config
|
|||
{
|
||||
Public_Config.LoadSetting();
|
||||
Application.Run(new FrmStart(args));
|
||||
//Application.Run(new FrmTest2());
|
||||
//Application.Run(new WindowsFormsApp2.Form1());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ using System.Collections.Generic;
|
|||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Itrycn_Project2
|
||||
namespace Config
|
||||
{
|
||||
/// <summary>
|
||||
/// 配置类,保存在文件中的配置信息(本系统基于乘黄V2架构)
|
||||
|
|
@ -16,10 +16,10 @@ namespace Itrycn_Project2
|
|||
public static bool HideByCloseBtn = false;
|
||||
public static void LoadSetting()
|
||||
{
|
||||
ryCommon.Storage Stor = new ryCommon.Storage();
|
||||
Stor.LoadFromFile(Soft_ConstInfo.UserDataFolder+"\\Setting.xml");
|
||||
Stor.SelectNodeBySet();
|
||||
HideByCloseBtn = Stor.GetAttrValue("HideByCloseBtn", false);
|
||||
ryControls.RySetting mySetting = new ryControls.RySetting();
|
||||
mySetting.FilePath = Soft_ConstInfo.UserDataFolder + "\\Setting.xml";
|
||||
mySetting.ReadToMem();
|
||||
HideByCloseBtn = mySetting.GetFromMem("HideByCloseBtn", false);
|
||||
//low_count = Stor.GetAttrValue("LowCount", 10);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ using System.Collections.Generic;
|
|||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
namespace Itrycn_Project2
|
||||
namespace Config
|
||||
{
|
||||
/// <summary>
|
||||
/// 运行期间存储的变量,不会存储在文件中,只存储内存中.每次启动软件会初始化变量。
|
||||
|
|
|
|||
|
|
@ -1,120 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
59
Source/Itrycn_Project2/Form1.Designer.cs
generated
59
Source/Itrycn_Project2/Form1.Designer.cs
generated
|
|
@ -1,59 +0,0 @@
|
|||
namespace Itrycn_Project2
|
||||
{
|
||||
partial class Form1
|
||||
{
|
||||
/// <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.chinaCalendar1 = new ryControls.FhChinaCalendar();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// chinaCalendar1
|
||||
//
|
||||
this.chinaCalendar1.BackColor = System.Drawing.Color.White;
|
||||
this.chinaCalendar1.DateTime = new System.DateTime(2022, 6, 8, 16, 4, 14, 729);
|
||||
this.chinaCalendar1.Location = new System.Drawing.Point(-1, -2);
|
||||
this.chinaCalendar1.Name = "chinaCalendar1";
|
||||
this.chinaCalendar1.Size = new System.Drawing.Size(801, 451);
|
||||
this.chinaCalendar1.TabIndex = 0;
|
||||
//
|
||||
// Form1
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(800, 450);
|
||||
this.Controls.Add(this.chinaCalendar1);
|
||||
this.Name = "Form1";
|
||||
this.Text = "Form1";
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private ryControls.FhChinaCalendar chinaCalendar1;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
using RaUI.UI.LayeredForm;
|
||||
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 Itrycn_Project2
|
||||
{
|
||||
public partial class Form1 : ILayeredForm
|
||||
{
|
||||
public Form1()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
60
Source/Itrycn_Project2/FormTest.Designer.cs
generated
60
Source/Itrycn_Project2/FormTest.Designer.cs
generated
|
|
@ -1,60 +0,0 @@
|
|||
namespace Itrycn_Project2
|
||||
{
|
||||
partial class FormTest
|
||||
{
|
||||
/// <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.button1 = new System.Windows.Forms.Button();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Location = new System.Drawing.Point(43, 75);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(363, 108);
|
||||
this.button1.TabIndex = 0;
|
||||
this.button1.Text = "button1";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// FormTest
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(483, 422);
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
|
||||
this.Controls.Add(this.button1);
|
||||
this.Name = "FormTest";
|
||||
this.Text = "FormTest";
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Button button1;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
using RaUI.UI.LayeredForm;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Itrycn_Project2
|
||||
{
|
||||
public partial class FormTest : ILayeredForm
|
||||
{
|
||||
public FormTest()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
using Config;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
|
|
|
|||
191
Source/Itrycn_Project2/FrmStart.Designer.cs
generated
191
Source/Itrycn_Project2/FrmStart.Designer.cs
generated
|
|
@ -44,27 +44,15 @@
|
|||
this.捐助ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.chromeTabControl1 = new ryControls.ChromeTabControl();
|
||||
this.tabPage1 = new System.Windows.Forms.TabPage();
|
||||
this.textBoxEx21 = new ryControls.TextBoxEx2();
|
||||
this.buttonEx1 = new ryControls.ButtonEx();
|
||||
this.hotkeyTextBox1 = new ryControls.HotkeyTextBox();
|
||||
this.rySearch1 = new ryControls.rySearch();
|
||||
this.doubleText1 = new ryControls.DoubleText();
|
||||
this.ryComboBox1 = new ryControls.ComboBoxEx2();
|
||||
this.textBoxEx1 = new ryControls.TextBoxEx();
|
||||
this.richTextBox21 = new ryControls.Controls.RichTextBox2();
|
||||
this.htmlPanel1 = new TheArtOfDev.HtmlRenderer.WinForms.HtmlPanel();
|
||||
this.pictureBox2 = new System.Windows.Forms.PictureBox();
|
||||
this.pictureBox1 = new System.Windows.Forms.PictureBox();
|
||||
this.TabLogs = new System.Windows.Forms.TabPage();
|
||||
this.LvLogs = new BrightIdeasSoftware.ObjectListView();
|
||||
this.OlvLogTime = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
|
||||
this.OlvLogText = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
|
||||
this.CbbInterval = new ryControls.RyComboBox();
|
||||
this.MenuTray.SuspendLayout();
|
||||
this.menuStrip1.SuspendLayout();
|
||||
this.chromeTabControl1.SuspendLayout();
|
||||
this.tabPage1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||
this.TabLogs.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.LvLogs)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
|
|
@ -173,17 +161,7 @@
|
|||
// tabPage1
|
||||
//
|
||||
this.tabPage1.AutoScroll = true;
|
||||
this.tabPage1.Controls.Add(this.textBoxEx21);
|
||||
this.tabPage1.Controls.Add(this.buttonEx1);
|
||||
this.tabPage1.Controls.Add(this.hotkeyTextBox1);
|
||||
this.tabPage1.Controls.Add(this.rySearch1);
|
||||
this.tabPage1.Controls.Add(this.doubleText1);
|
||||
this.tabPage1.Controls.Add(this.ryComboBox1);
|
||||
this.tabPage1.Controls.Add(this.textBoxEx1);
|
||||
this.tabPage1.Controls.Add(this.richTextBox21);
|
||||
this.tabPage1.Controls.Add(this.htmlPanel1);
|
||||
this.tabPage1.Controls.Add(this.pictureBox2);
|
||||
this.tabPage1.Controls.Add(this.pictureBox1);
|
||||
this.tabPage1.Controls.Add(this.CbbInterval);
|
||||
this.tabPage1.Location = new System.Drawing.Point(1, 29);
|
||||
this.tabPage1.Name = "tabPage1";
|
||||
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
|
||||
|
|
@ -192,143 +170,6 @@
|
|||
this.tabPage1.Text = "首页";
|
||||
this.tabPage1.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// textBoxEx21
|
||||
//
|
||||
this.textBoxEx21.BackColor = System.Drawing.Color.White;
|
||||
this.textBoxEx21.EmptyText = "fggzgftgg ";
|
||||
this.textBoxEx21.Location = new System.Drawing.Point(161, 30);
|
||||
this.textBoxEx21.LongTime = 2000;
|
||||
this.textBoxEx21.MaxLength = 999999999;
|
||||
this.textBoxEx21.MaxUndoRedoSteps = 50;
|
||||
this.textBoxEx21.Multiline = true;
|
||||
this.textBoxEx21.Name = "textBoxEx21";
|
||||
this.textBoxEx21.OnlyNumeric = false;
|
||||
this.textBoxEx21.PasswordChar = '\0';
|
||||
this.textBoxEx21.ReadOnly = false;
|
||||
this.textBoxEx21.SelectedText = "";
|
||||
this.textBoxEx21.SelectionLength = 0;
|
||||
this.textBoxEx21.SelectionStart = 0;
|
||||
this.textBoxEx21.Size = new System.Drawing.Size(339, 179);
|
||||
this.textBoxEx21.TabIndex = 31;
|
||||
this.textBoxEx21.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
|
||||
this.textBoxEx21.ToolTip = "";
|
||||
this.textBoxEx21.WordWrap = true;
|
||||
//
|
||||
// buttonEx1
|
||||
//
|
||||
this.buttonEx1.BackColor = System.Drawing.Color.Gray;
|
||||
this.buttonEx1.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
|
||||
this.buttonEx1.ImageTextSpace = 0;
|
||||
this.buttonEx1.ImageWidth = 12;
|
||||
this.buttonEx1.Location = new System.Drawing.Point(180, 153);
|
||||
this.buttonEx1.Name = "buttonEx1";
|
||||
this.buttonEx1.Size = new System.Drawing.Size(61, 27);
|
||||
this.buttonEx1.TabIndex = 30;
|
||||
this.buttonEx1.Text = "测试";
|
||||
this.buttonEx1.UseVisualStyleBackColor = false;
|
||||
//
|
||||
// hotkeyTextBox1
|
||||
//
|
||||
this.hotkeyTextBox1.BackColor = System.Drawing.Color.White;
|
||||
this.hotkeyTextBox1.HotKey = "0+0";
|
||||
this.hotkeyTextBox1.Location = new System.Drawing.Point(161, 215);
|
||||
this.hotkeyTextBox1.Name = "hotkeyTextBox1";
|
||||
this.hotkeyTextBox1.Size = new System.Drawing.Size(220, 27);
|
||||
this.hotkeyTextBox1.T_Key = System.Windows.Forms.Keys.None;
|
||||
this.hotkeyTextBox1.T_Modifiers = 0;
|
||||
this.hotkeyTextBox1.TabIndex = 29;
|
||||
//
|
||||
// rySearch1
|
||||
//
|
||||
this.rySearch1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(239)))), ((int)(((byte)(244)))));
|
||||
this.rySearch1.ButtonRoundBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(239)))), ((int)(((byte)(244)))));
|
||||
this.rySearch1.EmptyText = "dd顶顶顶顶顶";
|
||||
this.rySearch1.Location = new System.Drawing.Point(564, 296);
|
||||
this.rySearch1.Name = "rySearch1";
|
||||
this.rySearch1.Size = new System.Drawing.Size(225, 28);
|
||||
this.rySearch1.TabIndex = 27;
|
||||
//
|
||||
// doubleText1
|
||||
//
|
||||
this.doubleText1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(239)))), ((int)(((byte)(244)))));
|
||||
this.doubleText1.Location = new System.Drawing.Point(141, 265);
|
||||
this.doubleText1.Name = "doubleText1";
|
||||
this.doubleText1.SelectName = "";
|
||||
this.doubleText1.Size = new System.Drawing.Size(240, 27);
|
||||
this.doubleText1.TabIndex = 26;
|
||||
//
|
||||
// ryComboBox1
|
||||
//
|
||||
this.ryComboBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(239)))), ((int)(((byte)(244)))));
|
||||
this.ryComboBox1.ButtonRoundBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(239)))), ((int)(((byte)(244)))));
|
||||
this.ryComboBox1.EmptyText = "";
|
||||
this.ryComboBox1.Items.Add("fffffsss手上但事实上少时诵诗书是撒是撒是撒是撒是撒是撒是撒是撒是撒是撒是撒是撒是撒是撒是撒是撒是撒是撒是撒是撒是撒");
|
||||
this.ryComboBox1.Items.Add("gggg");
|
||||
this.ryComboBox1.Items.Add("ddddd");
|
||||
this.ryComboBox1.Items.Add("ddd");
|
||||
this.ryComboBox1.Location = new System.Drawing.Point(746, 228);
|
||||
this.ryComboBox1.MaxPopupHeight = 0;
|
||||
this.ryComboBox1.MaxPopupWidth = 0;
|
||||
this.ryComboBox1.Name = "ryComboBox1";
|
||||
this.ryComboBox1.SelectedIndex = -1;
|
||||
this.ryComboBox1.SelectedItem = null;
|
||||
this.ryComboBox1.Size = new System.Drawing.Size(238, 36);
|
||||
this.ryComboBox1.TabIndex = 25;
|
||||
this.ryComboBox1.ToolTipText = "";
|
||||
//
|
||||
// textBoxEx1
|
||||
//
|
||||
this.textBoxEx1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.textBoxEx1.EmptyText = "这是一个测试,请查看";
|
||||
this.textBoxEx1.Location = new System.Drawing.Point(130, 117);
|
||||
this.textBoxEx1.MaxUndoRedoSteps = 50;
|
||||
this.textBoxEx1.Name = "textBoxEx1";
|
||||
this.textBoxEx1.OnlyNumeric = false;
|
||||
this.textBoxEx1.Size = new System.Drawing.Size(202, 21);
|
||||
this.textBoxEx1.TabIndex = 23;
|
||||
//
|
||||
// richTextBox21
|
||||
//
|
||||
this.richTextBox21.EmptyText = "";
|
||||
this.richTextBox21.Font = new System.Drawing.Font("Courier New", 10F);
|
||||
this.richTextBox21.Location = new System.Drawing.Point(417, 26);
|
||||
this.richTextBox21.Name = "richTextBox21";
|
||||
this.richTextBox21.OnlyInputText = false;
|
||||
this.richTextBox21.Size = new System.Drawing.Size(359, 266);
|
||||
this.richTextBox21.TabIndex = 21;
|
||||
this.richTextBox21.Text = "怪兽公主是一款充满日系风情的女友养成游戏。在游戏中,玩家将迎来一位怪兽公主的到来,展开一段独特而甜蜜的同居生活。玩家们可以通过与怪兽公主互动,选择不同的故事线路," +
|
||||
"赢得道具和奖励,培养她的感情,解锁不同的结局。这款游戏将带给你与怪兽公主共度时光的乐趣与刺激。";
|
||||
this.richTextBox21.WordWrap = true;
|
||||
//
|
||||
// htmlPanel1
|
||||
//
|
||||
this.htmlPanel1.AutoScroll = true;
|
||||
this.htmlPanel1.AutoScrollMinSize = new System.Drawing.Size(469, 20);
|
||||
this.htmlPanel1.BackColor = System.Drawing.SystemColors.Window;
|
||||
this.htmlPanel1.BaseStylesheet = null;
|
||||
this.htmlPanel1.Location = new System.Drawing.Point(188, 346);
|
||||
this.htmlPanel1.Name = "htmlPanel1";
|
||||
this.htmlPanel1.Size = new System.Drawing.Size(469, 160);
|
||||
this.htmlPanel1.TabIndex = 19;
|
||||
this.htmlPanel1.Text = "htmlPanel1";
|
||||
//
|
||||
// pictureBox2
|
||||
//
|
||||
this.pictureBox2.Location = new System.Drawing.Point(172, 330);
|
||||
this.pictureBox2.Name = "pictureBox2";
|
||||
this.pictureBox2.Size = new System.Drawing.Size(518, 189);
|
||||
this.pictureBox2.TabIndex = 18;
|
||||
this.pictureBox2.TabStop = false;
|
||||
//
|
||||
// pictureBox1
|
||||
//
|
||||
this.pictureBox1.Location = new System.Drawing.Point(75, 3);
|
||||
this.pictureBox1.Name = "pictureBox1";
|
||||
this.pictureBox1.Size = new System.Drawing.Size(742, 625);
|
||||
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
|
||||
this.pictureBox1.TabIndex = 0;
|
||||
this.pictureBox1.TabStop = false;
|
||||
//
|
||||
// TabLogs
|
||||
//
|
||||
this.TabLogs.Controls.Add(this.LvLogs);
|
||||
|
|
@ -371,6 +212,19 @@
|
|||
this.OlvLogText.Text = "日志说明";
|
||||
this.OlvLogText.Width = 500;
|
||||
//
|
||||
// CbbInterval
|
||||
//
|
||||
this.CbbInterval.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawVariable;
|
||||
this.CbbInterval.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.CbbInterval.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.CbbInterval.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.CbbInterval.FormattingEnabled = true;
|
||||
this.CbbInterval.Location = new System.Drawing.Point(427, 305);
|
||||
this.CbbInterval.MaxUndoRedoSteps = 50;
|
||||
this.CbbInterval.Name = "CbbInterval";
|
||||
this.CbbInterval.Size = new System.Drawing.Size(149, 24);
|
||||
this.CbbInterval.TabIndex = 64;
|
||||
//
|
||||
// FrmStart
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
|
|
@ -393,9 +247,6 @@
|
|||
this.menuStrip1.PerformLayout();
|
||||
this.chromeTabControl1.ResumeLayout(false);
|
||||
this.tabPage1.ResumeLayout(false);
|
||||
this.tabPage1.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
||||
this.TabLogs.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.LvLogs)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
|
@ -420,16 +271,6 @@
|
|||
private BrightIdeasSoftware.ObjectListView LvLogs;
|
||||
private BrightIdeasSoftware.OLVColumn OlvLogTime;
|
||||
private BrightIdeasSoftware.OLVColumn OlvLogText;
|
||||
private System.Windows.Forms.PictureBox pictureBox1;
|
||||
private System.Windows.Forms.PictureBox pictureBox2;
|
||||
private TheArtOfDev.HtmlRenderer.WinForms.HtmlPanel htmlPanel1;
|
||||
private ryControls.Controls.RichTextBox2 richTextBox21;
|
||||
private ryControls.TextBoxEx textBoxEx1;
|
||||
private ryControls.ComboBoxEx2 ryComboBox1;
|
||||
private ryControls.DoubleText doubleText1;
|
||||
private ryControls.rySearch rySearch1;
|
||||
private ryControls.HotkeyTextBox hotkeyTextBox1;
|
||||
private ryControls.ButtonEx buttonEx1;
|
||||
private ryControls.TextBoxEx2 textBoxEx21;
|
||||
private ryControls.RyComboBox CbbInterval;
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
2
Source/Itrycn_Project2/FrmTest2.Designer.cs
generated
2
Source/Itrycn_Project2/FrmTest2.Designer.cs
generated
|
|
@ -119,6 +119,7 @@
|
|||
this.chromeTabControl1.Controls.Add(this.tabPage1);
|
||||
this.chromeTabControl1.Controls.Add(this.tabPage2);
|
||||
this.chromeTabControl1.Cursor = System.Windows.Forms.Cursors.Default;
|
||||
this.chromeTabControl1.DrawTabBorder = true;
|
||||
this.chromeTabControl1.ImageList = this.imageList1;
|
||||
this.chromeTabControl1.ItemSize = new System.Drawing.Size(200, 25);
|
||||
this.chromeTabControl1.Location = new System.Drawing.Point(12, 34);
|
||||
|
|
@ -127,7 +128,6 @@
|
|||
this.chromeTabControl1.ShowAddButton = true;
|
||||
this.chromeTabControl1.ShowCloseButton = true;
|
||||
this.chromeTabControl1.Size = new System.Drawing.Size(656, 320);
|
||||
this.chromeTabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
|
||||
this.chromeTabControl1.TabContextMenuStrip = null;
|
||||
this.chromeTabControl1.TabIndex = 38;
|
||||
this.chromeTabControl1.TabMaxWidth = 200;
|
||||
|
|
|
|||
|
|
@ -124,117 +124,117 @@
|
|||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABm
|
||||
HgAAAk1TRnQBSQFMAgEBBAEAASABAAEgAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABk
|
||||
HgAAAk1TRnQBSQFMAgEBBAEAATABAAEwAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
|
||||
AwABIAMAAQEBAAEgBgABIP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8AIgABOgF8Af0B/wEx
|
||||
AXsB+gH/ATMBeAH6Af8BMgF8AfwB/wEzAX4B+wH/ATgBfAH6Af8BNQF8AfwB/wE0AXsB/AH/ATQBewH8
|
||||
Af8BNQF8AfwB/wE2AX0B/QH/ATQBewH9Af8BMAF+AfcB/wE0AXkB+QH/AVIBigH5Af8B2QHlAfgB/wMW
|
||||
AR0BUgFeAWgBwQEcAXsBzQH2ARkBfAHaAfgBGgF8AdoB+AEZAXwB2gH4ARkBfAHaAfgBGQF8AdoB+AEZ
|
||||
AXwB2gH4ARkBfAHaAfgBGQF8AdoB+AEZAX0B2gH4ARoBfgHaAfgBGgF6AdoB+AFBAWwBnQHmAzwBZgFl
|
||||
AR0BVwFcAV4BwQElAXkBvgH2AR8BfAHMAfgBIAF8AcwB+AEfAXwBzAH4AR8BfAHMAfgBHwF8AcwB+AEf
|
||||
AXwBzAH4AR8BfAHMAfgBHwF8AcwB+AEfAXwBzAH4ASABfAHMAfgBIAF6AcwB+AFOAWoBiwHmAzwBZgFl
|
||||
AbcBKQH/AWgBuAErAf8BagG5ASoB/wFoAbYBKwH/AWYBuAErAf8BZQG5AS0B/wFlAbgBJgH/AWgBtgEt
|
||||
Af8BYwG5ASoB/wFlAbkBKgH/AW0BtwEtAf8BZgG4ASwB/wFmAboBKAH/AWUBugEqAf8BYgG3ASgB/wFp
|
||||
AbgBKwX/AfwC/QH/AfoB/wH+Af8B/QH+AfoB/wH2AvwB/wL+AfsC/wL+Af8B+wL9Af8B/gH7Af0B/wH9
|
||||
Af4B/AH/Af4B/wH+Af8B/AH/AfwC/wH8Av8B+wH+AfsB/wL9Av8B/QH+Af0B/wE0AXgB+wH/ATMBeQH6
|
||||
Af8BPQF4Av8BQAF0AfsB/wEzAXIB+AH/ATQBeAL/ATgBdgH+Af8BNwF1Af0B/wE3AXUB/QH/ATcBdQH9
|
||||
Af8BNwF1Af0B/wE4AXcB/AH/AT4BcwL/ATQBeQH+Af8BJwFyAv8BUgGMAfkB/wFVAWEBbQHIAQEBiQL/
|
||||
Af8BNwF1Af0B/wE4AXcB/AH/AT4BcwL/ATQBeQH+Af8BJwFyAv8BUgGMAfkB/wFbAV8BZAHIAQEBiQL/
|
||||
AQEBfgL/AQEBlAL/AQABkQL/AQMBjQL/AU0BowH1Af8BhQG8Ae0B/wGUAcMB6gH/AWQBqQHxAf8BCgF1
|
||||
Af4B/wEAAWQC/wEBAWsC/wEBAZAC/wEBAZEC/wEvAXcBsgHvAWgBugErAf8BZwG3AS8B/wFiAbcBJQH/
|
||||
Af4B/wEAAWQC/wEBAWsC/wEBAZAC/wEBAZEC/wE6AXMBnwHvAWgBugErAf8BZwG3AS8B/wFiAbcBJQH/
|
||||
AWYBuQEsAf8BYwG1ASwB/wFiAbcBIwH/AWABtAEgAf8BWwG0ARkB/wFeAb0BGAH/AWcBuAEwAf8BawGy
|
||||
ASwB/wFpAbgBKQH/AWkBuAEpAf8BagG5ASgB/wFnAbcBKAH/AWQBuQEsAf8B0QHvAv8BZgHRAf4B/wFu
|
||||
AdUB/AH/AXkB1QH+Af8BcQHdAv8BawHVAf4B/wFxAd0B/AH/AfMB+gH+Av8B/gL/Aa0B6wH9Af8BZAHW
|
||||
AfsB/wFwAdcC/wFxAdUC/wFtAdkC/wFvAdUC/wGaAeEB/AH/AUMBcwH3Af8BNgFyAfoB/wE7AXIB/QH/
|
||||
ATcBdAH5Af8BMgFyAfwB/wEwAWkB/QH/AS4BawH8Af8BLwFsAfwB/wEvAWwB/QH/ATABbQH9Af8BLwFs
|
||||
Af0B/wE0AXUB+wH/AToBcwH7Af8BOAF1AfkB/wEwAXMB+wH/ATcBcAH8Af8BJgGHAcMB8wEBAY8C/wEB
|
||||
Af0B/wE0AXUB+wH/AToBcwH7Af8BOAF1AfkB/wEwAXMB+wH/ATcBcAH8Af8BMQGCAbIB8wEBAY8C/wEB
|
||||
AYYC/wEAAZkC/wFSAbEB9QH/AcYB3QHlAf8B5wHrAeEB/wH0AfAB3wH/AfUB8AHfAf8B7QHuAeAB/wHa
|
||||
AeYB4gH/AYcBtwHuAf8BAwFjAv8BAQGVAv8BAAGYAv8BFAGEAeEB+gFpAcABKQH/AWYBvAEtAf8BYwG4
|
||||
AeYB4gH/AYcBtwHuAf8BAwFjAv8BAQGVAv8BAAGYAv8BGwF+AdkB+gFpAcABKQH/AWYBvAEtAf8BYwG4
|
||||
AS8B/wFjAbcBIwH/AWQBsQEiAf8BiwHGAV4B/wGpAdoBiwH/AbEB3QGZAf8BmQHQAXIB/wFwAbsBOAH/
|
||||
AVkBsgEYAf8BYwG3ASgB/wFkAboBKgH/AWcBtgEtAf8BagG3AS4B/wFkAboBJwH/AfEB/AH7Af8BVgHP
|
||||
AfcB/wEDAb4B+AH/ARIBvgH6Af8BEgG/AfoB/wEQAbgB+wH/ARIBvwH6Af8B8QHrAdUC/wHjAbQB/wF7
|
||||
AdwB/QH/AQoBtwH8Af8BFgG8AfwB/wEYAb4B+AH/AQkBvAH5Af8BIwG7AfMB/wHTAfQB+wH/ATYBbwL/
|
||||
ATQBcgH8Af8BNwFsAfwB/wEzAWwB+QH/ATcBawH0Af8BTAF+AfUB/wFIAXsB+QH/AUcBegH4Af8BSAF7
|
||||
AfkB/wFHAXoB+AH/AUYBeQH3Af8BIQFfAf4B/wFBAXEB9QH/ATwBcgH6Af8BQgFrAv8BNQFvAf0B/wEu
|
||||
AYMBsAHvAQEBkwL/AQABhQL/AVQBvAH1Av8B9AHfAf8B5gHrAeQB/wHfAeYB5QH/AYsBxQHvAf8BggG+
|
||||
AfAB/wHCAdkB6AH/AfUB8wHiAf8B6AHwAeMB/wG2AcwB6gH/AQABngL/AQEBqQL/ARkBkQHaAfgBaQG7
|
||||
AfkB/wFHAXoB+AH/AUYBeQH3Af8BIQFfAf4B/wFBAXEB9QH/ATwBcgH6Af8BQgFrAv8BNQFvAf0B/wE6
|
||||
AXsBnwHvAQEBkwL/AQABhQL/AVQBvAH1Av8B9AHfAf8B5gHrAeQB/wHfAeYB5QH/AYsBxQHvAf8BggG+
|
||||
AfAB/wHCAdkB6AH/AfUB8wHiAf8B6AHwAeMB/wG2AcwB6gH/AQABngL/AQEBqQL/AR8BiwHMAfgBaQG7
|
||||
ATIB/wFlAb0BKgH/AWkBwQEtAf8BZQGyAR4B/wHdAfcB2QH/AfsB/wH8A/8B/gH/Af0B+gH+A/8B/AH/
|
||||
AfgC/QH/Aa8B2wGUAf8BVwGsARcB/wFiAbwBMwH/AWYBvgEmAf8BZgG1ASYB/wFmAbgBKwL/AfgC/wHg
|
||||
AfQB/QH/AQsBsgH7Af8BJAHCAf4B/wEkAcIB9wH/ASQBxAH2Af8BJAHWAv8B2wG3AWQB/wHsAZcBAQH/
|
||||
AX0B3gHsAf8BDQG8AfsB/wEvAcYB9gH/ARsBwwH4Af8BDwG/AfkB/wHVAfAD/wH9Av8BOgFqAf4B/wFA
|
||||
AWwB+QH/ASsBYwH+Af8BbQGQAfUB/wHiAfEB+wH/AfkB/AL/AfsB/AH+Af8B+gH7Af0B/wH7AfwB/gH/
|
||||
AfoB/AH+Af8B+QH6AfwB/wGzAcYB+AH/ASwBXAH8Af8BOQFpAfsB/wE4AWoC/wE8AWwB+QH/AS4BgwGw
|
||||
AfoB/AH+Af8B+QH6AfwB/wGzAcYB+AH/ASwBXAH8Af8BOQFpAfsB/wE4AWoC/wE8AWwB+QH/AToBewGf
|
||||
Ae8BAAGiAv8BCQGcAf4B/wHOAeQB6QH/AesB7QHmAf8BjQHDAfAB/wEXAasB/QH/ASwBsAH6Af8BCQGk
|
||||
Af4B/wERAZ0B/QH/AVYBpgH2Af8B2gHmAegB/wHzAfUB5QH/AWEBsgH1Af8BAQGCAv8BGQF8AdoB+AFm
|
||||
Af4B/wERAZ0B/QH/AVYBpgH2Af8B2gHmAegB/wHzAfUB5QH/AWEBsgH1Af8BAQGCAv8BHwF8AcwB+AFm
|
||||
AbsBKwH/AWcBvQEuAf8BWgG1AREB/wGyAeABmQH/AesB8gHmAf8B6wHyAdgB/wHoAfYB5QH/AboB3QGh
|
||||
Af8B5gH2AdwB/wP+Af8C/QH8Af8B0gHvAcEB/wFVAaoBFAH/AWMBtQEqAf8BawG7ASgB/wFlAbgBKwH/
|
||||
AfwB/gL/AfoB/QH7Af8BqQHnAv8BGAG+AfoB/wEWAcAB9wH/AY4B5AH9Af8B5gHfAa0B/wHaAZQBGQH/
|
||||
Ad8BlgEaAf8B4gHAAW0B/wHgAfwC/wEmAcUB+wH/ARoBwAH+Af8BbwHUAfkB/wH6Af8B+wH/AfoB/AH+
|
||||
Af8BPAFnAf4B/wE0AWEB/QH/AU4BbQHyAf8B3wHnAfQB/wHhAeYC/wHdAeUB/gH/AeEB6QH2Af8B4gHm
|
||||
AfwB/wHcAeAB+AH/AeIB5gH4Af8B+AH5Af0C/wH+Av8BgwGlAfkB/wEwAVgB/gH/ATgBZwH4Af8BNwFn
|
||||
AfwB/wEuAYMBsAHvAQABpAL/AWgBygH1Af8B9gHzAegB/wHYAecB6wH/AQ0BkQH+Av8B+QHlAf8BdwHN
|
||||
AfQB/wF9AdMB8wH/AvIB5wH/AdgB5gHrAf8B1gHmAesB/wHYAecB6wH/AbwB3AHtAf8BAAFpAv8BGQF5
|
||||
AdoB+AFoAbgBLwH/AWQBwAEmAf8BWAGrAQkB/wHnAfQB3AH/AcEB2QGfAf8B9gH/AfYB/wHYAe4B2wH/
|
||||
AfwB/wE6AXsBnwHvAQABpAL/AWgBygH1Af8B9gHzAegB/wHYAecB6wH/AQ0BkQH+Av8B+QHlAf8BdwHN
|
||||
AfQB/wF9AdMB8wH/AvIB5wH/AdgB5gHrAf8B1gHmAesB/wHYAecB6wH/AbwB3AHtAf8BAAFpAv8BHwF5
|
||||
AcwB+AFoAbgBLwH/AWQBwAEmAf8BWAGrAQkB/wHnAfQB3AH/AcEB2QGfAf8B9gH/AfYB/wHYAe4B2wH/
|
||||
AUoBqgECAf8BSgGqAQIB/wHGAekBtgL/AfwE/wH8Af8BsQHRAZgB/wFVAbEBGAH/AWQBugEuAf8BaAG4
|
||||
ASkD/wH7Af8B/AH9AfwD/wH8Af8BWgHSAfsB/wEnAcEB8gH/ASgBwQHgAf8B+gGRAQQB/wHfAZoBJgH/
|
||||
Ad0BmAEjAf8B5wGYARYB/wFAAccB3QH/ARQBwwH9Af8BBAG6AfUB/wHkAfcD/wH7Av8B+AH/AfoB/wE7
|
||||
AWQB+gH/AUABZQH7Af8BPgFkAfcB/wE4AWEB+QH/AVEBcgH1Af8BUwF3AfwB/wFZAXkB9gH/AVEBdgH5
|
||||
Af8BWgF4AfcB/wFJAWsB+AH/AbQBwwH3Af8B/gH/Af0B/wG2AcAB+AH/ASwBVQH9Af8BPwFkAfgB/wFC
|
||||
AWMB/QH/AS4BgwGwAe8BAAGmAv8BrQHdAfEC/wH4AesB/wFYAbsB+QH/AWYBtwH3Av8B+wHpAf8BYAHI
|
||||
AfgB/wFiAc8B9wH/AeIB8AHsAf8B3gHrAe4B/wHdAekB7gH/Ad4B6QHuAf8BuAHaAfAB/wEAAXYC/wEZ
|
||||
AXsB2gH4AWsBvAExAf8BYQG6ASsB/wFpAb8BIwH/AcMB4wGoAf8B8QH4Ae8B/wH7Af4B/AH/AZkB0wFy
|
||||
AWMB/QH/AToBewGfAe8BAAGmAv8BrQHdAfEC/wH4AesB/wFYAbsB+QH/AWYBtwH3Av8B+wHpAf8BYAHI
|
||||
AfgB/wFiAc8B9wH/AeIB8AHsAf8B3gHrAe4B/wHdAekB7gH/Ad4B6QHuAf8BuAHaAfAB/wEAAXYC/wEf
|
||||
AXsBzAH4AWsBvAExAf8BYQG6ASsB/wFpAb8BIwH/AcMB4wGoAf8B8QH4Ae8B/wH7Af4B/AH/AZkB0wFy
|
||||
Af8BWgGzARoB/wFkAbUBJgH/AWEBsQEiAf8B2QHvAcUB/wP9Af8B9QH/AfMB/wFrAboBMAH/AWUBugEm
|
||||
Af8BZgG2AS0B/wH+Av0C/wH+Av8B+QH+AfwB/wHZAfMB/gH/AREByAH+Af8BiAGgAWMB/wHDAZIBGwH/
|
||||
AeIBowEuAf8B6wGyAUMB/wHRAZMBGQH/AbkBkAEgAf8BLgG9AeAB/wHFAfAB/QH/Af0B/wH8Af8B+gH/
|
||||
AfoB/wL9Av8BPAFhAv8BQgFbAf4B/wFFAVsC/wE5AVgB/QH/AfUB+AH8Av8B/AH+Av8B/QT/AfsD/wH7
|
||||
A/8B/QL/Af4B+QH/AfcB+gH+Af8BWgFtAfYB/wEzAVcB+wH/AT8BYgH4Af8BPQFfAf0B/wEvAYMBsAHv
|
||||
A/8B/QL/Af4B+QH/AfcB+gH+Af8BWgFtAfYB/wEzAVcB+wH/AT8BYgH4Af8BPQFfAf0B/wE6AXsBnwHv
|
||||
AQABqAL/AcUB5QHyAv8B+gHuAf8BQwGzAfsB/wF6AcgB+AL/AfcB7wH/AXUB1AH4Af8BAAGmAv8BAAGp
|
||||
Av8BAAGYAv8BAAGQAv8BAAGRAv8BAAGLAv8BBQGOAf4B/wEaAXwB2gH4AWgBugErAf8BZwG+ATMB/wFc
|
||||
Av8BAAGYAv8BAAGQAv8BAAGRAv8BAAGLAv8BBQGOAf4B/wEgAXwBzAH4AWgBugErAf8BZwG+ATMB/wFc
|
||||
AbQBJQH/AZEBzQFhAf8B8wH3AfgB/wH6A/8BiwHFAVgB/wFbAbYBGQH/AWYBugEyAf8BZAG1ASkB/wFY
|
||||
AbIBEwH/AfIB+wHwAf8B/QP/AY0BygFdAf8BaAG3ASoB/wFlAbgBKgH/Af0B/wH7Af8B/QH+A/8B+wP/
|
||||
Av0B/wG6AdYBqwH/AbkBiQESAf8BxwGNAQsB/wHUAcYBjwH/Af0B/gH6Af8BvQGPARoB/wG/AY4BIAH/
|
||||
AbIBswFsAv8C/QH/Af0B/gH9A/8B+gH/Av4B/QH/AUEBWwH6Af8BQwFdAfsB/wFDAVoB/QH/AToBVgH5
|
||||
Af8BuQHEAfgB/wHFAdEB+wH/AcMBywH4Af8BxAHMAfoB/wLHAv8BvAHGAf0B/wHqAeYB+gH/AfkB/AH+
|
||||
Af8BhgGOAfcB/wEzAVEB+wH/AUQBXQH4Af8BQwFZAfwB/wEzAYUBsAHvAQQBmwL/AaIB1gH3Af8C/QHy
|
||||
Af8BhgGOAfcB/wEzAVEB+wH/AUQBXQH4Af8BQwFZAfwB/wE9AX4BnwHvAQQBmwL/AaIB1gH3Af8C/QHy
|
||||
Af8BuwHdAfYB/wFCAaEB/AP/AfEB/wHvAfQB8wH/Ac8B6wH0Af8BzQHsAfQB/wHQAe4B9AH/AbgB6AH1
|
||||
Af8BQAHCAfwB/wEHAbMC/wENAbAB/gH/AR0BlgHaAfgBaQG/ASgB/wFmAboBLAH/AWUBvwEsAf8BYgG1
|
||||
Af8BQAHCAfwB/wEHAbMC/wENAbAB/gH/ASMBkgHMAfgBaQG/ASgB/wFmAboBLAH/AWUBvwEsAf8BYgG1
|
||||
ASAB/wHdAfEB1QH/Af0B/wH7Af8BiQHHAVUB/wFeAbgBHgH/AWkBvgEnAf8BYwG6ASwB/wFKAawBBwH/
|
||||
AccB4wGzAf8B/gH/AfsB/wGWAc4BbgH/AWMBtwEkAf8BZwG6ASoC/wH9Av8B+wH+Af0B/wH4Af8B/AH/
|
||||
AfoB8AHWAf8B3gGVARAB/wHRAZIBFwH/AacBmAE9Af8BMAHJAe4B/wE8AdMB/gH/AWIBrAGPAf8ByQGQ
|
||||
AQ8B/wHhAZgBGQH/AfYB5wHLAf8B/AH9AfwD/wH7Af8D/QH/AUYBXQH1Af8BRwFVAfwB/wFEAVwB9gH/
|
||||
ATwBWwH3Af8BJQFDAfYB/wETAS8B+wH/ASQBPwHzAf8BHwE7AfQB/wEpATsB8gH/ARMBKwH2Af8BkQGr
|
||||
Ae0D/wH9Af8BwQHFAfYB/wEyAUgB+gH/AUkBVwH3Af8BSQFWAfsB/wE0AYgBsAHvAQkBoAL/AUcBtQH8
|
||||
Ae0D/wH9Af8BwQHFAfYB/wEyAUgB+gH/AUkBVwH3Af8BSQFWAfsB/wE+AX8BnwHvAQkBoAL/AUcBtQH8
|
||||
Af8B+gH7AfYD/wH0Af8BUQGmAfwB/wFeAb4B/AH/AfoB/QH1A/8B9AP/AfUC/wH+AfUD/wH0A/8B9AH/
|
||||
ARUBuAL/ARYBsQH+Af8BIwGYAdoB+AFiAbwBIwH/AWsBuwEuAf8BYgG7ASUB/wFYAbYBGAH/AakB2AGJ
|
||||
ARUBuAL/ARYBsQH+Af8BKgGUAcwB+AFiAbwBIwH/AWsBuwEuAf8BYgG7ASUB/wFYAbYBGAH/AakB2AGJ
|
||||
Af8B/QL+Af8BoQHXAX0B/wFZAbcBFwH/AW8BvwEsAf8BZQG9AS4B/wFSAbABCwH/AbgB3AGcAf8B+wH/
|
||||
AfwB/wGFAccBVgH/AWMBvAEmAf8BZwG2ASsB/wHzAf4B9gH/Af0B/gH9Af8B+wH/AfsB/wHmAbgBYwH/
|
||||
AdIBnwErAf8B2gGVAR0B/wEXAb4B/QH/ASABxAL/AScBwAL/ARYBwgL/AdYBmwEgAf8B3QGWARsB/wHQ
|
||||
AY8BDgH/AvoB6gL/AfwC/wH9Af8B+gH/AUMBVAH6Af8BSAFSAfsB/wFIAVIB/QH/AUUBUQH8Af8BOgFF
|
||||
AfcB/wKlAfYB/wLyAv8B9QH2AfwB/wH2AfcB/AH/AfQB9gH8Af8B/AH+Af0B/wHxAfQB/QH/AWEBbgHx
|
||||
Af8BPAFKAfgB/wFKAVEB+gH/AUYBVAH5Af8BOgGJAbAB7wEcAakC/wEFAZgC/wG8AeAB+gH/AfoB+wH5
|
||||
Af8BPAFKAfgB/wFKAVEB+gH/AUYBVAH5Af8BQgF/AZ8B7wEcAakC/wEFAZgC/wG8AeAB+gH/AfoB+wH5
|
||||
Af8B4wHyAfgB/wFqAcEB/QH/AT0BuQH+Af8BUQHAAf0B/wFPAcQB/QH/AU0BzQH9Af8BTAHKAf0B/wFE
|
||||
AcYB/QH/ARsBuQH+Af8BIQG2Av8BLQGaAdoB+AFoAb8BLQH/AWgBuQEtAf8BaQG+ASwB/wFiAb0BJAH/
|
||||
AcYB/QH/ARsBuQH+Af8BIQG2Av8BNQGWAcwB+AFoAb8BLQH/AWgBuQEtAf8BaQG+ASwB/wFiAb0BJAH/
|
||||
AWgBtgEoAf8B6gH4AewB/wHYAfQB0gH/AVoBtQEhAf8BZQG6AS0B/wFrAbwBLQH/AU8BrwEOAf8BxgHj
|
||||
Aa8B/wHyAfsB8AH/AWcBtwErAf8BYQG2ASwB/wFpAbkBKgH/Av4B/QH/AfwB/gH8Af8B8AHYAacB/wHZ
|
||||
AZQBFwH/AdkBlQEVAf8B7AHSAY8B/wGnAfUB7wH/ARkBvwH3Af8BGwG+AfwB/wFoAd0B9QL/AfsB5AH/
|
||||
Ad0BnwEqAf8B3gGWARUB/wHmAb0BbgH/Av0C/wH8Af8B/gH/AUQBRgL/AU0BUwH3Af8BQAFMAfgB/wE6
|
||||
AUcB+gH/AZwBpgHzAf8B+AH6AfwB/wHwAfQB+QH/AfAB9AH5Af8B8QH1AfoB/wHwAfQB+QH/AewB8AH1
|
||||
Af8BfAF9AfgB/wE1AT0B9QH/AUUBVAH7Af8BSAFRAfUB/wFBAVAB+QH/AT4BjAGwAe8BJwG1Av8BMAG6
|
||||
Af8BfAF9AfgB/wE1AT0B9QH/AUUBVAH7Af8BSAFRAfUB/wFBAVAB+QH/AUYBggGfAe8BJwG1Av8BMAG6
|
||||
Af4B/wEuAbIE/wH7Af8B/gH9AfsD/wH6A/8B+gP/AfoD/wH6Av8B/gH6A/8B+gH/AfEC+wH/AVABvgH+
|
||||
Af8BJQGpAv8BNwGXAdoB+AFnAbwBKgH/AWoBvQEwAf8BZgG8ASgB/wFnAbwBKwH/AVcBsgEPAf8BtAHb
|
||||
Af8BJQGpAv8BOgGTAcwB+AFnAbwBKgH/AWoBvQEwAf8BZgG8ASgB/wFnAbwBKwH/AVcBsgEPAf8BtAHb
|
||||
AZcB/wH7Af4B/AH/AYYBxgFTAf8BYQG3ASMB/wFeAbgBKgH/AUUBrAEKAf8B6wH5Ae0B/wGGAcIBUAH/
|
||||
AVsBsAEXAf8BbAG9ASsB/wFmAbYBLwL/Af0C/wH8AfIB4QH/AdYBiAENAf8B3gGbAR8B/wHcAaIBJAH/
|
||||
AdwBmQErAf8B8QGnASsB/wFgAc8B8gH/AQEBwwL/Ad8BxQGLAf8B3QGTAR0B/wHhAaEBLQH/AdwBnwEp
|
||||
Af8B2AGRARYC/wHvAd4B/wH9A/8BTwFKAfgB/wFGAUsB9wH/AkgB/QH/AUkBSgH7Af8BUgFTAfgB/wFG
|
||||
AUcB+wH/AUgBRgH6Af8BSAFGAfoB/wFJAUcB+wH/AUcBRQH5Af8BRgFEAfgB/wE+AUAB9wH/AUoBSwH9
|
||||
Af8BSQFKAfoB/wFIAUsB9gH/AUcBSAH+Af8BRAGSAbwB8QExAboC/wE4Ab4C/wEzAbgB/gH/ATkBuQH+
|
||||
Af8BSQFKAfoB/wFIAUsB9gH/AUcBSAH+Af8BSgGJAasB8QExAboC/wE4Ab4C/wEzAbgB/gH/ATkBuQH+
|
||||
Af8BoAHdAf0B/wHfAfMB/QH/AfoC/QH/Af4B/wH9Af8C/gH9Af8C/gH9Af8C/gH9Af8B/QH+Af0B/wHa
|
||||
AfAB/QH/ARkBogL/ATkBmQHaAfgBZwG8AS0B/wFnAbsBLQH/AWgBuwEwAf8BZwG7ASwB/wFqAbwBMwH/
|
||||
AfAB/QH/ARkBogL/ATsBlQHMAfgBZwG8AS0B/wFnAbsBLQH/AWgBuwEwAf8BZwG7ASwB/wFqAbwBMwH/
|
||||
AV0BugEbAf8BqQHZAYUB/wHaAe0BzQH/AX4ByQFYAf8BfAHJAVIB/wHlAfUB0AH/AZkB0AFxAf8BWQG1
|
||||
ARkB/wFpAbwBLQH/AWUBtQEwAf8BZQG6ASgB/wL9AfoB/wHeAa8BWgH/AdEBkgENAf8B2gGWARkB/wHQ
|
||||
AZUBFwH/AdYBkAEOAf8B2wGRAQ8B/wHWAfQB7wH/AbIB7wH9Af8B7gHGAXoB/wHYAYsBBwH/AdUBlQET
|
||||
Af8B1gGUAR8B/wHVAZIBDwH/AdYBkQEnAf8B9AHtAdcB/wFqAWAB+gH/ATwBNQL/AV0BSgH9Af8BTQFE
|
||||
AfoB/wFOAUUB+QH/AU0BSAH7Af8BSQFGAfoB/wFKAUcB+wH/AUoBRwH7Af8BSgFHAfsB/wFLAUgB/AH/
|
||||
AUwBRgH4Af8BUQFDAv8BTAFKAfcB/wFMAUkB/QH/AVEBSQH4Af8BRAGYAcMB8wE6AbwC/wFBAcAC/wFG
|
||||
AUwBRgH4Af8BUQFDAv8BTAFKAfcB/wFMAUkB/QH/AVEBSQH4Af8BSgGPAbIB8wE6AbwC/wFBAcAC/wFG
|
||||
Ab4C/wFOAcAB/gH/ATsBuAH+Af8BNQGvAf4B/wFeAb4B/gH/AWgBwgH+Af8BZgHGAf4B/wFkAdIB/gH/
|
||||
AWEBzwH+Af8BXQHOAv8BWgHAAv8BPwGxAv8BMwGbAecB/AFoAb0BKwH/AWgBvgEsAf8BZQG4AS0B/wFn
|
||||
AWEBzwH+Af8BXQHOAv8BWgHAAv8BPwGxAv8BMQGVAd0B/AFoAb0BKwH/AWgBvgEsAf8BZQG4AS0B/wFn
|
||||
Ab4BKAH/AWYBtQE2Af8BbQG+ATQB/wFYAbABHAH/AWIBuQEkAf8BqwHaAY4B/wGkAdgBgAH/AVcBrgEW
|
||||
Af8BXQG4ARcB/wFnAb8BLwH/AWcBvQEpAf8BYAHBASoB/wFlAbcBKAH/AfQB6QHVAf8B4wGtAUoB/wHk
|
||||
AbEBUwH/AekBswFYAf8B7QG6AVIB/wHdAbQBVwH/AeIBtwFWAf8B/gH5AfQB/wH9Af4B+gH/AfEB1gGi
|
||||
|
|
@ -242,19 +242,19 @@
|
|||
AT4B9gH/AT0BNgH2Af8BTAFFAfcB/wFKAUIB+wH/AU8BQgH8Af8BTQFEAfoB/wFMAUMB+QH/AU0BRAH6
|
||||
Af8BTQFEAfoB/wFMAUMB+QH/AU4BQwH5Af8BSwFEAfgB/wFIAUQB+wH/AUoBRAH8Af8BSwFDAfoB/wFC
|
||||
AkMBdQFBAbsC/wFIAb4C/wFPAcAC/wFVAcIC/wFZAcMC/wFcAcAB/gH/AVcBvgH+Af8BVgG9Af4B/wFV
|
||||
AcAB/gH/AVIBxgL/AU0BwwL/AUgBwgL/AUIBuQL/AUUBtwL/AVgBZQFtAcUBZAG9ASYB/wFkAboBKwH/
|
||||
AcAB/gH/AVIBxgL/AU0BwwL/AUgBwgL/AUIBuQL/AUUBtwL/AVsBXwFhAcUBZAG9ASYB/wFkAboBKwH/
|
||||
AWUBvQEoAf8BZAG9AScB/wFmAbwBLwH/AWIBvwEjAf8BZgG9ASsB/wFlAbkBJAH/AV4BtwEbAf8BWgG2
|
||||
ARkB/wFlAbsBKQH/AWUBuwEvAf8BaQG9AS8B/wFkAbsBKwH/AWMBvAEuAf8BaAG6ASwB/wH6Af0B/AH/
|
||||
Av4B+wH/AfsB/wH8Af8C/gH9Af8C/AH6Af8B/QH/Af4D/wH9Af8C/AH+Af8B+QH9Af4C/wH9Af4B/wH9
|
||||
Af8B/QH/AfwB/gL/Av0B/gH/Af0B/wH7Av8C/AH/AfwB/gH8A/8B+AH/AdoB2QH3Af8BaQFdAfUB/wFO
|
||||
ATwB9wH/AUUBPwH4Af8BTgE/AfcB/wFNAT8B+QH/AU4BQAH6Af8BTQE/AfkB/wFNAT8B+QH/AU4BQAH6
|
||||
Af8BTAE9Af4B/wFKAUIB8wH/AVEBPgH3Af8BVgE9Af0B/wFOAUIB9QH/BAADQAFuAVkBggGgAekBWgGZ
|
||||
AbsB8QFcAZQBsAHvAWIBlAGwAe8BZgGcAbAB7wFnAZ0BsAHvAWcBnAGwAe8BZwGZAbAB7wFkAZEBsAHv
|
||||
AV8BkQGwAe8BWQGOAbAB7wFZAZUBsQHvAVYBWwFdAbUDGAEgAWcBvgEuAf8BagG/ATMB/wFoAbwBNAH/
|
||||
AWoBwQEwAf8BZQG4ATQB/wFqAb8BMwH/AWoBugE3Af8BbAHAATIB/wFlAbkBMQH/AWkBvwE1Af8BaAG+
|
||||
ATIB/wFrAcABLQH/AWgBwAEtAf8BaAHCATEB/wFwAbkBNQH/AWwBwAExAf8B9AH/AfwD/wH+Af8B/QH8
|
||||
Av8B/AH+Af0B/wH0Af0D/wH9B/8C/gL/Af4B/Qb/Af4C/wH5Af8B/gP/AfgB/wH4Af4D/wH9Av8B+QH+
|
||||
Av8BQgFNAT4HAAE+AwABKAMAAUADAAEgAwABAQEAAQEGAAEBFgAD//sAAYAFAAs=
|
||||
Af8BTAE9Af4B/wFKAUIB8wH/AVEBPgH3Af8BVgE9Af0B/wFOAUIB9QH/BAADQAFuAVoBeAGMAekBXAGQ
|
||||
AaoB8QFcAYgBnwHvAWIBiAGfAe8BZgGOAZ8B7wFnAY8BnwHvAWcBjgGfAe8BZwGMAZ8B7wFkAYYBnwHv
|
||||
AV8BhgGfAe8BWQGDAZ8B7wFZAYkBnwHvAVYCVwG1AxgBIAFnAb4BLgH/AWoBvwEzAf8BaAG8ATQB/wFq
|
||||
AcEBMAH/AWUBuAE0Af8BagG/ATMB/wFqAboBNwH/AWwBwAEyAf8BZQG5ATEB/wFpAb8BNQH/AWgBvgEy
|
||||
Af8BawHAAS0B/wFoAcABLQH/AWgBwgExAf8BcAG5ATUB/wFsAcABMQH/AfQB/wH8A/8B/gH/Af0B/AL/
|
||||
AfwB/gH9Af8B9AH9A/8B/Qf/Av4C/wH+Af0G/wH+Av8B+QH/Af4D/wH4Af8B+AH+A/8B/QL/AfkB/gL/
|
||||
AUIBTQE+BwABPgMAASgDAAFAAwABIAMAAQEBAAEBBgABARYAA//7AAGABQAL
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
<OutputType>WinExe</OutputType>
|
||||
<RootNamespace>Itrycn_Project2</RootNamespace>
|
||||
<AssemblyName>Itrycn_Project2</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
|
|
@ -64,6 +64,7 @@
|
|||
</Reference>
|
||||
<Reference Include="System.Design" />
|
||||
<Reference Include="System.Management" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
|
|
@ -75,34 +76,22 @@
|
|||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="clsForm.cs" />
|
||||
<Compile Include="Public\Class\LogInfo.cs" />
|
||||
<Compile Include="Config\Init.cs" />
|
||||
<Compile Include="Config\Itrycn_Db.cs" />
|
||||
<Compile Include="Public\Fun\Itrycn_Db.cs" />
|
||||
<Compile Include="Config\Public_Config.cs" />
|
||||
<Compile Include="DbOp\FrmAdd.cs">
|
||||
<Compile Include="OTools\DbOp\FrmAdd.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="DbOp\FrmAdd.Designer.cs">
|
||||
<Compile Include="OTools\DbOp\FrmAdd.Designer.cs">
|
||||
<DependentUpon>FrmAdd.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="DbOp\FrmView.cs">
|
||||
<Compile Include="OTools\DbOp\FrmView.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="DbOp\FrmView.Designer.cs">
|
||||
<Compile Include="OTools\DbOp\FrmView.Designer.cs">
|
||||
<DependentUpon>FrmView.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Form1.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Form1.Designer.cs">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="FormTest.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="FormTest.Designer.cs">
|
||||
<DependentUpon>FormTest.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="FrmAbout.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
|
|
@ -127,26 +116,26 @@
|
|||
<Compile Include="FrmTest2.Designer.cs">
|
||||
<DependentUpon>FrmTest2.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MdiForm\FrmFileBrowser_New.cs">
|
||||
<Compile Include="OTools\MdiForm\FrmFileBrowser_New.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="MdiForm\FrmFileBrowser_New.Designer.cs">
|
||||
<Compile Include="OTools\MdiForm\FrmFileBrowser_New.Designer.cs">
|
||||
<DependentUpon>FrmFileBrowser_New.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MdiForm\FrmMainEditor.cs">
|
||||
<Compile Include="OTools\MdiForm\FrmMainEditor.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="MdiForm\FrmMainEditor.Designer.cs">
|
||||
<Compile Include="OTools\MdiForm\FrmMainEditor.Designer.cs">
|
||||
<DependentUpon>FrmMainEditor.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MdiForm\FrmTitle.cs">
|
||||
<Compile Include="OTools\MdiForm\FrmTitle.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="MdiForm\FrmTitle.Designer.cs">
|
||||
<Compile Include="OTools\MdiForm\FrmTitle.Designer.cs">
|
||||
<DependentUpon>FrmTitle.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MdiForm\MyFileSystemInfo.cs" />
|
||||
<Compile Include="MdiForm\ShellUtilities.cs" />
|
||||
<Compile Include="OTools\MdiForm\MyFileSystemInfo.cs" />
|
||||
<Compile Include="OTools\MdiForm\ShellUtilities.cs" />
|
||||
<Compile Include="OTools\FrmScan.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
|
|
@ -168,38 +157,32 @@
|
|||
<Compile Include="Config\Soft_Info.cs" />
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="SkinForms\FrmMessageBox.cs">
|
||||
<Compile Include="Public\SkinForms\FrmMessageBox.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SkinForms\FrmMessageBox.Designer.cs">
|
||||
<Compile Include="Public\SkinForms\FrmMessageBox.Designer.cs">
|
||||
<DependentUpon>FrmMessageBox.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="SkinForms\Msg.cs" />
|
||||
<Compile Include="SkinForms\SKinForm.cs">
|
||||
<Compile Include="Public\SkinForms\Msg.cs" />
|
||||
<Compile Include="Public\SkinForms\SKinForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SkinForms\SKinForm.Designer.cs">
|
||||
<Compile Include="Public\SkinForms\SKinForm.Designer.cs">
|
||||
<DependentUpon>SKinForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="SkinForms\SkinMdiForm.cs">
|
||||
<Compile Include="Public\SkinForms\SkinMdiForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SkinForms\SkinMdiForm.Designer.cs">
|
||||
<Compile Include="Public\SkinForms\SkinMdiForm.Designer.cs">
|
||||
<DependentUpon>SkinMdiForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="SkinForms\ThemeForm.cs" />
|
||||
<EmbeddedResource Include="DbOp\FrmAdd.resx">
|
||||
<Compile Include="Public\SkinForms\ThemeForm.cs" />
|
||||
<EmbeddedResource Include="OTools\DbOp\FrmAdd.resx">
|
||||
<DependentUpon>FrmAdd.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="DbOp\FrmView.resx">
|
||||
<EmbeddedResource Include="OTools\DbOp\FrmView.resx">
|
||||
<DependentUpon>FrmView.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Form1.resx">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="FormTest.resx">
|
||||
<DependentUpon>FormTest.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="FrmAbout.resx">
|
||||
<DependentUpon>FrmAbout.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
|
@ -212,13 +195,13 @@
|
|||
<EmbeddedResource Include="FrmTest2.resx">
|
||||
<DependentUpon>FrmTest2.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="MdiForm\FrmFileBrowser_New.resx">
|
||||
<EmbeddedResource Include="OTools\MdiForm\FrmFileBrowser_New.resx">
|
||||
<DependentUpon>FrmFileBrowser_New.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="MdiForm\FrmMainEditor.resx">
|
||||
<EmbeddedResource Include="OTools\MdiForm\FrmMainEditor.resx">
|
||||
<DependentUpon>FrmMainEditor.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="MdiForm\FrmTitle.resx">
|
||||
<EmbeddedResource Include="OTools\MdiForm\FrmTitle.resx">
|
||||
<DependentUpon>FrmTitle.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="OTools\FrmScan.resx">
|
||||
|
|
@ -240,13 +223,13 @@
|
|||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="SkinForms\FrmMessageBox.resx">
|
||||
<EmbeddedResource Include="Public\SkinForms\FrmMessageBox.resx">
|
||||
<DependentUpon>FrmMessageBox.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="SkinForms\SKinForm.resx">
|
||||
<EmbeddedResource Include="Public\SkinForms\SKinForm.resx">
|
||||
<DependentUpon>SKinForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="SkinForms\SkinMdiForm.resx">
|
||||
<EmbeddedResource Include="Public\SkinForms\SkinMdiForm.resx">
|
||||
<DependentUpon>SkinMdiForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<None Include="app.config" />
|
||||
|
|
@ -269,7 +252,7 @@
|
|||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="API\" />
|
||||
<Content Include="结构说明.txt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\RaUI\RaUIV4.csproj">
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<ProjectView>ShowAllFiles</ProjectView>
|
||||
<ProjectView>ProjectFiles</ProjectView>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
using ryCommon;
|
||||
using Public.Fun;
|
||||
using ryCommon;
|
||||
using ryCommonDb;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
using ryCommon;
|
||||
using Public.Fun;
|
||||
using ryCommon;
|
||||
using ryCommonDb;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
45
Source/Itrycn_Project2/OTools/FrmScan.Designer.cs
generated
45
Source/Itrycn_Project2/OTools/FrmScan.Designer.cs
generated
|
|
@ -39,13 +39,13 @@
|
|||
this.OlvAddTime = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
|
||||
this.TabLogs = new System.Windows.Forms.TabPage();
|
||||
this.LvLogs = new BrightIdeasSoftware.FastObjectListView();
|
||||
this.OlvLogText = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
|
||||
this.OlvLogTime = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
|
||||
this.OlvLogText = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
|
||||
this.MenuLogs = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.复制日志信息ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.导出日志ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
|
||||
this.TsState = new System.Windows.Forms.ToolStripStatusLabel();
|
||||
this.导出日志ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.chromeTabControl1.SuspendLayout();
|
||||
this.tabPage1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.LvCbResult)).BeginInit();
|
||||
|
|
@ -65,14 +65,14 @@
|
|||
this.chromeTabControl1.Controls.Add(this.tabPage1);
|
||||
this.chromeTabControl1.Controls.Add(this.TabLogs);
|
||||
this.chromeTabControl1.Cursor = System.Windows.Forms.Cursors.Default;
|
||||
this.chromeTabControl1.DrawTabBorder = true;
|
||||
this.chromeTabControl1.ItemSize = new System.Drawing.Size(100, 25);
|
||||
this.chromeTabControl1.Location = new System.Drawing.Point(1, 30);
|
||||
this.chromeTabControl1.Name = "chromeTabControl1";
|
||||
this.chromeTabControl1.SelectedIndex = 0;
|
||||
this.chromeTabControl1.ShowAddButton = false;
|
||||
this.chromeTabControl1.ShowCloseButton = false;
|
||||
this.chromeTabControl1.Size = new System.Drawing.Size(802, 538);
|
||||
this.chromeTabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
|
||||
this.chromeTabControl1.Size = new System.Drawing.Size(900, 547);
|
||||
this.chromeTabControl1.TabContextMenuStrip = null;
|
||||
this.chromeTabControl1.TabIndex = 0;
|
||||
this.chromeTabControl1.TabMaxWidth = 100;
|
||||
|
|
@ -84,7 +84,7 @@
|
|||
this.tabPage1.Location = new System.Drawing.Point(1, 29);
|
||||
this.tabPage1.Name = "tabPage1";
|
||||
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabPage1.Size = new System.Drawing.Size(800, 508);
|
||||
this.tabPage1.Size = new System.Drawing.Size(898, 517);
|
||||
this.tabPage1.TabIndex = 0;
|
||||
this.tabPage1.Text = "首页";
|
||||
this.tabPage1.UseVisualStyleBackColor = true;
|
||||
|
|
@ -117,10 +117,9 @@
|
|||
this.LvCbResult.HideSelection = false;
|
||||
this.LvCbResult.Location = new System.Drawing.Point(3, 47);
|
||||
this.LvCbResult.Name = "LvCbResult";
|
||||
this.LvCbResult.RowHeight = 25;
|
||||
this.LvCbResult.ShowGroups = false;
|
||||
this.LvCbResult.ShowItemToolTips = true;
|
||||
this.LvCbResult.Size = new System.Drawing.Size(794, 458);
|
||||
this.LvCbResult.Size = new System.Drawing.Size(892, 467);
|
||||
this.LvCbResult.TabIndex = 84;
|
||||
this.LvCbResult.UseCompatibleStateImageBehavior = false;
|
||||
this.LvCbResult.UseFiltering = true;
|
||||
|
|
@ -166,7 +165,6 @@
|
|||
this.LvLogs.HideSelection = false;
|
||||
this.LvLogs.Location = new System.Drawing.Point(3, 3);
|
||||
this.LvLogs.Name = "LvLogs";
|
||||
this.LvLogs.RowHeight = 25;
|
||||
this.LvLogs.ShowGroups = false;
|
||||
this.LvLogs.ShowItemToolTips = true;
|
||||
this.LvLogs.Size = new System.Drawing.Size(794, 483);
|
||||
|
|
@ -176,17 +174,16 @@
|
|||
this.LvLogs.View = System.Windows.Forms.View.Details;
|
||||
this.LvLogs.VirtualMode = true;
|
||||
//
|
||||
// OlvLogText
|
||||
//
|
||||
this.OlvLogText.DisplayIndex = 0;
|
||||
this.OlvLogText.Text = "日志";
|
||||
this.OlvLogText.Width = 400;
|
||||
//
|
||||
// OlvLogTime
|
||||
//
|
||||
this.OlvLogTime.Text = "日志时间";
|
||||
this.OlvLogTime.Width = 180;
|
||||
//
|
||||
// OlvLogText
|
||||
//
|
||||
this.OlvLogText.Text = "日志";
|
||||
this.OlvLogText.Width = 400;
|
||||
//
|
||||
// MenuLogs
|
||||
//
|
||||
this.MenuLogs.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
|
|
@ -202,13 +199,20 @@
|
|||
this.复制日志信息ToolStripMenuItem.Text = "复制日志信息";
|
||||
this.复制日志信息ToolStripMenuItem.Click += new System.EventHandler(this.复制日志信息ToolStripMenuItem_Click);
|
||||
//
|
||||
// 导出日志ToolStripMenuItem
|
||||
//
|
||||
this.导出日志ToolStripMenuItem.Name = "导出日志ToolStripMenuItem";
|
||||
this.导出日志ToolStripMenuItem.Size = new System.Drawing.Size(148, 22);
|
||||
this.导出日志ToolStripMenuItem.Text = "导出日志";
|
||||
this.导出日志ToolStripMenuItem.Click += new System.EventHandler(this.导出日志ToolStripMenuItem_Click);
|
||||
//
|
||||
// statusStrip1
|
||||
//
|
||||
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.TsState});
|
||||
this.statusStrip1.Location = new System.Drawing.Point(1, 573);
|
||||
this.statusStrip1.Location = new System.Drawing.Point(1, 582);
|
||||
this.statusStrip1.Name = "statusStrip1";
|
||||
this.statusStrip1.Size = new System.Drawing.Size(802, 22);
|
||||
this.statusStrip1.Size = new System.Drawing.Size(900, 22);
|
||||
this.statusStrip1.TabIndex = 3;
|
||||
this.statusStrip1.Text = "statusStrip1";
|
||||
//
|
||||
|
|
@ -218,18 +222,11 @@
|
|||
this.TsState.Size = new System.Drawing.Size(83, 17);
|
||||
this.TsState.Text = "状态:准备就绪";
|
||||
//
|
||||
// 导出日志ToolStripMenuItem
|
||||
//
|
||||
this.导出日志ToolStripMenuItem.Name = "导出日志ToolStripMenuItem";
|
||||
this.导出日志ToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.导出日志ToolStripMenuItem.Text = "导出日志";
|
||||
this.导出日志ToolStripMenuItem.Click += new System.EventHandler(this.导出日志ToolStripMenuItem_Click);
|
||||
//
|
||||
// FrmScan
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(804, 596);
|
||||
this.ClientSize = new System.Drawing.Size(902, 605);
|
||||
this.Controls.Add(this.statusStrip1);
|
||||
this.Controls.Add(this.chromeTabControl1);
|
||||
this.Location = new System.Drawing.Point(0, 0);
|
||||
|
|
|
|||
|
|
@ -24,10 +24,10 @@ namespace Itrycn_Project2
|
|||
//配置软件信息
|
||||
OlvGameName.AspectGetter = delegate (object x) { return ((ItemInfo)x).Name; };
|
||||
OlvAddTime.AspectGetter = delegate (object x) { return ((ItemInfo)x).AddTime.ToDateTimeStr(); };
|
||||
OlvLogTime.AspectGetter = delegate (object x) { return ((LogInfo)x).LogTime.ToDateTimeStr(); };
|
||||
OlvLogText.AspectGetter = delegate (object x) { return ((LogInfo)x).LogText; };
|
||||
OlvLogTime.AspectGetter = delegate (object x) { return ((Public.Class.LogInfo)x).LogTime.ToDateTimeStr(); };
|
||||
OlvLogText.AspectGetter = delegate (object x) { return ((Public.Class.LogInfo)x).LogText; };
|
||||
LvLogs.FormatRow += delegate (object x, BrightIdeasSoftware.FormatRowEventArgs e) {
|
||||
LogInfo item = (LogInfo)e.Model;
|
||||
Public.Class.LogInfo item = (Public.Class.LogInfo)e.Model;
|
||||
if (item.Color != Color.Black)
|
||||
{
|
||||
e.Item.ForeColor = item.Color;
|
||||
|
|
@ -79,7 +79,7 @@ namespace Itrycn_Project2
|
|||
{
|
||||
LvLogs.RemoveObject(LvLogs.GetModelObject(count - 1));
|
||||
}
|
||||
LvLogs.InsertObjects(0, new LogInfo[] { new LogInfo() { LogTime = DateTime.Now, LogText = log, LogTag = tag, Color = color } });
|
||||
LvLogs.InsertObjects(0, new Public.Class.LogInfo[] { new Public.Class.LogInfo() { LogTime = DateTime.Now, LogText = log, LogTag = tag, Color = color } });
|
||||
OlvLogTime.Text = "时间(" + LvLogs.GetItemCount() + ")";
|
||||
}));
|
||||
}
|
||||
|
|
@ -133,31 +133,9 @@ namespace Itrycn_Project2
|
|||
private void 复制日志信息ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (LvLogs.SelectedObject == null) { return; }
|
||||
var item = (LogInfo)LvLogs.SelectedObject;
|
||||
var item = (Public.Class.LogInfo)LvLogs.SelectedObject;
|
||||
RyFiles.CopyToClip(item.LogText);
|
||||
}
|
||||
/// <summary>
|
||||
/// 日志信息
|
||||
/// </summary>
|
||||
class LogInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// 日志时间
|
||||
/// </summary>
|
||||
public DateTime LogTime { get; set; } = DateTime.Now;
|
||||
/// <summary>
|
||||
/// 日志内容
|
||||
/// </summary>
|
||||
public string LogText { get; set; }
|
||||
/// <summary>
|
||||
/// 日志Tag
|
||||
/// </summary>
|
||||
public string LogTag { get; set; }
|
||||
/// <summary>
|
||||
/// 日志文字颜色
|
||||
/// </summary>
|
||||
public Color Color { get; set; } = Color.Black;
|
||||
}
|
||||
class ItemInfo
|
||||
{
|
||||
public string Name { get; set; } = "";
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using Public.Fun;
|
||||
using ryCommon;
|
||||
using System;
|
||||
using System.Drawing;
|
||||
|
|
@ -271,7 +272,7 @@ namespace Itrycn_Project2
|
|||
{
|
||||
if (EditorState.Length == 0)
|
||||
{
|
||||
EditorState = Itrycn_Db.GetSetting("EditorState", "");
|
||||
EditorState =Itrycn_Db.GetSetting("EditorState", "");
|
||||
}
|
||||
if (EditorState.Length == 0) { return 0; }
|
||||
JObject jo = EditorState.Length == 0 ? new JObject() : JObject.Parse(EditorState);
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
using Itrycn_Project2;
|
||||
using Config;
|
||||
using Itrycn_Project2;
|
||||
using ryCommon;
|
||||
using RyHardWare;
|
||||
using System;
|
||||
|
|
|
|||
|
|
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||
// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
|
||||
// 方法是按如下所示使用“*”: :
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.2406.1101")]
|
||||
[assembly: AssemblyFileVersion("1.0.2406.1101")]
|
||||
[assembly: AssemblyVersion("1.0.2606.0401")]
|
||||
[assembly: AssemblyFileVersion("1.0.2606.0401")]
|
||||
|
|
@ -19,7 +19,7 @@ namespace Itrycn_Project2.Properties {
|
|||
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
|
||||
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
|
||||
// (以 /str 作为命令选项),或重新生成 VS 项目。
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "18.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ namespace Itrycn_Project2.Properties {
|
|||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.9.0.0")]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.14.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
|
|
|||
36
Source/Itrycn_Project2/Public/Class/LogInfo.cs
Normal file
36
Source/Itrycn_Project2/Public/Class/LogInfo.cs
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Public.Class
|
||||
{
|
||||
/// <summary>
|
||||
/// 日志信息
|
||||
/// </summary>
|
||||
public class LogInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// 日志时间
|
||||
/// </summary>
|
||||
public DateTime LogTime { get; set; } = DateTime.Now;
|
||||
/// <summary>
|
||||
/// 日志内容
|
||||
/// </summary>
|
||||
public string LogText { get; set; }
|
||||
/// <summary>
|
||||
/// 日志Tag
|
||||
/// </summary>
|
||||
public string LogTag { get; set; }
|
||||
/// <summary>
|
||||
/// 日志对象(可选)
|
||||
/// </summary>
|
||||
public object LogObject { get; set; } = null;
|
||||
/// <summary>
|
||||
/// 日志文字颜色
|
||||
/// </summary>
|
||||
public Color Color { get; set; } = Color.Black;
|
||||
}
|
||||
}
|
||||
|
|
@ -7,7 +7,7 @@ using System.Linq;
|
|||
using System.Text;
|
||||
using static ryCommonDb.DataProvider;
|
||||
|
||||
namespace Itrycn_Project2
|
||||
namespace Public.Fun
|
||||
{
|
||||
public static class Itrycn_Db
|
||||
{
|
||||
|
|
@ -1,120 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/></startup>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
|
|
|
|||
|
|
@ -1,62 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Itrycn
|
||||
{
|
||||
public static class MDIClientSupport
|
||||
{
|
||||
[DllImport("user32.dll")]
|
||||
private static extern int GetWindowLong(IntPtr hWnd, int nIndex);
|
||||
[DllImport("user32.dll")]
|
||||
private static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);
|
||||
[DllImport("user32.dll", ExactSpelling = true)]
|
||||
private static extern int SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags);
|
||||
private const int GWL_EXSTYLE = -20;
|
||||
private const int WS_EX_CLIENTEDGE = 0x200;
|
||||
private const uint SWP_NOSIZE = 0x0001;
|
||||
private const uint SWP_NOMOVE = 0x0002;
|
||||
private const uint SWP_NOZORDER = 0x0004;
|
||||
private const uint SWP_NOREDRAW = 0x0008;
|
||||
private const uint SWP_NOACTIVATE = 0x0010;
|
||||
private const uint SWP_FRAMECHANGED = 0x0020;
|
||||
private const uint SWP_SHOWWINDOW = 0x0040;
|
||||
private const uint SWP_HIDEWINDOW = 0x0080;
|
||||
private const uint SWP_NOCOPYBITS = 0x0100;
|
||||
private const uint SWP_NOOWNERZORDER = 0x0200;
|
||||
private const uint SWP_NOSENDCHANGING = 0x0400;
|
||||
public static bool SetBevel(this Form form, bool show)
|
||||
{
|
||||
foreach (Control c in form.Controls)
|
||||
{
|
||||
switch (c)
|
||||
{
|
||||
case MdiClient client:
|
||||
if (client != null)
|
||||
{
|
||||
int windowLong = GetWindowLong(c.Handle, GWL_EXSTYLE);
|
||||
if (show)
|
||||
{
|
||||
windowLong |= WS_EX_CLIENTEDGE;
|
||||
}
|
||||
else
|
||||
{
|
||||
windowLong &= ~WS_EX_CLIENTEDGE;
|
||||
}
|
||||
SetWindowLong(c.Handle, GWL_EXSTYLE, windowLong);
|
||||
// Update the non-client area.
|
||||
SetWindowPos(client.Handle, IntPtr.Zero, 0, 0, 0, 0,
|
||||
SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER |
|
||||
SWP_NOOWNERZORDER | SWP_FRAMECHANGED);
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
using RaUI.UI.LayeredForm;
|
||||
using Config;
|
||||
using RaUI.UI.LayeredForm;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
|
|
@ -34,7 +35,7 @@ namespace Itrycn_Project2
|
|||
ryCommon.RyRegedit.SetAutoRun(ChkAutoRun.Checked, Soft_ConstInfo.Soft_Id, "\"" + Application.ExecutablePath.Replace("/", "\\") + "\" "+ Soft_ConstInfo.Soft_Pram);
|
||||
DialogResult = DialogResult.OK;
|
||||
}
|
||||
ryControls.RySetting mySetting = new ryControls.RySetting();
|
||||
private ryControls.RySetting mySetting = new ryControls.RySetting();
|
||||
private void FrmSetting_Load(object sender, EventArgs e)
|
||||
{
|
||||
mySetting.FilePath = Soft_ConstInfo.UserDataFolder + "\\Setting.xml";
|
||||
|
|
|
|||
2
Source/Itrycn_Project2/结构说明.txt
Normal file
2
Source/Itrycn_Project2/结构说明.txt
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
|
||||
Public文件夹:表示公共部分,建议不要修改,后续如果存在新版项目底层,可以直接复制替换。
|
||||
|
|
@ -15,7 +15,7 @@ namespace Config
|
|||
/// <summary>
|
||||
/// sql连接字符串
|
||||
/// </summary>
|
||||
public static string SQLConnStr = "Data Source=192.168.1.193;Initial Catalog=qoData;Persist Security Info=False;User ID=sa;Password=DYdy123;pooling=false";
|
||||
public static string SQLConnStr { get { return "Data Source="+DyAPI.API.Static_Config.MsSQL_Host+";Initial Catalog=qoData;Persist Security Info=False;User ID=sa;Password=DYdy123;pooling=false"; } }
|
||||
//public static string SQLConnStr = "Data Source=192.168.1.191;Initial Catalog=qoData;Persist Security Info=False;User ID=sa;Password=123";
|
||||
public static string HeadUrl = "http://192.168.1.191/headPic/";
|
||||
public static string FileUrl = "http://192.168.1.191/UploadFiles/";
|
||||
|
|
|
|||
|
|
@ -146,6 +146,7 @@ namespace LiveUpdate
|
|||
}
|
||||
private void frmUpdateFile_Load(object sender, EventArgs e)
|
||||
{
|
||||
DyAPI.API.Static_Config.InitConfig();
|
||||
//var aa= ProcessExt.GetPath(3424);
|
||||
UpdateFilesDir = Application.StartupPath + "\\";
|
||||
GetSetting();
|
||||
|
|
@ -238,9 +239,16 @@ namespace LiveUpdate
|
|||
switch (MessageBox.Show("是否要马上向选择的用户进行定向推送?", "询问", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2))
|
||||
{
|
||||
case DialogResult.Yes:
|
||||
var ProcUpdateUrl = cmbProcUpdateUrl.Text;
|
||||
var iPos = ProcUpdateUrl.LastIndexOf("/");
|
||||
var root_url = "http://192.168.1.191/OnlineUpgrade";
|
||||
if (iPos > 0)
|
||||
{
|
||||
root_url = ProcUpdateUrl.Substring(0, iPos);
|
||||
}
|
||||
QuickWeb web = new QuickWeb();
|
||||
web.Post("http://gs2.dangyou.com:1881/process", "a=send&touser=" +web.UrlEncode(user.UserList.Replace(",",";")) + "&type="+ ryMessageConst.MsType.MustUpdate +
|
||||
"&msg=" + web.UrlEncode("http://192.168.1.191/OnlineUpgrade/" + System.IO.Path.GetFileName(update_fullpath)));
|
||||
web.Post(DyAPI.API.Static_Config.WinServerSite+ "/process", "a=send&touser=" +web.UrlEncode(user.UserList.Replace(",",";")) + "&type="+ ryMessageConst.MsType.MustUpdate +
|
||||
"&msg=" + web.UrlEncode(root_url+"/" + System.IO.Path.GetFileName(update_fullpath)));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ namespace ryCommon
|
|||
/// </summary>
|
||||
public static class Hosts
|
||||
{
|
||||
private static readonly string Paddings = " ";
|
||||
/// <summary>
|
||||
/// 获取并转换hosts内容
|
||||
/// </summary>
|
||||
|
|
@ -144,7 +145,7 @@ namespace ryCommon
|
|||
}
|
||||
else
|
||||
{
|
||||
sys_content += sys_list[i].IP + "\t" + sys_list[i].Domain;
|
||||
sys_content += sys_list[i].IP + Paddings + sys_list[i].Domain;
|
||||
}
|
||||
}
|
||||
target_list = sys_content;
|
||||
|
|
@ -183,7 +184,7 @@ namespace ryCommon
|
|||
/// <returns>0表示无需新增,-1表示添加失败,1表示追加成功</returns>
|
||||
public static int AddHosts(HostInfo item)
|
||||
{
|
||||
return AddHosts(item.IP + "\t" + item.Domain);
|
||||
return AddHosts(item.IP + Paddings + item.Domain);
|
||||
}
|
||||
/// <summary>
|
||||
/// 追加内容到hosts里
|
||||
|
|
@ -193,7 +194,7 @@ namespace ryCommon
|
|||
/// <returns>0表示无需新增,-1表示添加失败,1表示追加成功</returns>
|
||||
public static int AddHosts(string ip,string domain)
|
||||
{
|
||||
return AddHosts(ip + "\t" + domain);
|
||||
return AddHosts(ip + Paddings + domain);
|
||||
}
|
||||
/// <summary>
|
||||
/// 从hosts文件里删除内容
|
||||
|
|
@ -229,7 +230,7 @@ namespace ryCommon
|
|||
}
|
||||
else
|
||||
{
|
||||
text += from_list[i].IP+"\t"+ from_list[i].Domain;
|
||||
text += from_list[i].IP+ Paddings + from_list[i].Domain;
|
||||
}
|
||||
}
|
||||
if (IsDel)
|
||||
|
|
|
|||
|
|
@ -62,7 +62,11 @@ namespace ryCommon.Pram
|
|||
/// <summary>
|
||||
/// XML
|
||||
/// </summary>
|
||||
XML
|
||||
XML,
|
||||
/// <summary>
|
||||
/// Json
|
||||
/// </summary>
|
||||
Json
|
||||
}
|
||||
/// <summary>
|
||||
///对象值
|
||||
|
|
|
|||
|
|
@ -810,7 +810,10 @@ namespace ryCommon
|
|||
Bitmap bitmap = new Bitmap(width, height);
|
||||
using (Graphics g = Graphics.FromImage(bitmap))
|
||||
{
|
||||
g.InterpolationMode = mode;
|
||||
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
|
||||
g.CompositingQuality = CompositingQuality.HighQuality;
|
||||
g.TextRenderingHint = TextRenderingHint.AntiAlias;
|
||||
g.SmoothingMode= SmoothingMode.HighQuality;
|
||||
g.Clear(Color.Empty);
|
||||
g.DrawImage(i, new Rectangle(0, 0, width, height), new Rectangle(0, 0, i.Width, i.Height), GraphicsUnit.Pixel);
|
||||
}
|
||||
|
|
@ -831,6 +834,9 @@ namespace ryCommon
|
|||
using (Graphics g = Graphics.FromImage(bitmap))
|
||||
{
|
||||
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
|
||||
g.CompositingQuality= CompositingQuality.HighQuality;
|
||||
g.TextRenderingHint = TextRenderingHint.AntiAlias;
|
||||
g.SmoothingMode = SmoothingMode.HighQuality;
|
||||
g.Clear(Color.Empty);
|
||||
g.DrawImage(i, new Rectangle(0, 0, width, height), new Rectangle(0, 0, i.Width, i.Height), GraphicsUnit.Pixel);
|
||||
}
|
||||
|
|
@ -882,10 +888,17 @@ namespace ryCommon
|
|||
/// <exception cref="Exception">操作失败</exception>
|
||||
private static System.Drawing.Image CropOrFill(this System.Drawing.Image image, int width, int height, Color background, InterpolationMode mode)
|
||||
{
|
||||
if (Math.Abs((image.Width/(float)image.Height)-(width/(float)height))<=0.01)
|
||||
{
|
||||
return (Image)image.Clone();
|
||||
}
|
||||
Bitmap bitmap = new Bitmap(width, height);
|
||||
using (Graphics g = Graphics.FromImage(bitmap))
|
||||
{
|
||||
g.InterpolationMode = mode;
|
||||
g.CompositingQuality = CompositingQuality.HighQuality;
|
||||
g.TextRenderingHint = TextRenderingHint.AntiAlias;
|
||||
g.SmoothingMode = SmoothingMode.HighQuality;
|
||||
int srcX = GetSrc(image.Width, width);
|
||||
int srcY = GetSrc(image.Height, height);
|
||||
g.Clear(background);
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using ryCommon.Pram;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using ryCommon.Pram;
|
||||
using ryControls;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
|
@ -11,6 +12,7 @@ namespace ryCommon
|
|||
/// <summary>
|
||||
/// 设置管理类,快速添加设置。
|
||||
/// </summary>
|
||||
[Obsolete("当前类已经过期")]
|
||||
public class RySetting
|
||||
{
|
||||
/// <summary>
|
||||
|
|
@ -34,11 +36,26 @@ namespace ryCommon
|
|||
/// <summary>
|
||||
/// 配置存储路径
|
||||
/// </summary>
|
||||
public string FilePath = "";
|
||||
public string FilePath { get; set; } = "";
|
||||
/// <summary>
|
||||
/// 设置XML内容
|
||||
/// </summary>
|
||||
public string SettingXML = "";
|
||||
[Obsolete("当前属性已过期,请使用SettingContent代替")]
|
||||
public string SettingXML
|
||||
{
|
||||
get
|
||||
{
|
||||
return SettingContent;
|
||||
}
|
||||
set
|
||||
{
|
||||
SettingContent = value;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取/设置配置的内容(适用于xml和json)
|
||||
/// </summary>
|
||||
public string SettingContent { get; set; } = "";
|
||||
private string Section = "Setting";
|
||||
private List<Control_Info> list = new List<Control_Info>();
|
||||
/// <summary>
|
||||
|
|
@ -47,19 +64,19 @@ namespace ryCommon
|
|||
/// <param name="_id"></param>
|
||||
/// <param name="ctl"></param>
|
||||
/// <returns></returns>
|
||||
public int Add(string _id,Control ctl)
|
||||
public int Add(string _id, Control ctl)
|
||||
{
|
||||
return Add(_id, ctl, CValueType.Default,"");
|
||||
return Add(_id, ctl, CValueType.Default, "");
|
||||
}
|
||||
/// <summary>
|
||||
/// 设置值
|
||||
/// </summary>
|
||||
/// <param name="_id"></param>
|
||||
/// <param name="value"></param>
|
||||
/// <returns></returns>
|
||||
public int Add(string _id,string value)
|
||||
/// <summary>
|
||||
/// 设置值
|
||||
/// </summary>
|
||||
/// <param name="_id"></param>
|
||||
/// <param name="value"></param>
|
||||
/// <returns></returns>
|
||||
public int Add(string _id, string value)
|
||||
{
|
||||
return Add(_id, null, CValueType.Default,value);
|
||||
return Add(_id, null, CValueType.Default, value);
|
||||
}
|
||||
/// <summary>
|
||||
/// 添加控件
|
||||
|
|
@ -69,10 +86,10 @@ namespace ryCommon
|
|||
/// <param name="valuetype"></param>
|
||||
/// <param name="_defValue"></param>
|
||||
/// <returns></returns>
|
||||
public int Add(string _id, Control ctl,CValueType valuetype,object _defValue)
|
||||
public int Add(string _id, Control ctl, CValueType valuetype, object _defValue)
|
||||
{
|
||||
if(_id.ToLower()== Section.ToLower()) { return -1; }
|
||||
list.Add(new Control_Info() { id = _id, control = ctl, value_type= valuetype, defValue= _defValue });
|
||||
if (_id.ToLower() == Section.ToLower()) { return -1; }
|
||||
list.Add(new Control_Info() { id = _id, control = ctl, value_type = valuetype, defValue = _defValue });
|
||||
return 1;
|
||||
}
|
||||
/// <summary>
|
||||
|
|
@ -147,25 +164,25 @@ namespace ryCommon
|
|||
public void Read()
|
||||
{
|
||||
string filepath = FilePath;
|
||||
if (FileType==SettingType.XML)
|
||||
if (FileType == SettingType.XML)
|
||||
{
|
||||
ryCommon.Storage myXML = new Storage();
|
||||
if (filepath == "")
|
||||
{
|
||||
myXML.LoadFromXMLText(SettingXML);
|
||||
myXML.LoadFromXMLText(SettingContent);
|
||||
}
|
||||
else
|
||||
{
|
||||
myXML.LoadFromFile(filepath);
|
||||
}
|
||||
myXML.SelectNode2("id", Section);
|
||||
for(int i=0;i<list.Count;i++)
|
||||
for (int i = 0; i < list.Count; i++)
|
||||
{
|
||||
Control_Info item = list[i];
|
||||
switch (item.control)
|
||||
{
|
||||
case CheckBox chk:
|
||||
chk.Checked = myXML.GetAttrValue(item.id,item.defValue.ToBool());
|
||||
chk.Checked = myXML.GetAttrValue(item.id, item.defValue.ToBool());
|
||||
break;
|
||||
case TextBox txt:
|
||||
txt.Text = myXML.GetAttrValue(item.id, item.defValue.ToString());
|
||||
|
|
@ -266,7 +283,7 @@ namespace ryCommon
|
|||
txt.Text = myIni.ReadIni(Section, item.id, item.defValue.ToString());
|
||||
break;
|
||||
case NumericUpDown num:
|
||||
num.Value = myIni.ReadIni(Section, item.id, item.defValue.ToString()).ToDecimal(num.Minimum,num.Maximum, (decimal)item.defValue);
|
||||
num.Value = myIni.ReadIni(Section, item.id, item.defValue.ToString()).ToDecimal(num.Minimum, num.Maximum, (decimal)item.defValue);
|
||||
break;
|
||||
case DateTimePicker dt_picker:
|
||||
try
|
||||
|
|
@ -346,6 +363,113 @@ namespace ryCommon
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (FileType == SettingType.Json)
|
||||
{
|
||||
JObject myJson = new JObject();
|
||||
try
|
||||
{
|
||||
if (filepath == "")
|
||||
{
|
||||
myJson = JObject.Parse(SettingContent);
|
||||
}
|
||||
else
|
||||
{
|
||||
myJson = JObject.Parse(RyFiles.ReadAllText(filepath));
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
for (int i = 0; i < list.Count; i++)
|
||||
{
|
||||
Control_Info item = list[i];
|
||||
switch (item.control)
|
||||
{
|
||||
case CheckBox chk:
|
||||
chk.Checked = myJson.GetJsonValue(item.id, item.defValue.ToBool());
|
||||
break;
|
||||
case TextBox txt:
|
||||
txt.Text = myJson.GetJsonValue(item.id, item.defValue.ToString());
|
||||
break;
|
||||
case NumericUpDown num:
|
||||
num.Value = myJson.GetJsonValue(item.id, item.defValue.ToDecimal()).ToDecimal(num.Minimum, num.Maximum, (decimal)item.defValue);
|
||||
break;
|
||||
case DateTimePicker dt_picker:
|
||||
try
|
||||
{
|
||||
dt_picker.Value = RyDate.UnixTimeToDateTime(myJson.GetJsonValue(item.id, RyDate.DateTimeToUnixTime((DateTime)item.defValue).ToString()));
|
||||
}
|
||||
catch
|
||||
{
|
||||
dt_picker.Value = (DateTime)item.defValue;
|
||||
}
|
||||
break;
|
||||
case ComboBox cbb:
|
||||
#region ComboBox
|
||||
if (item.value_type == CValueType.ItemIndex || item.value_type == CValueType.Default)
|
||||
{
|
||||
int def_value = item.defValue.ToInt(0);
|
||||
int value = myJson.GetJsonValue(item.id, item.defValue.ToInt(0));
|
||||
if (cbb.Items.Count > value && value >= 0)
|
||||
{
|
||||
cbb.SelectedIndex = value;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (cbb.Items.Count > def_value && def_value >= 0)
|
||||
cbb.SelectedIndex = def_value;
|
||||
else
|
||||
cbb.SelectedIndex = 0;
|
||||
}
|
||||
}
|
||||
else if (item.value_type == CValueType.ItemText)
|
||||
{
|
||||
try
|
||||
{
|
||||
cbb.Text = myJson.GetJsonValue(item.id, item.defValue.ToString());
|
||||
}
|
||||
catch { cbb.Text = item.defValue.ToString(); }
|
||||
}
|
||||
else if (item.value_type == CValueType.ObjectItem)
|
||||
{
|
||||
#region ObjectItem
|
||||
string _id = myJson.GetJsonValue(item.id, item.defValue.ToString());
|
||||
bool haveRecord = false;
|
||||
for (int m = 0; m < cbb.Items.Count; m++)
|
||||
{
|
||||
switch (cbb.Items[m])
|
||||
{
|
||||
case ObjectItem c_item:
|
||||
if (c_item.Id == _id)
|
||||
{
|
||||
cbb.SelectedIndex = m;
|
||||
haveRecord = true;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!haveRecord)
|
||||
{
|
||||
cbb.SelectedIndex = 0;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
break;
|
||||
#endregion
|
||||
default:
|
||||
var type = item.control.GetType().Name;
|
||||
if (type == "HotkeyTextBox")
|
||||
{
|
||||
dynamic cc = item.control;
|
||||
cc.HotKey = myJson.GetJsonValue(item.id, item.defValue.ToString());
|
||||
}
|
||||
else
|
||||
{
|
||||
item.control.Text = myJson.GetJsonValue(item.id, item.defValue.ToString());
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 保存配置
|
||||
|
|
@ -358,7 +482,7 @@ namespace ryCommon
|
|||
ryCommon.Storage myXML = new Storage();
|
||||
if (filepath == "")
|
||||
{
|
||||
myXML.LoadFromXMLText(SettingXML);
|
||||
myXML.LoadFromXMLText(SettingContent);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -420,11 +544,8 @@ namespace ryCommon
|
|||
break;
|
||||
}
|
||||
}
|
||||
if (filepath == "")
|
||||
{
|
||||
SettingXML=myXML.XMLText;
|
||||
}
|
||||
else
|
||||
SettingContent = myXML.XMLText;
|
||||
if (filepath.Length > 0)
|
||||
{
|
||||
myXML.SaveToFile(filepath);
|
||||
}
|
||||
|
|
@ -489,6 +610,107 @@ namespace ryCommon
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (FileType == SettingType.Json)
|
||||
{
|
||||
JObject myJson = new JObject();
|
||||
try
|
||||
{
|
||||
if (filepath == "")
|
||||
{
|
||||
myJson = JObject.Parse(SettingContent);
|
||||
}
|
||||
else
|
||||
{
|
||||
myJson = JObject.Parse(RyFiles.ReadAllText(filepath));
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
for (int i = 0; i < list.Count; i++)
|
||||
{
|
||||
Control_Info item = list[i];
|
||||
switch (item.control)
|
||||
{
|
||||
case CheckBox chk:
|
||||
myJson[item.id] = chk.Checked;
|
||||
break;
|
||||
case TextBox txt:
|
||||
myJson[item.id] = txt.Text;
|
||||
break;
|
||||
case NumericUpDown num:
|
||||
myJson[item.id] = num.Value;
|
||||
break;
|
||||
case DateTimePicker dt_picker:
|
||||
myJson[item.id] = RyDate.DateTimeToUnixTime(dt_picker.Value).ToString();
|
||||
break;
|
||||
case ComboBox cbb:
|
||||
#region ComboBox
|
||||
if (item.value_type == CValueType.ItemIndex || item.value_type == CValueType.Default)
|
||||
{
|
||||
myJson[item.id] = cbb.SelectedIndex;
|
||||
}
|
||||
else if (item.value_type == CValueType.ItemText)
|
||||
{
|
||||
myJson[item.id] = cbb.Text;
|
||||
}
|
||||
else if (item.value_type == CValueType.ObjectItem)
|
||||
{
|
||||
switch (cbb.SelectedItem)
|
||||
{
|
||||
case ObjectItem c_item:
|
||||
myJson[item.id] = c_item.Id;
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
#endregion
|
||||
case null:
|
||||
myJson[item.id] = item.defValue.ToString();
|
||||
break;
|
||||
default:
|
||||
var type = item.control.GetType().Name;
|
||||
if (type == "HotkeyTextBox")
|
||||
{
|
||||
dynamic cc = item.control;
|
||||
myJson[item.id] = cc.HotKey;
|
||||
}
|
||||
else
|
||||
{
|
||||
myJson[item.id] = item.control.Text;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
SettingContent = myJson.ToString();
|
||||
if (filepath.Length > 0)
|
||||
{
|
||||
RyFiles.WriteAllText(filepath, myJson.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 保存到内存中的对象
|
||||
/// </summary>
|
||||
private object MemObject { get; set; } = null;
|
||||
/// <summary>
|
||||
/// 读取内容到内存中
|
||||
/// </summary>
|
||||
public void ReadToMem()
|
||||
{
|
||||
string filepath = FilePath;
|
||||
if (FileType == SettingType.XML)
|
||||
{
|
||||
ryCommon.Storage myXML = new Storage();
|
||||
if (filepath.Length == 0)
|
||||
{
|
||||
myXML.LoadFromXMLText(SettingContent);
|
||||
}
|
||||
else
|
||||
{
|
||||
myXML.LoadFromFile(filepath);
|
||||
}
|
||||
myXML.SelectNode2("id", Section);
|
||||
MemObject = myXML;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -85,8 +85,8 @@ namespace ryCommon
|
|||
{
|
||||
if (oldVer == newVer) { return 0; }
|
||||
if(oldVer==null || newVer == null) { return -1000; }
|
||||
var _oldVer = oldVer;
|
||||
var _newVer = newVer;
|
||||
var _oldVer = oldVer.Replace("-",".");
|
||||
var _newVer = newVer.Replace("-", ".");
|
||||
if (_oldVer.StartsWith("v", StringComparison.OrdinalIgnoreCase)) { _oldVer = _oldVer.Substring(1); }
|
||||
if (_newVer.StartsWith("v", StringComparison.OrdinalIgnoreCase)) { _newVer = _newVer.Substring(1); }
|
||||
//var have_ts = false;
|
||||
|
|
@ -132,24 +132,63 @@ namespace ryCommon
|
|||
public static string GetVer(string text)
|
||||
{
|
||||
if (string.IsNullOrEmpty(text)) { return ""; }
|
||||
var end=text.Length-1;
|
||||
if(text.IndexOfEx("patch")>0)
|
||||
var m_text = text;
|
||||
var m_ver = "";
|
||||
List<string> ver_list = new List<string>();
|
||||
while(true)
|
||||
{
|
||||
end = text.LastIndexOf("patch",StringComparison.OrdinalIgnoreCase);
|
||||
}
|
||||
var start = false;
|
||||
var ver = "";
|
||||
for (int i = end; i >= 0; i--)
|
||||
{
|
||||
var word = text[i];
|
||||
if (!start && word >= '0' && word <= '9') { ver = word.ToString(); start = true; }
|
||||
else if (start)
|
||||
var mver = get_ver(m_text, out var m_iPos);
|
||||
if (mver.Length > 0)
|
||||
{
|
||||
if ((word >= '0' && word <= '9') || word == '.') { ver = word.ToString() + ver; }
|
||||
else { break; }
|
||||
ver_list.Add(mver);
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
if(m_iPos>0)
|
||||
{
|
||||
m_text = m_text.Substring(0, m_iPos);
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
return ver;
|
||||
if(ver_list.Count==1)
|
||||
{
|
||||
return ver_list[0];
|
||||
}
|
||||
else if (ver_list.Count>1)
|
||||
{
|
||||
if (ver_list[1].IndexOfEx(".")>0)
|
||||
{
|
||||
return ver_list[1]+"."+ver_list[0];
|
||||
}
|
||||
else
|
||||
{
|
||||
return ver_list[0];
|
||||
}
|
||||
}
|
||||
return m_ver;
|
||||
string get_ver(string txt,out int iPos)
|
||||
{
|
||||
iPos = -1;
|
||||
var end = txt.Length - 1;
|
||||
var start = false;
|
||||
var ver = "";
|
||||
for (int i = end; i >= 0; i--)
|
||||
{
|
||||
var word = txt[i];
|
||||
if (!start && word >= '0' && word <= '9') { ver = word.ToString(); start = true; }
|
||||
else if (start)
|
||||
{
|
||||
if ((word >= '0' && word <= '9') || word == '.') { ver = word.ToString() + ver; }
|
||||
else { iPos = i; break; }
|
||||
}
|
||||
}
|
||||
return ver;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 比较版本号
|
||||
|
|
|
|||
246
Source/RaUI/Common/FileFuns/SuperFileSearch.cs
Normal file
246
Source/RaUI/Common/FileFuns/SuperFileSearch.cs
Normal file
|
|
@ -0,0 +1,246 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ryCommon
|
||||
{
|
||||
/// <summary>
|
||||
/// 超级文件搜索
|
||||
/// </summary>
|
||||
public class SuperFileSearch
|
||||
{
|
||||
/// <summary>
|
||||
/// 取消选项
|
||||
/// </summary>
|
||||
public enum CancelActions
|
||||
{
|
||||
/// <summary>
|
||||
/// 不取消,继续
|
||||
/// </summary>
|
||||
No //不取消,继续
|
||||
,
|
||||
/// <summary>
|
||||
/// 只取消当前目录
|
||||
/// </summary>
|
||||
CurrentDirectory //只取消当前目录
|
||||
,
|
||||
/// <summary>
|
||||
/// 取消后面的所有搜索
|
||||
/// </summary>
|
||||
AllDirectories //取消后面的所有搜索
|
||||
}
|
||||
private CancelActions _Cancel; //取消
|
||||
/// <summary>
|
||||
/// 是否取消
|
||||
/// </summary>
|
||||
public CancelActions Cancel
|
||||
{
|
||||
get
|
||||
{
|
||||
return _Cancel;
|
||||
}
|
||||
set
|
||||
{
|
||||
_Cancel = value;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="Fileinfo"></param>
|
||||
/// <param name="AddToResult">是否将该文件添加到结果</param>
|
||||
|
||||
public delegate void SearchFileHandler(SuperFileSearch sender,FileInfo Fileinfo,ref bool AddToResult);
|
||||
/// <summary>
|
||||
/// 搜索文件事件
|
||||
/// </summary>
|
||||
public event SearchFileHandler OnSearchFile;
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="DirInfo"></param>
|
||||
/// <param name="Cancel"></param>
|
||||
public delegate void SearchDirHandler(SuperFileSearch sender, DirectoryInfo DirInfo,ref CancelActions Cancel);
|
||||
/// <summary>
|
||||
/// 搜索目录事件
|
||||
/// </summary>
|
||||
public event SearchDirHandler OnSearchDir;
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="ex"></param>
|
||||
public delegate void SearchErrorHandler(SuperFileSearch sender,int id, Exception ex);
|
||||
/// <summary>
|
||||
/// 错误事件
|
||||
/// </summary>
|
||||
public event SearchErrorHandler OnError;
|
||||
/// <summary>
|
||||
/// 是否查找搜索子目录
|
||||
/// </summary>
|
||||
public bool GetSubFolder { get; set; } = true;
|
||||
/// <summary>
|
||||
/// 查找发现的文件列表
|
||||
/// </summary>
|
||||
public List<FileInfo> ResultFiles = [];
|
||||
/// <summary>
|
||||
/// 查找发现的目录列表
|
||||
/// </summary>
|
||||
public List<DirectoryInfo> ResultDirs = [];
|
||||
/// <summary>
|
||||
/// 结果对应的文件数量
|
||||
/// </summary>
|
||||
public int ResultFilesCount
|
||||
{
|
||||
get {return ResultFiles.Count; }
|
||||
}
|
||||
/// <summary>
|
||||
/// 结果对应的目录数量
|
||||
/// </summary>
|
||||
public int ResultDirsCount
|
||||
{
|
||||
get { return ResultDirs.Count; }
|
||||
}
|
||||
/// <summary>
|
||||
/// 结果对应的文件+目录数量
|
||||
/// </summary>
|
||||
public int ResultCount
|
||||
{
|
||||
get { return ResultFiles.Count+ResultDirs.Count; }
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public object Tag { get; set; } = null;
|
||||
/// <summary>
|
||||
/// 搜索查找文件
|
||||
/// </summary>
|
||||
/// <param name="SearchPath"></param>
|
||||
/// <param name="SearchExts"></param>
|
||||
public List<FileInfo> Search(string SearchPath, string SearchExts)
|
||||
{
|
||||
return Search(new List<string>() { SearchPath }, SearchExts);
|
||||
}
|
||||
/// <summary>
|
||||
/// 搜索查找文件
|
||||
/// </summary>
|
||||
/// <param name="SearchPaths"></param>
|
||||
/// <param name="SearchExts"></param>
|
||||
public List<FileInfo> Search(List<string> SearchPaths, string SearchExts)
|
||||
{
|
||||
ResultFiles.Clear();
|
||||
ResultDirs.Clear();
|
||||
_Cancel = CancelActions.No;
|
||||
List<FileInfo> list_files = [];
|
||||
for (int i = 0; i < SearchPaths.Count; i++)
|
||||
{
|
||||
list_files.AddRange(GetFiles(SearchPaths[i],SearchExts, GetSubFolder));
|
||||
}
|
||||
ResultFiles.AddRange(list_files);
|
||||
return list_files;
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取指定文件夹下的文件列表,支持多个扩展名获取,支持获取子文件夹的数据
|
||||
/// </summary>
|
||||
/// <param name="folder"></param>
|
||||
/// <param name="exts"></param>
|
||||
/// <param name="GetSubFolder">是否获取子文件夹数据</param>
|
||||
/// <returns></returns>
|
||||
private List<FileInfo> GetFiles(string folder, string exts,bool GetSubFolder)
|
||||
{
|
||||
if(GetSubFolder)
|
||||
{
|
||||
var result= GetFiles(folder, exts);
|
||||
try
|
||||
{
|
||||
DirectoryInfo dir = new(folder);
|
||||
var dirs = dir.GetDirectories();
|
||||
if (dirs != null && dirs.Length > 0)
|
||||
{
|
||||
for (int i = 0; i < dirs.Length; i++)
|
||||
{
|
||||
if (_Cancel == CancelActions.AllDirectories) { break; }
|
||||
if (OnSearchDir != null)
|
||||
{
|
||||
CancelActions cancel = CancelActions.No;
|
||||
OnSearchDir?.Invoke(this, dirs[i], ref cancel);
|
||||
if (cancel == CancelActions.CurrentDirectory) { continue; }
|
||||
else if (cancel == CancelActions.AllDirectories) { Cancel = CancelActions.AllDirectories; break; }
|
||||
}
|
||||
ResultDirs.Add(dirs[i]);
|
||||
result.AddRange(GetFiles(dirs[i].FullName, exts, true));
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
OnError?.Invoke(this,1000,ex);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
else
|
||||
{
|
||||
return GetFiles(folder,exts);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取指定文件夹下的文件列表,支持多个扩展名获取(子文件夹里的文件不会去获取)。如果
|
||||
/// 文件夹不存在,则获取空列表(本函数不会返回null值)
|
||||
/// </summary>
|
||||
/// <param name="folder">要获取的文件夹路径</param>
|
||||
/// <param name="exts">要获取的扩展名列表(例如:*.mp3;*.wav)</param>
|
||||
/// <returns></returns>
|
||||
private List<FileInfo> GetFiles(string folder, string exts)
|
||||
{
|
||||
if (!System.IO.Directory.Exists(folder))
|
||||
{
|
||||
return [];
|
||||
}
|
||||
else
|
||||
{
|
||||
var result = new List<FileInfo>();
|
||||
var ext_split = exts.Split(';');
|
||||
for (int i = 0; i < ext_split.Length; i++)
|
||||
{
|
||||
if (ext_split[i].Length == 0) { continue; }
|
||||
try
|
||||
{
|
||||
DirectoryInfo dir = new(folder);
|
||||
var files = dir.GetFiles(ext_split[i]);
|
||||
if (files != null && files.Length > 0)
|
||||
{
|
||||
if (OnSearchFile != null)
|
||||
{
|
||||
for (int j = 0; j < files.Length; j++)
|
||||
{
|
||||
if (_Cancel == CancelActions.AllDirectories) { break; }
|
||||
var AddToResult = true;
|
||||
OnSearchFile?.Invoke(this, files[j], ref AddToResult);
|
||||
if (AddToResult)
|
||||
{
|
||||
result.Add(files[j]);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
result.AddRange(files);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch(Exception ex) {
|
||||
OnError?.Invoke(this,1001, ex);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -84,25 +84,43 @@ namespace RyHardWare
|
|||
var ddr = ObjToStr(item["PartNumber"].Value);
|
||||
if (ddr.IndexOfEx("DDR3") >= 0) { ddr = "DDR3"; }
|
||||
else if (ddr.IndexOfEx("DDR4") >= 0) { ddr = "DDR4"; }
|
||||
else if (Manufacturer == "Corsair")
|
||||
{
|
||||
var _s = ddr.GetStr("GD", "C");
|
||||
if (_s.IsInt())
|
||||
{
|
||||
Speed = _s.ToInt();
|
||||
}
|
||||
if (ddr.StartsWith("CM5")) { ddr = "DDR5"; }
|
||||
else if (ddr.StartsWith("CM4")) { ddr = "DDR4"; }
|
||||
else if (ddr.StartsWith("CM3")) { ddr = "DDR3"; }
|
||||
}
|
||||
else if (ddr.IndexOfEx("D4") >= 0) { ddr = "DDR4"; }
|
||||
else if (ddr.IndexOfEx("D3") >= 0) { ddr = "DDR3"; }
|
||||
else if (Speed == 266 || Speed == 333 || Speed == 400)
|
||||
if (!ddr.Length.IsInRange(3,4))
|
||||
{
|
||||
ddr = "DDR";
|
||||
if (Speed == 266 || Speed == 333 || Speed == 400)
|
||||
{
|
||||
ddr = "DDR";
|
||||
}
|
||||
else if (Speed == 533 || Speed == 667 || Speed == 800)
|
||||
{
|
||||
ddr = "DDR2";
|
||||
}
|
||||
else if (Speed == 1066 || Speed == 1333 || Speed == 1600)
|
||||
{
|
||||
ddr = "DDR3";
|
||||
}
|
||||
else if (Speed == 2400 || Speed == 2133 || Speed == 2666 || Speed == 2667 || Speed == 3200)
|
||||
{
|
||||
ddr = "DDR4";
|
||||
}
|
||||
else if (Speed >= 4000)
|
||||
{
|
||||
ddr = "DDR5";
|
||||
}
|
||||
else { ddr = "未知"; }
|
||||
}
|
||||
else if (Speed == 533 || Speed == 667 || Speed == 800)
|
||||
{
|
||||
ddr = "DDR2";
|
||||
}
|
||||
else if (Speed == 1066 || Speed == 1333 || Speed == 1600)
|
||||
{
|
||||
ddr = "DDR3";
|
||||
}
|
||||
else if (Speed == 2400 || Speed == 2133 || Speed == 2666 || Speed == 2667 || Speed == 3200)
|
||||
{
|
||||
ddr = "DDR4";
|
||||
}
|
||||
else { ddr = "未知"; }
|
||||
if (Manufacturer == "Kingston") { Manufacturer = "金士顿"; }
|
||||
else if (Manufacturer == "A-DATA Technology") { Manufacturer = "威刚"; }
|
||||
else { Manufacturer = GetManufacturer(Manufacturer); }
|
||||
|
|
@ -275,6 +293,72 @@ namespace RyHardWare
|
|||
}
|
||||
return result;
|
||||
}
|
||||
private static string BytesToString(byte[] bytes)
|
||||
{
|
||||
if (bytes == null) return "";
|
||||
try
|
||||
{
|
||||
return System.Text.Encoding.UTF8.GetString(bytes).Replace("\0", "").Trim();
|
||||
}
|
||||
catch
|
||||
{
|
||||
return "";
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="scope"></param>
|
||||
/// <param name="sql"></param>
|
||||
/// <returns></returns>
|
||||
public static List<Dictionary<string,string>> GetWMI(string scope, string sql)
|
||||
{
|
||||
var list_result = new List<Dictionary<string, string>>();
|
||||
try
|
||||
{
|
||||
System.Management.ManagementObjectSearcher mos = scope.Length == 0 ? new System.Management.ManagementObjectSearcher(sql) :
|
||||
new System.Management.ManagementObjectSearcher(scope, sql);
|
||||
System.Management.ManagementObjectCollection.ManagementObjectEnumerator moe = mos.Get().GetEnumerator();
|
||||
//注意
|
||||
//Properties["Manufacturer"].Value 可能为Null,意味着没有厂商信息
|
||||
while (moe.MoveNext())
|
||||
{
|
||||
Dictionary<string, string> item_result = new Dictionary<string, string>();
|
||||
foreach (var item in moe.Current.Properties)
|
||||
{
|
||||
if (item.Value != null)
|
||||
{
|
||||
if (item.Value is string[])
|
||||
{
|
||||
var list = (string[])item.Value;
|
||||
for (int i = 0; i < list.Length; i++)
|
||||
{
|
||||
item_result[item.Name+"_"+i] = list[i];
|
||||
}
|
||||
}
|
||||
else if (item.Value is UInt16[])
|
||||
{
|
||||
var list = (UInt16[])item.Value;
|
||||
var bytes = new byte[list.Length];
|
||||
for (int i = 0; i < list.Length; i++)
|
||||
{
|
||||
bytes[i] = (byte)list[i];
|
||||
//result += "\r\n" + item.Name + "=>数组" + i + "=>" + list[i];
|
||||
}
|
||||
item_result[item.Name] = BytesToString(bytes);
|
||||
}
|
||||
else
|
||||
{
|
||||
item_result[item.Name] = item.Value.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
list_result.Add(item_result);
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
return list_result;
|
||||
}
|
||||
private static string GetManufacturer(string Manufacturer)
|
||||
{
|
||||
var ini_path = Application.StartupPath + "\\UserDb\\Manufacturer.ini";
|
||||
|
|
@ -390,15 +474,82 @@ namespace RyHardWare
|
|||
return GetMainHardware(false);
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取显示器的相关硬件ID
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static List<string> GetMonitorPnpDeviceId()
|
||||
{
|
||||
List<string> monitors = new List<string>();
|
||||
var result = GetWMI("root\\WMI", "SELECT * FROM WmiMonitorID");
|
||||
for (int i = 0; i < result.Count; i++)
|
||||
{
|
||||
var item = result[i];
|
||||
var txt = "";
|
||||
var ManufacturerName = GetValue("ManufacturerName");
|
||||
var UserFriendlyName = GetValue("UserFriendlyName");
|
||||
var YearOfManufacture = GetValue("YearOfManufacture").ToInt();
|
||||
var WeekOfManufacture = GetValue("WeekOfManufacture").ToInt();
|
||||
if(ManufacturerName.Length>0 && UserFriendlyName.Length>0)
|
||||
{
|
||||
if (UserFriendlyName.StartsWith(ManufacturerName))
|
||||
{
|
||||
txt = UserFriendlyName;
|
||||
}
|
||||
else
|
||||
{
|
||||
txt = ManufacturerName + " " + UserFriendlyName;
|
||||
}
|
||||
if(txt== "LIX RuiTian2310P")
|
||||
{
|
||||
txt = "联想瑞天23.8寸(2310P)";
|
||||
}
|
||||
}
|
||||
if (YearOfManufacture > 0 && WeekOfManufacture>0) {
|
||||
var month = new DateTime(YearOfManufacture, 1, 1).AddDays(WeekOfManufacture*7).Month;
|
||||
txt += "(" + YearOfManufacture + "年" + month + "月)";
|
||||
}
|
||||
if(txt.Length>0)
|
||||
{
|
||||
monitors.Add(txt);
|
||||
}
|
||||
string GetValue(string name)
|
||||
{
|
||||
if(item.ContainsKey(name))
|
||||
{
|
||||
return item[name];
|
||||
}
|
||||
else
|
||||
{
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
return monitors;
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取主要硬件信息
|
||||
/// </summary>
|
||||
/// <param name="getbyXML">是否获取XML格式</param>
|
||||
/// <returns></returns>
|
||||
public static string GetMainHardware(bool getbyXML)
|
||||
{
|
||||
var Monitor = GetMonitorPnpDeviceId();
|
||||
var Monitor_list = "";
|
||||
if (Monitor.Count > 0)
|
||||
{
|
||||
for (int i = 0; i < Monitor.Count; i++)
|
||||
{
|
||||
if (Monitor_list.Length > 0) { Monitor_list += "/"; }
|
||||
Monitor_list += Monitor[i];
|
||||
}
|
||||
}
|
||||
if (getbyXML)
|
||||
{
|
||||
ryCommon.Storage mStor = new Storage();
|
||||
if(Monitor_list.Length>0)
|
||||
{
|
||||
addValue("显示器", Monitor_list);
|
||||
}
|
||||
addValue("主板", GetBaseBoardInfo());
|
||||
addValue("处理器", GetCPU());
|
||||
addValue("显卡", GetVideoInfo());
|
||||
|
|
@ -417,7 +568,12 @@ namespace RyHardWare
|
|||
}
|
||||
else
|
||||
{
|
||||
var content = "主板 " + HardWare.GetBaseBoardInfo();
|
||||
string content="";
|
||||
if (Monitor_list.Length > 0)
|
||||
{
|
||||
content = "显示器 " + Monitor_list+"\r\n";
|
||||
}
|
||||
content += "主板 " + HardWare.GetBaseBoardInfo();
|
||||
content += "\r\n处理器 " + HardWare.GetCPU();
|
||||
content += "\r\n显卡 " + HardWare.GetVideoInfo();
|
||||
content += "\r\n内存 " + HardWare.GetMemoryInfo();
|
||||
|
|
|
|||
|
|
@ -211,5 +211,9 @@ namespace ryCommonDb
|
|||
/// </summary>
|
||||
/// <returns></returns>
|
||||
string GetLastError();
|
||||
/// <summary>
|
||||
/// 用时
|
||||
/// </summary>
|
||||
long UseTime { get; }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ using DataParameter = System.Data.SqlClient.SqlParameter;
|
|||
using DataCommand = System.Data.SqlClient.SqlCommand;
|
||||
using DataAdapter = System.Data.SqlClient.SqlDataAdapter;
|
||||
using ryCommon;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace ryCommonDb
|
||||
{
|
||||
|
|
@ -214,8 +215,14 @@ namespace ryCommonDb
|
|||
/// <returns></returns>
|
||||
public System.Data.DataSet ReadData(string sql, object[] Parameter)
|
||||
{
|
||||
Stopwatch swt = new Stopwatch();
|
||||
swt.Start();
|
||||
try
|
||||
{
|
||||
if (myDb.SQL_cn.State == System.Data.ConnectionState.Closed)
|
||||
{
|
||||
myDb.SQL_cn.Open();
|
||||
}
|
||||
error_text = "";
|
||||
DataCommand cmd = myDb.SQL_cn.CreateCommand();
|
||||
cmd.Parameters.Clear();
|
||||
|
|
@ -228,9 +235,16 @@ namespace ryCommonDb
|
|||
ad.Dispose();
|
||||
cmd.Parameters.Clear();
|
||||
cmd.Dispose();
|
||||
swt.Stop();
|
||||
UseTime = swt.ElapsedMilliseconds;
|
||||
return ds;
|
||||
}
|
||||
catch(Exception ex) { error_text = ex.Message; return new System.Data.DataSet(); }
|
||||
catch(Exception ex) {
|
||||
error_text = ex.Message;
|
||||
swt.Stop();
|
||||
UseTime = swt.ElapsedMilliseconds;
|
||||
return new System.Data.DataSet();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
|
|
@ -282,8 +296,14 @@ namespace ryCommonDb
|
|||
/// <returns></returns>
|
||||
public int ExecuteNonQuery(string sql, object[] Parameter)
|
||||
{
|
||||
Stopwatch swt = new Stopwatch();
|
||||
swt.Start();
|
||||
try
|
||||
{
|
||||
if(myDb.SQL_cn.State== System.Data.ConnectionState.Closed)
|
||||
{
|
||||
myDb.SQL_cn.Open();
|
||||
}
|
||||
error_text = "";
|
||||
DataCommand cmd = myDb.SQL_cn.CreateCommand();
|
||||
cmd.Parameters.Clear();
|
||||
|
|
@ -293,9 +313,15 @@ namespace ryCommonDb
|
|||
int i = cmd.ExecuteNonQuery();
|
||||
cmd.Parameters.Clear();
|
||||
cmd.Dispose();
|
||||
swt.Stop();
|
||||
UseTime = swt.ElapsedMilliseconds;
|
||||
return i;
|
||||
}
|
||||
catch(Exception ex) { error_text = ex.Message; return -1; }
|
||||
catch(Exception ex) {
|
||||
error_text = ex.Message;
|
||||
swt.Stop();
|
||||
UseTime = swt.ElapsedMilliseconds;
|
||||
return -1; }
|
||||
}
|
||||
/// <summary>
|
||||
/// 执行SQL语句
|
||||
|
|
@ -440,5 +466,9 @@ namespace ryCommonDb
|
|||
list_param.Clear();
|
||||
myDb.CloseDb();
|
||||
}
|
||||
/// <summary>
|
||||
/// 用时
|
||||
/// </summary>
|
||||
public long UseTime { get;private set; } = 0;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ using DataAdapter = MySql.Data.MySqlClient.MySqlDataAdapter;
|
|||
using ryCommonDb;
|
||||
using ryCommon;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace ryCommonDb
|
||||
{
|
||||
|
|
@ -226,6 +227,8 @@ namespace ryCommonDb
|
|||
/// <returns></returns>
|
||||
public System.Data.DataSet ReadData(string sql, object[] Parameter)
|
||||
{
|
||||
Stopwatch swt = new Stopwatch();
|
||||
swt.Start();
|
||||
try
|
||||
{
|
||||
error_text = "";
|
||||
|
|
@ -247,9 +250,16 @@ namespace ryCommonDb
|
|||
ad.Dispose();
|
||||
cmd.Parameters.Clear();
|
||||
cmd.Dispose();
|
||||
swt.Stop();
|
||||
UseTime = swt.ElapsedMilliseconds;
|
||||
return ds;
|
||||
}
|
||||
catch(Exception ex) { error_text = ex.Message; return new System.Data.DataSet(); }
|
||||
catch(Exception ex) {
|
||||
error_text = ex.Message;
|
||||
swt.Stop();
|
||||
UseTime = swt.ElapsedMilliseconds;
|
||||
return new System.Data.DataSet();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
|
|
@ -302,6 +312,8 @@ namespace ryCommonDb
|
|||
/// <returns></returns>
|
||||
public int ExecuteNonQuery(string sql, object[] Parameter)
|
||||
{
|
||||
Stopwatch swt = new Stopwatch();
|
||||
swt.Start();
|
||||
error_text = "";
|
||||
try
|
||||
{
|
||||
|
|
@ -318,16 +330,20 @@ namespace ryCommonDb
|
|||
{
|
||||
retry_index = 0;
|
||||
}
|
||||
swt.Stop();
|
||||
UseTime = swt.ElapsedMilliseconds;
|
||||
return i;
|
||||
}
|
||||
catch(Exception ex) {
|
||||
if(ex.Message.IndexOfEx("Connection must be valid and open.")>=0)
|
||||
swt.Stop();
|
||||
if (ex.Message.IndexOfEx("Connection must be valid and open.")>=0)
|
||||
{
|
||||
retry_index++;
|
||||
ConnDb(myDb.fv_ConnStr);
|
||||
return ExecuteNonQuery(sql, Parameter);
|
||||
}
|
||||
error_text = ex.Message;
|
||||
UseTime = swt.ElapsedMilliseconds;
|
||||
return -1; }
|
||||
}
|
||||
/// <summary>
|
||||
|
|
@ -474,5 +490,9 @@ namespace ryCommonDb
|
|||
list_param.Clear();
|
||||
myDb.CloseDb();
|
||||
}
|
||||
/// <summary>
|
||||
/// 用时
|
||||
/// </summary>
|
||||
public long UseTime { get;private set; } = 0;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ using DataCommand = System.Data.SQLite.SQLiteCommand;
|
|||
using DataAdapter = System.Data.SQLite.SQLiteDataAdapter;
|
||||
using System.Windows.Forms;
|
||||
using ryCommon;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace ryCommonDb
|
||||
{
|
||||
|
|
@ -220,6 +221,8 @@ namespace ryCommonDb
|
|||
/// <returns></returns>
|
||||
public System.Data.DataSet ReadData(string sql, object[] Parameter)
|
||||
{
|
||||
Stopwatch swt = new Stopwatch();
|
||||
swt.Start();
|
||||
try
|
||||
{
|
||||
error_text = "";
|
||||
|
|
@ -233,9 +236,16 @@ namespace ryCommonDb
|
|||
ad.Fill(ds);
|
||||
ad.Dispose();
|
||||
cmd.Dispose();
|
||||
swt.Stop();
|
||||
UseTime = swt.ElapsedMilliseconds;
|
||||
return ds;
|
||||
}
|
||||
catch(Exception ex) { error_text = ex.Message;return new System.Data.DataSet(); }
|
||||
catch(Exception ex) {
|
||||
error_text = ex.Message;
|
||||
swt.Stop();
|
||||
UseTime = swt.ElapsedMilliseconds;
|
||||
return new System.Data.DataSet();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
|
|
@ -287,6 +297,8 @@ namespace ryCommonDb
|
|||
/// <returns></returns>
|
||||
public int ExecuteNonQuery(string sql, object[] Parameter)
|
||||
{
|
||||
Stopwatch swt = new Stopwatch();
|
||||
swt.Start();
|
||||
try
|
||||
{
|
||||
error_text = "";
|
||||
|
|
@ -297,9 +309,15 @@ namespace ryCommonDb
|
|||
cmd.CommandText = sql;
|
||||
int i = cmd.ExecuteNonQuery();
|
||||
cmd.Dispose();
|
||||
swt.Stop();
|
||||
UseTime = swt.ElapsedMilliseconds;
|
||||
return i;
|
||||
}
|
||||
catch(Exception ex) { error_text = ex.Message; return -1; }
|
||||
catch(Exception ex) {
|
||||
error_text = ex.Message;
|
||||
swt.Stop();
|
||||
UseTime = swt.ElapsedMilliseconds;
|
||||
return -1; }
|
||||
}
|
||||
/// <summary>
|
||||
/// 执行SQL语句
|
||||
|
|
@ -500,5 +518,9 @@ namespace ryCommonDb
|
|||
list_param.Clear();
|
||||
myDb.CloseDb();
|
||||
}
|
||||
/// <summary>
|
||||
/// 用时
|
||||
/// </summary>
|
||||
public long UseTime { get;private set; } = 0;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,10 @@ namespace RyWeb
|
|||
|
||||
}
|
||||
/// <summary>
|
||||
/// 当前页面
|
||||
/// </summary>
|
||||
public string CurPageUrl { get; private set; } = "";
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="Timeout">超时时间</param>
|
||||
|
|
@ -30,6 +34,16 @@ namespace RyWeb
|
|||
this.Timeout= Timeout;
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="Timeout">超时时间</param>
|
||||
/// <param name="RetryCount">重试次数</param>
|
||||
public QuickWeb(int Timeout,int RetryCount)
|
||||
{
|
||||
this.Timeout = Timeout;
|
||||
this.RetryCount = RetryCount;
|
||||
}
|
||||
/// <summary>
|
||||
/// 以post方式获取网页源码
|
||||
/// </summary>
|
||||
/// <param name="url"></param>
|
||||
|
|
@ -73,6 +87,10 @@ namespace RyWeb
|
|||
return Post(url, post, "application/json", "");
|
||||
}
|
||||
/// <summary>
|
||||
/// 重试次数
|
||||
/// </summary>
|
||||
public int RetryCount { get; set; } = 0;
|
||||
/// <summary>
|
||||
/// 头信息
|
||||
/// </summary>
|
||||
public string HeadText { get; set; } = "";
|
||||
|
|
@ -89,22 +107,26 @@ namespace RyWeb
|
|||
{
|
||||
try
|
||||
{
|
||||
CurPageUrl = url;
|
||||
HttpHelper t = new HttpHelper();
|
||||
HttpItem m = new HttpItem()
|
||||
{
|
||||
URL = url,
|
||||
Encoding = System.Text.Encoding.GetEncoding("utf-8"),
|
||||
Accept = "text/html, application/xhtml+xml, */*",//Accept 可选项
|
||||
Postdata = post,
|
||||
PostEncoding= System.Text.Encoding.GetEncoding("utf-8"),
|
||||
ContentType = ContentType,
|
||||
Method = "POST",
|
||||
Timeout = Timeout,
|
||||
ReadWriteTimeout = Timeout,
|
||||
UserAgent = UserAgent,
|
||||
Referer=Referer,
|
||||
KeepAlive = false,
|
||||
ProxyIp= ProxyIp,
|
||||
ProxyUserName= ProxyUserName,
|
||||
ProxyPwd=ProxyPassWord,
|
||||
Allowautoredirect= AllowAutoRedirect
|
||||
Allowautoredirect= AllowAutoRedirect,
|
||||
ResultType = ResultType.String
|
||||
};
|
||||
if (HeadText.Length > 0)
|
||||
{
|
||||
|
|
@ -119,6 +141,22 @@ namespace RyWeb
|
|||
m.Cookie = cookie;
|
||||
}
|
||||
HttpResult r = t.GetHtml(m);
|
||||
if (RetryCount > 0)
|
||||
{
|
||||
int retry = 0;
|
||||
while (retry<RetryCount)
|
||||
{
|
||||
if (r.StatusCode == HttpStatusCode.RequestTimeout || r.StatusCode == HttpStatusCode.GatewayTimeout)
|
||||
{
|
||||
retry++;
|
||||
r = t.GetHtml(m);
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return r;
|
||||
}
|
||||
catch
|
||||
|
|
@ -165,6 +203,7 @@ namespace RyWeb
|
|||
/// <returns></returns>
|
||||
public long GetSize(string url,out string errormsg,out string RedirectUrl)
|
||||
{
|
||||
CurPageUrl = url;
|
||||
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
|
||||
ServicePointManager.ServerCertificateValidationCallback = (s, cert, chain, error) => true;
|
||||
errormsg = "";
|
||||
|
|
@ -188,7 +227,23 @@ namespace RyWeb
|
|||
ProxyPwd = ProxyPassWord,
|
||||
};
|
||||
HttpResult r = t.GetHtml(m);
|
||||
RedirectUrl=r.ResponseUri;
|
||||
if (RetryCount > 0)
|
||||
{
|
||||
int retry = 0;
|
||||
while (retry < RetryCount)
|
||||
{
|
||||
if (r.StatusCode == HttpStatusCode.RequestTimeout || r.StatusCode == HttpStatusCode.GatewayTimeout)
|
||||
{
|
||||
retry++;
|
||||
r = t.GetHtml(m);
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
RedirectUrl =r.ResponseUri;
|
||||
if (r.Header!=null && r.Header["Refresh"]!=null)
|
||||
{
|
||||
var Refresh = r.Header["Refresh"].ToString();
|
||||
|
|
@ -278,6 +333,10 @@ namespace RyWeb
|
|||
size = r.Header["Content-Length"].ToInt64(0);
|
||||
}
|
||||
}
|
||||
if (size == 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
if (size <=1000)
|
||||
{
|
||||
System.Net.ServicePointManager.DefaultConnectionLimit = 512;
|
||||
|
|
@ -347,7 +406,7 @@ namespace RyWeb
|
|||
public string UserAgent
|
||||
{
|
||||
get; set;
|
||||
} = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)";
|
||||
} = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36 Edg/132.0.0.0";
|
||||
/// <summary>
|
||||
/// 是否自动跳转
|
||||
/// </summary>
|
||||
|
|
@ -367,6 +426,7 @@ namespace RyWeb
|
|||
{
|
||||
try
|
||||
{
|
||||
CurPageUrl = url;
|
||||
HttpHelper t = new HttpHelper();
|
||||
HttpItem m = new HttpItem()
|
||||
{
|
||||
|
|
@ -397,6 +457,22 @@ namespace RyWeb
|
|||
m.ProxyUserName = ProxyUserName;
|
||||
m.ProxyPwd = ProxyPassWord;
|
||||
HttpResult r = t.GetHtml(m);
|
||||
if (RetryCount > 0)
|
||||
{
|
||||
int retry = 0;
|
||||
while (retry < RetryCount)
|
||||
{
|
||||
if (r.StatusCode == HttpStatusCode.RequestTimeout || r.StatusCode == HttpStatusCode.GatewayTimeout)
|
||||
{
|
||||
retry++;
|
||||
r = t.GetHtml(m);
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return r;
|
||||
}
|
||||
catch
|
||||
|
|
@ -439,6 +515,7 @@ namespace RyWeb
|
|||
{
|
||||
try
|
||||
{
|
||||
CurPageUrl = url;
|
||||
HttpHelper t = new HttpHelper();
|
||||
HttpItem m = new HttpItem()
|
||||
{
|
||||
|
|
@ -467,6 +544,22 @@ namespace RyWeb
|
|||
m.ProxyUserName = ProxyUserName;
|
||||
m.ProxyPwd = ProxyPassWord;
|
||||
HttpResult r = t.GetHtml(m);
|
||||
if (RetryCount > 0)
|
||||
{
|
||||
int retry = 0;
|
||||
while (retry < RetryCount)
|
||||
{
|
||||
if (r.StatusCode == HttpStatusCode.RequestTimeout || r.StatusCode == HttpStatusCode.GatewayTimeout)
|
||||
{
|
||||
retry++;
|
||||
r = t.GetHtml(m);
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return r;
|
||||
}
|
||||
catch
|
||||
|
|
@ -517,6 +610,12 @@ namespace RyWeb
|
|||
byte[] byStr = encode.GetBytes(str); //默认是System.Text.Encoding.Default.GetBytes(str)
|
||||
for (int i = 0; i < byStr.Length; i++)
|
||||
{
|
||||
if (byStr[i] >= 'a' && byStr[i] <= 'z' || byStr[i] >= 'A' && byStr[i] <= 'Z' || byStr[i] >= '0' && byStr[i] <= '9' || byStr[i] == '-' || byStr[i] == '_' || byStr[i] == '.' || byStr[i] == '~')
|
||||
{
|
||||
var aa = ((char)byStr[i]).ToString();
|
||||
sb.Append(aa);
|
||||
continue;
|
||||
}
|
||||
var item = Convert.ToString(byStr[i], 16);
|
||||
if (item.Length == 1) { item = "0" + item; }
|
||||
sb.Append(@"%" + item);
|
||||
|
|
@ -536,6 +635,15 @@ namespace RyWeb
|
|||
/// <summary>
|
||||
/// 将相对网址转换成绝对网址
|
||||
/// </summary>
|
||||
/// <param name="rel_url"></param>
|
||||
/// <returns></returns>
|
||||
public string ConvertUrl(string rel_url)
|
||||
{
|
||||
return ConvertUrl(rel_url, CurPageUrl);
|
||||
}
|
||||
/// <summary>
|
||||
/// 将相对网址转换成绝对网址
|
||||
/// </summary>
|
||||
/// <param name="rel_url">相对网址</param>
|
||||
/// <param name="cur_pageUrl">当前页面地址</param>
|
||||
/// <returns>转换后的绝对网址</returns>
|
||||
|
|
|
|||
|
|
@ -167,6 +167,12 @@ namespace RyWeb
|
|||
byte[] byStr = encode.GetBytes(str); //默认是System.Text.Encoding.Default.GetBytes(str)
|
||||
for (int i = 0; i < byStr.Length; i++)
|
||||
{
|
||||
if(byStr[i]>='a' && byStr[i]<='z' || byStr[i]>='A' && byStr[i]<='Z' || byStr[i]>='0' && byStr[i]<='9' || byStr[i]=='-' || byStr[i]=='_' || byStr[i]=='.' || byStr[i]=='~')
|
||||
{
|
||||
var aa=((char) byStr[i]).ToString();
|
||||
sb.Append(aa);
|
||||
continue;
|
||||
}
|
||||
var item = Convert.ToString(byStr[i], 16);
|
||||
if (item.Length == 1) { item = "0" + item; }
|
||||
sb.Append(@"%" + item);
|
||||
|
|
|
|||
|
|
@ -156,6 +156,10 @@ namespace ryCommon
|
|||
if (ts.Seconds != 0 && seconds)
|
||||
{
|
||||
dateDiff += ts.Seconds.ToString() + "秒";
|
||||
if(ts.TotalSeconds<=10)
|
||||
{
|
||||
dateDiff += ts.Milliseconds.ToString() + "毫秒";
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
|
|
|
|||
|
|
@ -389,6 +389,13 @@ namespace ryCommon
|
|||
SetFileAssociation(ExtName, sName, AssDes, filePath,iconPath);
|
||||
SHChangeNotify(0x08000000, 0x0000, IntPtr.Zero, IntPtr.Zero);
|
||||
}
|
||||
/// <summary>
|
||||
/// 通知系统设置发生变化
|
||||
/// </summary>
|
||||
public static void UpdateSetNotify()
|
||||
{
|
||||
SHChangeNotify(0x08000000, 0x0000, IntPtr.Zero, IntPtr.Zero);
|
||||
}
|
||||
[DllImport("shell32.dll")]
|
||||
private static extern void SHChangeNotify(uint wEventId, uint uFlags, IntPtr dwItem1, IntPtr dwItem2);
|
||||
private static bool ClearUserChoice(string extension)
|
||||
|
|
|
|||
|
|
@ -33,5 +33,5 @@ using System.Runtime.InteropServices;
|
|||
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
|
||||
//通过使用 "*",如下所示:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("4.0.2508.1601")]
|
||||
[assembly: AssemblyFileVersion("4.0.2508.1601")]
|
||||
[assembly: AssemblyVersion("4.0.2606.0401")]
|
||||
[assembly: AssemblyFileVersion("4.0.2606.0401")]
|
||||
|
|
@ -91,10 +91,10 @@
|
|||
<Compile Include="Common\FileFuns\Pram.cs" />
|
||||
<Compile Include="Common\FileFuns\RyFiles.cs" />
|
||||
<Compile Include="Common\FileFuns\RyImage.cs" />
|
||||
<Compile Include="Common\FileFuns\RySetting.cs" />
|
||||
<Compile Include="Common\FileFuns\SoundPlay.cs" />
|
||||
<Compile Include="Common\FileFuns\Storage.cs" />
|
||||
<Compile Include="Common\FileFuns\sType.cs" />
|
||||
<Compile Include="Common\FileFuns\SuperFileSearch.cs" />
|
||||
<Compile Include="Common\FileFuns\TxtFileEncoder.cs" />
|
||||
<Compile Include="Common\FileFuns\WebP.cs" />
|
||||
<Compile Include="Common\HardWare\HardWare.cs" />
|
||||
|
|
|
|||
|
|
@ -133,32 +133,38 @@ namespace ryControls
|
|||
SolidBrush brush = new SolidBrush(Color.FromArgb(255, 255, 255));
|
||||
e.Graphics.FillRectangle(brush, e.Bounds);
|
||||
}
|
||||
Rectangle textRect = new Rectangle(3, e.Bounds.Y + 1, e.Bounds.Width-5, e.Bounds.Height - 2);
|
||||
Rectangle textRect = new Rectangle(2, e.Bounds.Y + 1, e.Bounds.Width, e.Bounds.Height - 2);
|
||||
switch (this.Items[e.Index])
|
||||
{
|
||||
case clsCbbItem item:
|
||||
Image img = item.Img;
|
||||
//图片绘制的区域
|
||||
Rectangle imgRect = new Rectangle(6, e.Bounds.Y + 3, 16, 16);
|
||||
e.Graphics.SmoothingMode = SmoothingMode.HighQuality;
|
||||
e.Graphics.CompositingQuality = CompositingQuality.HighQuality;
|
||||
e.Graphics.InterpolationMode = InterpolationMode.NearestNeighbor;
|
||||
e.Graphics.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.Half;
|
||||
e.Graphics.DrawImage(img, imgRect);
|
||||
//文本内容显示区域
|
||||
textRect = new Rectangle(imgRect.Right + 2, imgRect.Y, e.Bounds.Width - imgRect.Width, e.Bounds.Height - 2);
|
||||
Image img = item?.Img;
|
||||
if (img != null)
|
||||
{
|
||||
//图片绘制的区域
|
||||
Rectangle imgRect = new Rectangle(6, e.Bounds.Y + 3, 16, 16);
|
||||
e.Graphics.SmoothingMode = SmoothingMode.HighQuality;
|
||||
e.Graphics.CompositingQuality = CompositingQuality.HighQuality;
|
||||
e.Graphics.InterpolationMode = InterpolationMode.NearestNeighbor;
|
||||
e.Graphics.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.Half;
|
||||
e.Graphics.DrawImage(img, imgRect);
|
||||
//文本内容显示区域
|
||||
textRect = new Rectangle(imgRect.Right + 2, imgRect.Y, e.Bounds.Width - imgRect.Width, e.Bounds.Height);
|
||||
}
|
||||
break;
|
||||
case ComboPopupItem item2:
|
||||
Image img2 = item2.Image;
|
||||
//图片绘制的区域
|
||||
Rectangle imgRect2 = new Rectangle(6, e.Bounds.Y + 3, 16, 16);
|
||||
e.Graphics.SmoothingMode = SmoothingMode.HighQuality;
|
||||
e.Graphics.CompositingQuality = CompositingQuality.HighQuality;
|
||||
e.Graphics.InterpolationMode = InterpolationMode.NearestNeighbor;
|
||||
e.Graphics.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.Half;
|
||||
e.Graphics.DrawImage(img2, imgRect2);
|
||||
//文本内容显示区域
|
||||
textRect = new Rectangle(imgRect2.Right + 2, imgRect2.Y, e.Bounds.Width - imgRect2.Width, e.Bounds.Height - 2);
|
||||
Image img2 = item2?.Image;
|
||||
if (img2 != null)
|
||||
{
|
||||
//图片绘制的区域
|
||||
Rectangle imgRect2 = new Rectangle(6, e.Bounds.Y + 3, 16, 16);
|
||||
e.Graphics.SmoothingMode = SmoothingMode.HighQuality;
|
||||
e.Graphics.CompositingQuality = CompositingQuality.HighQuality;
|
||||
e.Graphics.InterpolationMode = InterpolationMode.NearestNeighbor;
|
||||
e.Graphics.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.Half;
|
||||
e.Graphics.DrawImage(img2, imgRect2);
|
||||
//文本内容显示区域
|
||||
textRect = new Rectangle(imgRect2.Right + 2, imgRect2.Y, e.Bounds.Width - imgRect2.Width, e.Bounds.Height);
|
||||
}
|
||||
break;
|
||||
}
|
||||
//获得项文本内容,绘制文本
|
||||
|
|
@ -167,9 +173,11 @@ namespace ryControls
|
|||
//文本格式垂直居中
|
||||
StringFormat strFormat = new StringFormat()
|
||||
{
|
||||
LineAlignment = StringAlignment.Center
|
||||
LineAlignment = StringAlignment.Center,
|
||||
};
|
||||
e.Graphics.DrawString(itemText, new Font("微软雅黑", 11), Brushes.Black, textRect, strFormat);
|
||||
TextFormatFlags flags = TextFormatFlags.VerticalCenter;
|
||||
TextRenderer.DrawText(e.Graphics, itemText, this.Font, textRect, Color.Black, Color.Transparent, flags);
|
||||
//e.Graphics.DrawString(itemText, Font, Brushes.Black, textRect, strFormat);
|
||||
});
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -296,7 +296,7 @@ namespace BrightIdeasSoftware
|
|||
public virtual bool Filter(object modelObject) {
|
||||
if (this.ValueGetter == null || this.PossibleValues == null || this.PossibleValues.Count == 0)
|
||||
return false;
|
||||
|
||||
if (modelObject == null) { return false; }
|
||||
object result = this.ValueGetter(modelObject);
|
||||
IEnumerable enumerable = result as IEnumerable;
|
||||
if (result is string || enumerable == null)
|
||||
|
|
|
|||
|
|
@ -4370,8 +4370,11 @@ namespace BrightIdeasSoftware
|
|||
object data = null;
|
||||
if (this.CopySelectionOnControlCUsesDragSource && this.DragSource != null)
|
||||
data = this.DragSource.StartDrag(this, MouseButtons.Left, this.ModelToItem(selection[0]));
|
||||
|
||||
Clipboard.SetDataObject(data ?? new OLVDataObject(this, selection));
|
||||
try
|
||||
{
|
||||
Clipboard.SetDataObject(data ?? new OLVDataObject(this, selection));
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -4385,7 +4388,11 @@ namespace BrightIdeasSoftware
|
|||
// the data object, like we do with CopySelectionToClipboard() above.
|
||||
OLVDataObject dataObject = new OLVDataObject(this, objectsToCopy);
|
||||
dataObject.CreateTextFormats();
|
||||
Clipboard.SetDataObject(dataObject);
|
||||
try
|
||||
{
|
||||
Clipboard.SetDataObject(dataObject);
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
/// <summary>
|
||||
/// 将所有对象的文本和HTML表示复制到剪贴板上。
|
||||
|
|
|
|||
|
|
@ -454,10 +454,18 @@ namespace ryControls
|
|||
{
|
||||
if (ini != null)
|
||||
{
|
||||
Ini ini2 = new Ini(HolidayFolder + "\\" + dt_2.Year + ".ini");
|
||||
int state = ini2.ReadIni("date", dt_2.ToString("MMdd"), -2);
|
||||
if (state != -2)
|
||||
{ rest_state = state; }
|
||||
var ini_path2 = holiday_folder + "\\" + dt_2.Year + ".ini";
|
||||
if (holiday_folder.StartsWith(".\\"))
|
||||
{
|
||||
ini_path2 = Application.StartupPath + "\\" + holiday_folder.Substring(2) + "\\" + dt_2.Year + ".ini";
|
||||
}
|
||||
if (System.IO.File.Exists(ini_path2))
|
||||
{
|
||||
Ini ini2 = new Ini(ini_path2);
|
||||
int state = ini2.ReadIni("date", dt_2.ToString("MMdd"), -2);
|
||||
if (state != -2)
|
||||
{ rest_state = state; }
|
||||
}
|
||||
}
|
||||
}
|
||||
var ChinaHoliday = ChinaDate.GetChinaHoliday(dt_2);
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using ryCommon;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using ryCommon;
|
||||
using ryCommon.Pram;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
|
@ -34,11 +35,26 @@ namespace ryControls
|
|||
/// <summary>
|
||||
/// 配置存储路径
|
||||
/// </summary>
|
||||
public string FilePath = "";
|
||||
public string FilePath { get; set; } = "";
|
||||
/// <summary>
|
||||
/// 设置XML内容
|
||||
/// </summary>
|
||||
public string SettingXML = "";
|
||||
[Obsolete("当前属性已过期,请使用SettingContent代替")]
|
||||
public string SettingXML
|
||||
{
|
||||
get
|
||||
{
|
||||
return SettingContent;
|
||||
}
|
||||
set
|
||||
{
|
||||
SettingContent = value;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取/设置配置的内容(适用于xml和json)
|
||||
/// </summary>
|
||||
public string SettingContent { get; set; } = "";
|
||||
private string Section = "Setting";
|
||||
private List<Control_Info> list = new List<Control_Info>();
|
||||
/// <summary>
|
||||
|
|
@ -185,7 +201,7 @@ namespace ryControls
|
|||
ryCommon.Storage myXML = new Storage();
|
||||
if (filepath == "")
|
||||
{
|
||||
myXML.LoadFromXMLText(SettingXML);
|
||||
myXML.LoadFromXMLText(SettingContent);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -379,6 +395,113 @@ namespace ryControls
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (FileType == SettingType.Json)
|
||||
{
|
||||
JObject myJson = [];
|
||||
try
|
||||
{
|
||||
if (filepath == "")
|
||||
{
|
||||
myJson = JObject.Parse(SettingContent);
|
||||
}
|
||||
else
|
||||
{
|
||||
myJson = JObject.Parse(RyFiles.ReadAllText(filepath));
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
for (int i = 0; i < list.Count; i++)
|
||||
{
|
||||
Control_Info item = list[i];
|
||||
switch (item.control)
|
||||
{
|
||||
case CheckBox chk:
|
||||
chk.Checked = myJson.GetJsonValue(item.id, item.defValue.ToBool());
|
||||
break;
|
||||
case TextBox txt:
|
||||
txt.Text = myJson.GetJsonValue(item.id, item.defValue.ToString());
|
||||
break;
|
||||
case TextBoxEx2 txt:
|
||||
txt.Text = myJson.GetJsonValue(item.id, item.defValue.ToString());
|
||||
break;
|
||||
case HotkeyTextBox txt:
|
||||
txt.HotKey = myJson.GetJsonValue(item.id, item.defValue.ToString());
|
||||
break;
|
||||
case DoubleText txt:
|
||||
txt.selectId = myJson.GetJsonValue(item.id, item.defValue.ToString());
|
||||
break;
|
||||
case NumericUpDown num:
|
||||
num.Value = myJson.GetJsonValue(item.id, item.defValue.ToDecimal()).ToDecimal(num.Minimum, num.Maximum, (decimal)item.defValue);
|
||||
break;
|
||||
case DateTimePicker dt_picker:
|
||||
try
|
||||
{
|
||||
dt_picker.Value = RyDate.UnixTimeToDateTime(myJson.GetJsonValue(item.id, RyDate.DateTimeToUnixTime((DateTime)item.defValue).ToString()));
|
||||
}
|
||||
catch
|
||||
{
|
||||
dt_picker.Value = (DateTime)item.defValue;
|
||||
}
|
||||
break;
|
||||
case ComboBox cbb:
|
||||
#region ComboBox
|
||||
if (item.value_type == CValueType.ItemIndex || item.value_type == CValueType.Default)
|
||||
{
|
||||
int def_value = item.defValue.ToInt(0);
|
||||
int value = myJson.GetJsonValue(item.id, item.defValue.ToInt(0));
|
||||
if (cbb.Items.Count > value && value >= 0)
|
||||
{
|
||||
cbb.SelectedIndex = value;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (cbb.Items.Count > def_value && def_value >= 0)
|
||||
cbb.SelectedIndex = def_value;
|
||||
else
|
||||
cbb.SelectedIndex = 0;
|
||||
}
|
||||
}
|
||||
else if (item.value_type == CValueType.ItemText)
|
||||
{
|
||||
try
|
||||
{
|
||||
cbb.Text = myJson.GetJsonValue(item.id, item.defValue.ToString());
|
||||
}
|
||||
catch { cbb.Text = item.defValue.ToString(); }
|
||||
}
|
||||
else if (item.value_type == CValueType.ObjectItem)
|
||||
{
|
||||
#region ObjectItem
|
||||
string _id = myJson.GetJsonValue(item.id, item.defValue.ToString());
|
||||
bool haveRecord = false;
|
||||
for (int m = 0; m < cbb.Items.Count; m++)
|
||||
{
|
||||
switch (cbb.Items[m])
|
||||
{
|
||||
case ObjectItem c_item:
|
||||
if (c_item.Id == _id)
|
||||
{
|
||||
cbb.SelectedIndex = m;
|
||||
haveRecord = true;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!haveRecord)
|
||||
{
|
||||
cbb.SelectedIndex = 0;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
break;
|
||||
#endregion
|
||||
default:
|
||||
item.control.Text=myJson.GetJsonValue(item.id, item.defValue.ToString());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 保存配置
|
||||
|
|
@ -391,7 +514,7 @@ namespace ryControls
|
|||
ryCommon.Storage myXML = new Storage();
|
||||
if (filepath == "")
|
||||
{
|
||||
myXML.LoadFromXMLText(SettingXML);
|
||||
myXML.LoadFromXMLText(SettingContent);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -453,11 +576,8 @@ namespace ryControls
|
|||
break;
|
||||
}
|
||||
}
|
||||
if (filepath == "")
|
||||
{
|
||||
SettingXML=myXML.XMLText;
|
||||
}
|
||||
else
|
||||
SettingContent = myXML.XMLText;
|
||||
if (filepath.Length>0)
|
||||
{
|
||||
myXML.SaveToFile(filepath);
|
||||
}
|
||||
|
|
@ -521,6 +641,261 @@ namespace ryControls
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (FileType == SettingType.Json)
|
||||
{
|
||||
JObject myJson = new JObject();
|
||||
try
|
||||
{
|
||||
if (filepath == "")
|
||||
{
|
||||
myJson = JObject.Parse(SettingContent);
|
||||
}
|
||||
else
|
||||
{
|
||||
myJson = JObject.Parse(RyFiles.ReadAllText(filepath));
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
for (int i = 0; i < list.Count; i++)
|
||||
{
|
||||
Control_Info item = list[i];
|
||||
switch (item.control)
|
||||
{
|
||||
case CheckBox chk:
|
||||
myJson[item.id]= chk.Checked;
|
||||
break;
|
||||
case TextBox txt:
|
||||
myJson[item.id] = txt.Text;
|
||||
break;
|
||||
case TextBoxEx2 txt:
|
||||
myJson[item.id] = txt.Text;
|
||||
break;
|
||||
case HotkeyTextBox txt:
|
||||
myJson[item.id] = txt.HotKey;
|
||||
break;
|
||||
case DoubleText txt:
|
||||
myJson[item.id] = txt.selectId;
|
||||
break;
|
||||
case NumericUpDown num:
|
||||
myJson[item.id] = num.Value;
|
||||
break;
|
||||
case DateTimePicker dt_picker:
|
||||
myJson[item.id] = RyDate.DateTimeToUnixTime(dt_picker.Value).ToString();
|
||||
break;
|
||||
case ComboBox cbb:
|
||||
#region ComboBox
|
||||
if (item.value_type == CValueType.ItemIndex || item.value_type == CValueType.Default)
|
||||
{
|
||||
myJson[item.id] = cbb.SelectedIndex;
|
||||
}
|
||||
else if (item.value_type == CValueType.ItemText)
|
||||
{
|
||||
myJson[item.id] = cbb.Text;
|
||||
}
|
||||
else if (item.value_type == CValueType.ObjectItem)
|
||||
{
|
||||
switch (cbb.SelectedItem)
|
||||
{
|
||||
case ObjectItem c_item:
|
||||
myJson[item.id] = c_item.Id;
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
#endregion
|
||||
case null:
|
||||
myJson[item.id] = item.defValue.ToString();
|
||||
break;
|
||||
default:
|
||||
myJson[item.id] = item.control.Text;
|
||||
break;
|
||||
}
|
||||
}
|
||||
SettingContent = myJson.ToString();
|
||||
if (filepath.Length > 0)
|
||||
{
|
||||
RyFiles.WriteAllText(filepath, myJson.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 保存到内存中的对象
|
||||
/// </summary>
|
||||
private object MemObject { get; set; } = null;
|
||||
/// <summary>
|
||||
/// 读取内容到内存中
|
||||
/// </summary>
|
||||
public void ReadToMem()
|
||||
{
|
||||
string filepath = FilePath;
|
||||
if (FileType == SettingType.XML)
|
||||
{
|
||||
ryCommon.Storage myXML = new Storage();
|
||||
if (filepath.Length==0)
|
||||
{
|
||||
myXML.LoadFromXMLText(SettingContent);
|
||||
}
|
||||
else
|
||||
{
|
||||
myXML.LoadFromFile(filepath);
|
||||
}
|
||||
myXML.SelectNode2("id", Section);
|
||||
MemObject = myXML;
|
||||
}
|
||||
else if (FileType == SettingType.Json)
|
||||
{
|
||||
JObject myJson =null;
|
||||
try
|
||||
{
|
||||
if (filepath == "")
|
||||
{
|
||||
myJson = JObject.Parse(SettingContent);
|
||||
}
|
||||
else
|
||||
{
|
||||
myJson = JObject.Parse(RyFiles.ReadAllText(filepath));
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
MemObject = myJson;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 从内存中读取配置
|
||||
/// </summary>
|
||||
/// <param name="name"></param>
|
||||
/// <param name="defValue"></param>
|
||||
/// <returns></returns>
|
||||
public int GetFromMem(string name,int defValue)
|
||||
{
|
||||
switch(MemObject)
|
||||
{
|
||||
case Storage myXML:
|
||||
return myXML.GetAttrValue(name, defValue);
|
||||
case JObject jo:
|
||||
return jo.GetJsonValue(name, defValue);
|
||||
default:
|
||||
return defValue;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 从内存中读取配置
|
||||
/// </summary>
|
||||
/// <param name="name"></param>
|
||||
/// <param name="defValue"></param>
|
||||
/// <returns></returns>
|
||||
public long GetFromMem(string name, long defValue)
|
||||
{
|
||||
switch (MemObject)
|
||||
{
|
||||
case Storage myXML:
|
||||
return myXML.GetAttrValue(name, defValue);
|
||||
case JObject jo:
|
||||
return jo.GetJsonValue(name, defValue);
|
||||
default:
|
||||
return defValue;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 从内存中读取配置
|
||||
/// </summary>
|
||||
/// <param name="name"></param>
|
||||
/// <param name="defValue"></param>
|
||||
/// <returns></returns>
|
||||
public bool GetFromMem(string name, bool defValue)
|
||||
{
|
||||
switch (MemObject)
|
||||
{
|
||||
case Storage myXML:
|
||||
return myXML.GetAttrValue(name, defValue);
|
||||
case JObject jo:
|
||||
return jo.GetJsonValue(name, defValue);
|
||||
default:
|
||||
return defValue;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 从内存中读取配置
|
||||
/// </summary>
|
||||
/// <param name="name"></param>
|
||||
/// <param name="defValue"></param>
|
||||
/// <returns></returns>
|
||||
public double GetFromMem(string name, double defValue)
|
||||
{
|
||||
switch (MemObject)
|
||||
{
|
||||
case Storage myXML:
|
||||
return myXML.GetAttrValue(name, defValue);
|
||||
case JObject jo:
|
||||
return jo.GetJsonValue(name, defValue);
|
||||
default:
|
||||
return defValue;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 从内存中读取配置
|
||||
/// </summary>
|
||||
/// <param name="name"></param>
|
||||
/// <param name="defValue"></param>
|
||||
/// <returns></returns>
|
||||
public decimal GetFromMem(string name, decimal defValue)
|
||||
{
|
||||
switch (MemObject)
|
||||
{
|
||||
case Storage myXML:
|
||||
return myXML.GetAttrValue(name, defValue);
|
||||
case JObject jo:
|
||||
return jo.GetJsonValue(name, defValue);
|
||||
default:
|
||||
return defValue;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 从内存中读取配置
|
||||
/// </summary>
|
||||
/// <param name="name"></param>
|
||||
/// <param name="defValue"></param>
|
||||
/// <returns></returns>
|
||||
public string GetFromMem(string name, string defValue)
|
||||
{
|
||||
switch (MemObject)
|
||||
{
|
||||
case Storage myXML:
|
||||
return myXML.GetAttrValue(name, defValue);
|
||||
case JObject jo:
|
||||
return jo.GetJsonValue(name, defValue);
|
||||
default:
|
||||
return defValue;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 从内存中读取配置
|
||||
/// </summary>
|
||||
/// <param name="name"></param>
|
||||
/// <returns></returns>
|
||||
public string GetFromMem(string name)
|
||||
{
|
||||
return GetFromMem(name, "");
|
||||
}
|
||||
/// <summary>
|
||||
/// 从内存中读取配置
|
||||
/// </summary>
|
||||
/// <param name="name"></param>
|
||||
/// <param name="min"></param>
|
||||
/// <param name="max"></param>
|
||||
/// <param name="defValue"></param>
|
||||
/// <returns></returns>
|
||||
public int GetFromMem(string name, int min, int max, int defValue)
|
||||
{
|
||||
switch (MemObject)
|
||||
{
|
||||
case Storage myXML:
|
||||
return myXML.GetAttrValue(name, min,max,defValue);
|
||||
case JObject jo:
|
||||
return jo.GetJsonValue(name, min, max, defValue);
|
||||
default:
|
||||
return defValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ namespace ryControls
|
|||
LinearGradientBrush brush = new LinearGradientBrush(e.Bounds, Color.FromArgb(255, 251, 237),
|
||||
Color.FromArgb(255, 236, 181), LinearGradientMode.Vertical);
|
||||
//填充区域
|
||||
Rectangle borderRect = new Rectangle(3, e.Bounds.Y, e.Bounds.Width - 5, e.Bounds.Height - 2);
|
||||
Rectangle borderRect = new Rectangle(2, e.Bounds.Y, e.Bounds.Width - 5, e.Bounds.Height - 1);
|
||||
|
||||
e.Graphics.FillRectangle(brush, borderRect);
|
||||
//画边框
|
||||
|
|
@ -57,27 +57,43 @@ namespace ryControls
|
|||
{
|
||||
case clsCbbItem item:
|
||||
Image img = item.Img;
|
||||
//图片绘制的区域
|
||||
Rectangle imgRect = new Rectangle(6, e.Bounds.Y + 3, 16, 16);
|
||||
e.Graphics.SmoothingMode = SmoothingMode.HighQuality;
|
||||
e.Graphics.CompositingQuality = CompositingQuality.HighQuality;
|
||||
e.Graphics.InterpolationMode = InterpolationMode.NearestNeighbor;
|
||||
e.Graphics.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.Half;
|
||||
e.Graphics.DrawImage(img, imgRect);
|
||||
//文本内容显示区域
|
||||
textRect = new Rectangle(imgRect.Right + 2, imgRect.Y, e.Bounds.Width - imgRect.Width, e.Bounds.Height - 2);
|
||||
if (img != null)
|
||||
{
|
||||
//图片绘制的区域
|
||||
Rectangle imgRect = new Rectangle(6, e.Bounds.Y + 3, 16, 16);
|
||||
e.Graphics.SmoothingMode = SmoothingMode.HighQuality;
|
||||
e.Graphics.CompositingQuality = CompositingQuality.HighQuality;
|
||||
e.Graphics.InterpolationMode = InterpolationMode.NearestNeighbor;
|
||||
e.Graphics.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.Half;
|
||||
e.Graphics.DrawImage(img, imgRect);
|
||||
//文本内容显示区域
|
||||
textRect = new Rectangle(imgRect.Right + 2, imgRect.Y, e.Bounds.Width - imgRect.Width, e.Bounds.Height - 2);
|
||||
}
|
||||
else
|
||||
{
|
||||
//文本内容显示区域
|
||||
//textRect = new Rectangle(2, e.Bounds.Y + 3, e.Bounds.Width, e.Bounds.Height - 2);
|
||||
}
|
||||
break;
|
||||
case ComboPopupItem item2:
|
||||
Image img2 = item2.Image;
|
||||
//图片绘制的区域
|
||||
Rectangle imgRect2 = new Rectangle(6, e.Bounds.Y + 3, 16, 16);
|
||||
e.Graphics.SmoothingMode = SmoothingMode.HighQuality;
|
||||
e.Graphics.CompositingQuality = CompositingQuality.HighQuality;
|
||||
e.Graphics.InterpolationMode = InterpolationMode.NearestNeighbor;
|
||||
e.Graphics.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.Half;
|
||||
e.Graphics.DrawImage(img2, imgRect2);
|
||||
//文本内容显示区域
|
||||
textRect = new Rectangle(imgRect2.Right + 2, imgRect2.Y, e.Bounds.Width - imgRect2.Width, e.Bounds.Height - 2);
|
||||
if (img2 != null)
|
||||
{
|
||||
//图片绘制的区域
|
||||
Rectangle imgRect2 = new Rectangle(6, e.Bounds.Y + 3, 16, 16);
|
||||
e.Graphics.SmoothingMode = SmoothingMode.HighQuality;
|
||||
e.Graphics.CompositingQuality = CompositingQuality.HighQuality;
|
||||
e.Graphics.InterpolationMode = InterpolationMode.NearestNeighbor;
|
||||
e.Graphics.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.Half;
|
||||
e.Graphics.DrawImage(img2, imgRect2);
|
||||
//文本内容显示区域
|
||||
textRect = new Rectangle(imgRect2.Right + 2, imgRect2.Y, e.Bounds.Width - imgRect2.Width, e.Bounds.Height - 2);
|
||||
}
|
||||
else
|
||||
{
|
||||
//文本内容显示区域
|
||||
textRect = new Rectangle(2, e.Bounds.Y + 3, e.Bounds.Width, e.Bounds.Height - 2);
|
||||
}
|
||||
break;
|
||||
}
|
||||
//获得项文本内容,绘制文本
|
||||
|
|
@ -88,7 +104,8 @@ namespace ryControls
|
|||
{
|
||||
LineAlignment = StringAlignment.Center
|
||||
};
|
||||
e.Graphics.DrawString(itemText, new Font("微软雅黑", 11), Brushes.Black, textRect, strFormat);
|
||||
var txt_font = new Font(this.Font.FontFamily, this.Font.Size-1f);
|
||||
e.Graphics.DrawString(itemText, txt_font, Brushes.Black, textRect, strFormat);
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user