## 📅2025-08-16 星期六更新
### rycUpdate V1.0.2506.0401 - *.[修复]修复文件替换失败,不会失败提示的BUG。 ### RaUI V4.0.2508.1601 - *.[新增]ChromeTabControl控件支持设置SizeMode属性。 - *.[新增]HotkeyTextBox新增支持传入热键文本进行自动转换。 - *.[新增]ryQuickSQL类新增GetJsonData方法。 - *.[新增]ryQuickSQL类新增DateToTimeStamp属性,导出时自动将时间类型转为时间戳。 - *.[新增]自动更新模块新增支持版本类型,区分正式版和测试版。 - *.[改进]HotkeyTextBox控件渲染方式改成全画布渲染。 - *.[改进]TextBoxEx2开启多行模式后,空文本改成在第一行显示。 - *.[修复]修复截图功能某些情况下会报错的BUG。 - *.[修复]修复HotkeyValue类处理多功能键文本时转换错误的BUG。 - *.[修复]修复RyComboBox控件在某些情况下边框会丢失的BUG。 - *.[修复]修复Hosts类针对删除hosts规则处理出错的BUG。 - *.[修复]修复当升级文件Url无法访问时,升级模块会无限期等待的BUG。
This commit is contained in:
parent
11a117a46d
commit
690d2651f5
Binary file not shown.
Binary file not shown.
|
@ -1251,11 +1251,16 @@
|
|||
取消事件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryCommon.BigFileOp.SkipSameFiles">
|
||||
<summary>
|
||||
是否跳过相同文件,默认不跳过(根据文件大小和修改时间来判断)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ryCommon.BigFileOp.CopyBigFile(System.String,System.String,System.Object)">
|
||||
<summary>
|
||||
大文件按流复制文件,支持自动创建目标文件夹。 true:复制成功 false:复制失败
|
||||
</summary>
|
||||
<param name="soucrePath">原始文件路径</param>
|
||||
<param name="sourcePath">原始文件路径</param>
|
||||
<param name="targetPath">复制目标文件路径</param>
|
||||
<param name="Tag">携带的参数(可选)</param>
|
||||
<returns></returns>
|
||||
|
@ -2039,6 +2044,25 @@
|
|||
<param name="ToDir">目标文件夹</param>
|
||||
<returns>返回复制操作是否成功的标识,成功返回0,负数表示复制失败的文件数量。1表示源文件夹不存在</returns>
|
||||
</member>
|
||||
<member name="M:ryCommon.RyFiles.CopyOrCutFileToClipboard(System.String[],System.Boolean)">
|
||||
<summary>
|
||||
复制或剪切文件列表到剪切板
|
||||
</summary>
|
||||
<param name="files"></param>
|
||||
<param name="cut"></param>
|
||||
</member>
|
||||
<member name="M:ryCommon.RyFiles.CopyFileToClipboard(System.String[])">
|
||||
<summary>
|
||||
复制文件列表到剪切板
|
||||
</summary>
|
||||
<param name="files"></param>
|
||||
</member>
|
||||
<member name="M:ryCommon.RyFiles.CutFileToClipboard(System.String[])">
|
||||
<summary>
|
||||
剪切文件列表到剪切板
|
||||
</summary>
|
||||
<param name="files"></param>
|
||||
</member>
|
||||
<member name="M:ryCommon.RyFiles.ReNameFile(System.String,System.String,System.Boolean,System.String@)">
|
||||
<summary>
|
||||
重命名一个文件为新名称,建议您使用更方便的Microsoft.VisualBasic.FileSystem.ReName();替换该方法
|
||||
|
@ -13834,6 +13858,11 @@
|
|||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryCommonDb.RyQuickSQL.DateToTimeStamp">
|
||||
<summary>
|
||||
是否将时间类型转为时间戳
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ryCommonDb.RyQuickSQL.GetSearchSQL(System.String,System.String)">
|
||||
<summary>
|
||||
输出多条件搜索。
|
||||
|
@ -13848,6 +13877,12 @@
|
|||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryCommonDb.RyQuickSQL.GetJsonData">
|
||||
<summary>
|
||||
根据输入的内容,生成Json数据
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryCommonDb.RyQuickSQL.GetInsertSQL">
|
||||
<summary>
|
||||
获取插入SQL语句
|
||||
|
@ -15902,27 +15937,44 @@
|
|||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WinShell.API.GetDesktopFolder">
|
||||
<summary>
|
||||
Shell
|
||||
</summary>
|
||||
<summary>
|
||||
获得桌面 Shell
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WinShell.API.GetDesktopFolder(System.IntPtr@)">
|
||||
<summary>
|
||||
获得桌面 Shell
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WinShell.API.GetPathByIShell(WinShell.IShellFolder,System.IntPtr)">
|
||||
<summary>
|
||||
获取路径
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WinShell.API.GetNameByIShell(WinShell.IShellFolder,System.IntPtr)">
|
||||
<summary>
|
||||
获取显示名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WinShell.API.GetNameByPIDL(System.IntPtr)">
|
||||
<summary>
|
||||
根据 PIDL 获取显示名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WinShell.API.GetSpecialFolderPath(System.IntPtr,WinShell.ShellSpecialFolders)">
|
||||
<summary>
|
||||
获取特殊文件夹的路径
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WinShell.API.GetShellFolder(WinShell.IShellFolder,System.String,System.IntPtr@)">
|
||||
<summary>
|
||||
根据路径获取 IShellFolder 和 PIDL
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WinShell.API.GetNameByIShell(WinShell.IShellFolder,System.IntPtr)">
|
||||
<member name="M:WinShell.API.GetShellFolder(WinShell.IShellFolder,System.String)">
|
||||
<summary>
|
||||
|
||||
根据路径获取 IShellFolder
|
||||
</summary>
|
||||
<param name="Root"></param>
|
||||
<param name="pidlSub"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WinShell.API.GetNameByPIDL(System.IntPtr)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WinShell.CShellFolder">
|
||||
<summary>
|
||||
|
@ -16736,6 +16788,14 @@
|
|||
<param name="vk"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:SysFuns.WinHotReg.RegHotKey(System.Int32,System.String)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="id"></param>
|
||||
<param name="hotkey"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:SysFuns.WinHotReg.RegHotKey(System.Int32,System.Int32,System.Windows.Forms.Keys)">
|
||||
<summary>
|
||||
注册热键
|
||||
|
@ -18082,6 +18142,11 @@
|
|||
版本
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:LiveUpdate.UpdateInfo.VersionType">
|
||||
<summary>
|
||||
版本类型
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:LiveUpdate.UpdateInfo.UpdateDate">
|
||||
<summary>
|
||||
更新日期
|
||||
|
@ -20148,10 +20213,11 @@
|
|||
鼠标移上时,显示提示
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryControls.ComboBoxEx2.Font">
|
||||
<member name="M:ryControls.ComboBoxEx2.OnFontChanged(System.EventArgs)">
|
||||
<summary>
|
||||
字体
|
||||
|
||||
</summary>
|
||||
<param name="e"></param>
|
||||
</member>
|
||||
<member name="P:ryControls.ComboBoxEx2.UseDefSkin">
|
||||
<summary>
|
||||
|
@ -20265,6 +20331,16 @@
|
|||
值1
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryControls.ComboPopupItem.ValueInt1">
|
||||
<summary>
|
||||
int值1
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryControls.ComboPopupItem.ValueLong1">
|
||||
<summary>
|
||||
long值1
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryControls.ComboPopupItem.Tag">
|
||||
<summary>
|
||||
Tag
|
||||
|
@ -20897,6 +20973,52 @@
|
|||
热键文本框
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryControls.HotkeyTextBox.ClearBtnRect">
|
||||
<summary>
|
||||
清除按钮位置
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryControls.HotkeyTextBox.HotKeyTextRect">
|
||||
<summary>
|
||||
热键文本位置
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ryControls.HotkeyTextBox.OnMouseDown(System.Windows.Forms.MouseEventArgs)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="e"></param>
|
||||
</member>
|
||||
<member name="M:ryControls.HotkeyTextBox.OnMouseUp(System.Windows.Forms.MouseEventArgs)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="e"></param>
|
||||
</member>
|
||||
<member name="M:ryControls.HotkeyTextBox.OnMouseLeave(System.EventArgs)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="e"></param>
|
||||
</member>
|
||||
<member name="M:ryControls.HotkeyTextBox.OnLostFocus(System.EventArgs)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="e"></param>
|
||||
</member>
|
||||
<member name="M:ryControls.HotkeyTextBox.OnMouseMove(System.Windows.Forms.MouseEventArgs)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="e"></param>
|
||||
</member>
|
||||
<member name="M:ryControls.HotkeyTextBox.OnPaint(System.Windows.Forms.PaintEventArgs)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="e"></param>
|
||||
</member>
|
||||
<member name="M:ryControls.HotkeyTextBox.Finalize">
|
||||
<summary>
|
||||
|
||||
|
@ -24633,6 +24755,11 @@
|
|||
Chrome风格的多标签控件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryControls.ChromeTabControl.SizeMode">
|
||||
<summary>
|
||||
获取或设置调整控件的选项卡大小的方式。
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ryControls.ChromeTabControl.Finalize">
|
||||
<summary>
|
||||
|
||||
|
@ -30255,12 +30382,12 @@
|
|||
</member>
|
||||
<member name="P:TheArtOfDev.HtmlRenderer.WinForms.HtmlLabel.AutoSize">
|
||||
<summary>
|
||||
Automatically sets the size of the label by content size
|
||||
根据内容大小自动设置标签的大小
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:TheArtOfDev.HtmlRenderer.WinForms.HtmlLabel.AutoSizeHeightOnly">
|
||||
<summary>
|
||||
Automatically sets the height of the label by content height (width is not effected).
|
||||
根据内容高度自动设置标签的高度(宽度不受影响)。
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:TheArtOfDev.HtmlRenderer.WinForms.HtmlLabel.MaximumSize">
|
||||
|
@ -54175,7 +54302,7 @@
|
|||
<param name="r">Bounds of the cell</param>
|
||||
<param name="offset_x"></param>
|
||||
<param name="txt">The string to be drawn</param>
|
||||
<param name="brush">笔刷</param>
|
||||
<param name="brush"></param>
|
||||
</member>
|
||||
<member name="M:BrightIdeasSoftware.BaseRenderer.DrawText2(System.Drawing.Graphics,System.Drawing.Rectangle,System.Int32,System.String)">
|
||||
<summary>
|
||||
|
@ -54198,6 +54325,37 @@
|
|||
<param name="back_brush"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:BrightIdeasSoftware.BaseRenderer.DrawText2(System.Drawing.Graphics,System.Drawing.Rectangle,System.Int32,System.String,System.Drawing.Color)">
|
||||
<summary>
|
||||
Draw the given text and optional image in the "normal" fashion
|
||||
</summary>
|
||||
<param name="g">Graphics context to use for drawing</param>
|
||||
<param name="r">Bounds of the cell</param>
|
||||
<param name="offset_x"></param>
|
||||
<param name="txt">The string to be drawn</param>
|
||||
<param name="forecolor">笔刷</param>
|
||||
</member>
|
||||
<member name="M:BrightIdeasSoftware.BaseRenderer.DrawText3(System.Drawing.Graphics,System.Drawing.Rectangle,System.Int32,System.String)">
|
||||
<summary>
|
||||
Draw the given text and optional image in the "normal" fashion
|
||||
</summary>
|
||||
<param name="g">Graphics context to use for drawing</param>
|
||||
<param name="r">Bounds of the cell</param>
|
||||
<param name="offset_x"></param>
|
||||
<param name="txt">The string to be drawn</param>
|
||||
</member>
|
||||
<member name="M:BrightIdeasSoftware.BaseRenderer.DrawTextAndBackColor2(System.Drawing.Graphics,System.Drawing.Rectangle,System.Int32,System.String,System.Drawing.Color,System.Drawing.Color)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="g"></param>
|
||||
<param name="r">这里的r</param>
|
||||
<param name="offset_x"></param>
|
||||
<param name="txt"></param>
|
||||
<param name="forecolor"></param>
|
||||
<param name="backcolor"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:BrightIdeasSoftware.BaseRenderer.DrawImage2(System.Drawing.Graphics,System.Drawing.Rectangle,System.Int32,System.Drawing.Bitmap,System.Int32)">
|
||||
<summary>
|
||||
|
||||
|
@ -58222,6 +58380,79 @@
|
|||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:ScintillaNETV2.AutocompleteMenuNS.ScintillaWrapper">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:ScintillaNETV2.AutocompleteMenuNS.ScintillaWrapper.target">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ScintillaNETV2.AutocompleteMenuNS.ScintillaWrapper.#ctor(ScintillaNETV2.Scintilla)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="trgt"></param>
|
||||
</member>
|
||||
<member name="P:ScintillaNETV2.AutocompleteMenuNS.ScintillaWrapper.Readonly">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ScintillaNETV2.AutocompleteMenuNS.ScintillaWrapper.SelectedText">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ScintillaNETV2.AutocompleteMenuNS.ScintillaWrapper.SelectionLength">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ScintillaNETV2.AutocompleteMenuNS.ScintillaWrapper.SelectionStart">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ScintillaNETV2.AutocompleteMenuNS.ScintillaWrapper.TargetControl">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ScintillaNETV2.AutocompleteMenuNS.ScintillaWrapper.Text">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ScintillaNETV2.AutocompleteMenuNS.ScintillaWrapper.GetPositionFromCharIndex(System.Int32)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="pos"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="E:ScintillaNETV2.AutocompleteMenuNS.ScintillaWrapper.KeyDown">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="E:ScintillaNETV2.AutocompleteMenuNS.ScintillaWrapper.LostFocus">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="E:ScintillaNETV2.AutocompleteMenuNS.ScintillaWrapper.MouseDown">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="E:ScintillaNETV2.AutocompleteMenuNS.ScintillaWrapper.Scroll">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:ScintillaNETV2.AutocompleteMenuNS.TextBoxWrapper">
|
||||
<summary>
|
||||
Wrapper over the control like TextBox.
|
||||
|
@ -70106,79 +70337,6 @@
|
|||
A visual indicator is displayed in the number margin.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:ScintillaWrapper">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:ScintillaWrapper.target">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ScintillaWrapper.#ctor(ScintillaNETV2.Scintilla)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="trgt"></param>
|
||||
</member>
|
||||
<member name="P:ScintillaWrapper.Readonly">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ScintillaWrapper.SelectedText">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ScintillaWrapper.SelectionLength">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ScintillaWrapper.SelectionStart">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ScintillaWrapper.TargetControl">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ScintillaWrapper.Text">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ScintillaWrapper.GetPositionFromCharIndex(System.Int32)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="pos"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="E:ScintillaWrapper.KeyDown">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="E:ScintillaWrapper.LostFocus">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="E:ScintillaWrapper.MouseDown">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="E:ScintillaWrapper.Scroll">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:VPKSoft2.ScintillaLexers.CreateSpecificLexer.CreateLexerBatch">
|
||||
<summary>
|
||||
A class for the Batch lexer.
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -1251,11 +1251,16 @@
|
|||
取消事件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryCommon.BigFileOp.SkipSameFiles">
|
||||
<summary>
|
||||
是否跳过相同文件,默认不跳过(根据文件大小和修改时间来判断)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ryCommon.BigFileOp.CopyBigFile(System.String,System.String,System.Object)">
|
||||
<summary>
|
||||
大文件按流复制文件,支持自动创建目标文件夹。 true:复制成功 false:复制失败
|
||||
</summary>
|
||||
<param name="soucrePath">原始文件路径</param>
|
||||
<param name="sourcePath">原始文件路径</param>
|
||||
<param name="targetPath">复制目标文件路径</param>
|
||||
<param name="Tag">携带的参数(可选)</param>
|
||||
<returns></returns>
|
||||
|
@ -2039,6 +2044,25 @@
|
|||
<param name="ToDir">目标文件夹</param>
|
||||
<returns>返回复制操作是否成功的标识,成功返回0,负数表示复制失败的文件数量。1表示源文件夹不存在</returns>
|
||||
</member>
|
||||
<member name="M:ryCommon.RyFiles.CopyOrCutFileToClipboard(System.String[],System.Boolean)">
|
||||
<summary>
|
||||
复制或剪切文件列表到剪切板
|
||||
</summary>
|
||||
<param name="files"></param>
|
||||
<param name="cut"></param>
|
||||
</member>
|
||||
<member name="M:ryCommon.RyFiles.CopyFileToClipboard(System.String[])">
|
||||
<summary>
|
||||
复制文件列表到剪切板
|
||||
</summary>
|
||||
<param name="files"></param>
|
||||
</member>
|
||||
<member name="M:ryCommon.RyFiles.CutFileToClipboard(System.String[])">
|
||||
<summary>
|
||||
剪切文件列表到剪切板
|
||||
</summary>
|
||||
<param name="files"></param>
|
||||
</member>
|
||||
<member name="M:ryCommon.RyFiles.ReNameFile(System.String,System.String,System.Boolean,System.String@)">
|
||||
<summary>
|
||||
重命名一个文件为新名称,建议您使用更方便的Microsoft.VisualBasic.FileSystem.ReName();替换该方法
|
||||
|
@ -13834,6 +13858,11 @@
|
|||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryCommonDb.RyQuickSQL.DateToTimeStamp">
|
||||
<summary>
|
||||
是否将时间类型转为时间戳
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ryCommonDb.RyQuickSQL.GetSearchSQL(System.String,System.String)">
|
||||
<summary>
|
||||
输出多条件搜索。
|
||||
|
@ -13848,6 +13877,12 @@
|
|||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryCommonDb.RyQuickSQL.GetJsonData">
|
||||
<summary>
|
||||
根据输入的内容,生成Json数据
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:ryCommonDb.RyQuickSQL.GetInsertSQL">
|
||||
<summary>
|
||||
获取插入SQL语句
|
||||
|
@ -15902,27 +15937,44 @@
|
|||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WinShell.API.GetDesktopFolder">
|
||||
<summary>
|
||||
Shell
|
||||
</summary>
|
||||
<summary>
|
||||
获得桌面 Shell
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WinShell.API.GetDesktopFolder(System.IntPtr@)">
|
||||
<summary>
|
||||
获得桌面 Shell
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WinShell.API.GetPathByIShell(WinShell.IShellFolder,System.IntPtr)">
|
||||
<summary>
|
||||
获取路径
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WinShell.API.GetNameByIShell(WinShell.IShellFolder,System.IntPtr)">
|
||||
<summary>
|
||||
获取显示名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WinShell.API.GetNameByPIDL(System.IntPtr)">
|
||||
<summary>
|
||||
根据 PIDL 获取显示名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WinShell.API.GetSpecialFolderPath(System.IntPtr,WinShell.ShellSpecialFolders)">
|
||||
<summary>
|
||||
获取特殊文件夹的路径
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WinShell.API.GetShellFolder(WinShell.IShellFolder,System.String,System.IntPtr@)">
|
||||
<summary>
|
||||
根据路径获取 IShellFolder 和 PIDL
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WinShell.API.GetNameByIShell(WinShell.IShellFolder,System.IntPtr)">
|
||||
<member name="M:WinShell.API.GetShellFolder(WinShell.IShellFolder,System.String)">
|
||||
<summary>
|
||||
|
||||
根据路径获取 IShellFolder
|
||||
</summary>
|
||||
<param name="Root"></param>
|
||||
<param name="pidlSub"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:WinShell.API.GetNameByPIDL(System.IntPtr)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WinShell.CShellFolder">
|
||||
<summary>
|
||||
|
@ -16736,6 +16788,14 @@
|
|||
<param name="vk"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:SysFuns.WinHotReg.RegHotKey(System.Int32,System.String)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="id"></param>
|
||||
<param name="hotkey"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:SysFuns.WinHotReg.RegHotKey(System.Int32,System.Int32,System.Windows.Forms.Keys)">
|
||||
<summary>
|
||||
注册热键
|
||||
|
@ -18082,6 +18142,11 @@
|
|||
版本
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:LiveUpdate.UpdateInfo.VersionType">
|
||||
<summary>
|
||||
版本类型
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:LiveUpdate.UpdateInfo.UpdateDate">
|
||||
<summary>
|
||||
更新日期
|
||||
|
@ -20148,10 +20213,11 @@
|
|||
鼠标移上时,显示提示
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryControls.ComboBoxEx2.Font">
|
||||
<member name="M:ryControls.ComboBoxEx2.OnFontChanged(System.EventArgs)">
|
||||
<summary>
|
||||
字体
|
||||
|
||||
</summary>
|
||||
<param name="e"></param>
|
||||
</member>
|
||||
<member name="P:ryControls.ComboBoxEx2.UseDefSkin">
|
||||
<summary>
|
||||
|
@ -20265,6 +20331,16 @@
|
|||
值1
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryControls.ComboPopupItem.ValueInt1">
|
||||
<summary>
|
||||
int值1
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryControls.ComboPopupItem.ValueLong1">
|
||||
<summary>
|
||||
long值1
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryControls.ComboPopupItem.Tag">
|
||||
<summary>
|
||||
Tag
|
||||
|
@ -20897,6 +20973,52 @@
|
|||
热键文本框
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryControls.HotkeyTextBox.ClearBtnRect">
|
||||
<summary>
|
||||
清除按钮位置
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryControls.HotkeyTextBox.HotKeyTextRect">
|
||||
<summary>
|
||||
热键文本位置
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ryControls.HotkeyTextBox.OnMouseDown(System.Windows.Forms.MouseEventArgs)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="e"></param>
|
||||
</member>
|
||||
<member name="M:ryControls.HotkeyTextBox.OnMouseUp(System.Windows.Forms.MouseEventArgs)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="e"></param>
|
||||
</member>
|
||||
<member name="M:ryControls.HotkeyTextBox.OnMouseLeave(System.EventArgs)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="e"></param>
|
||||
</member>
|
||||
<member name="M:ryControls.HotkeyTextBox.OnLostFocus(System.EventArgs)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="e"></param>
|
||||
</member>
|
||||
<member name="M:ryControls.HotkeyTextBox.OnMouseMove(System.Windows.Forms.MouseEventArgs)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="e"></param>
|
||||
</member>
|
||||
<member name="M:ryControls.HotkeyTextBox.OnPaint(System.Windows.Forms.PaintEventArgs)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="e"></param>
|
||||
</member>
|
||||
<member name="M:ryControls.HotkeyTextBox.Finalize">
|
||||
<summary>
|
||||
|
||||
|
@ -24633,6 +24755,11 @@
|
|||
Chrome风格的多标签控件
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ryControls.ChromeTabControl.SizeMode">
|
||||
<summary>
|
||||
获取或设置调整控件的选项卡大小的方式。
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ryControls.ChromeTabControl.Finalize">
|
||||
<summary>
|
||||
|
||||
|
@ -30255,12 +30382,12 @@
|
|||
</member>
|
||||
<member name="P:TheArtOfDev.HtmlRenderer.WinForms.HtmlLabel.AutoSize">
|
||||
<summary>
|
||||
Automatically sets the size of the label by content size
|
||||
根据内容大小自动设置标签的大小
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:TheArtOfDev.HtmlRenderer.WinForms.HtmlLabel.AutoSizeHeightOnly">
|
||||
<summary>
|
||||
Automatically sets the height of the label by content height (width is not effected).
|
||||
根据内容高度自动设置标签的高度(宽度不受影响)。
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:TheArtOfDev.HtmlRenderer.WinForms.HtmlLabel.MaximumSize">
|
||||
|
@ -54175,7 +54302,7 @@
|
|||
<param name="r">Bounds of the cell</param>
|
||||
<param name="offset_x"></param>
|
||||
<param name="txt">The string to be drawn</param>
|
||||
<param name="brush">笔刷</param>
|
||||
<param name="brush"></param>
|
||||
</member>
|
||||
<member name="M:BrightIdeasSoftware.BaseRenderer.DrawText2(System.Drawing.Graphics,System.Drawing.Rectangle,System.Int32,System.String)">
|
||||
<summary>
|
||||
|
@ -54198,6 +54325,37 @@
|
|||
<param name="back_brush"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:BrightIdeasSoftware.BaseRenderer.DrawText2(System.Drawing.Graphics,System.Drawing.Rectangle,System.Int32,System.String,System.Drawing.Color)">
|
||||
<summary>
|
||||
Draw the given text and optional image in the "normal" fashion
|
||||
</summary>
|
||||
<param name="g">Graphics context to use for drawing</param>
|
||||
<param name="r">Bounds of the cell</param>
|
||||
<param name="offset_x"></param>
|
||||
<param name="txt">The string to be drawn</param>
|
||||
<param name="forecolor">笔刷</param>
|
||||
</member>
|
||||
<member name="M:BrightIdeasSoftware.BaseRenderer.DrawText3(System.Drawing.Graphics,System.Drawing.Rectangle,System.Int32,System.String)">
|
||||
<summary>
|
||||
Draw the given text and optional image in the "normal" fashion
|
||||
</summary>
|
||||
<param name="g">Graphics context to use for drawing</param>
|
||||
<param name="r">Bounds of the cell</param>
|
||||
<param name="offset_x"></param>
|
||||
<param name="txt">The string to be drawn</param>
|
||||
</member>
|
||||
<member name="M:BrightIdeasSoftware.BaseRenderer.DrawTextAndBackColor2(System.Drawing.Graphics,System.Drawing.Rectangle,System.Int32,System.String,System.Drawing.Color,System.Drawing.Color)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="g"></param>
|
||||
<param name="r">这里的r</param>
|
||||
<param name="offset_x"></param>
|
||||
<param name="txt"></param>
|
||||
<param name="forecolor"></param>
|
||||
<param name="backcolor"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:BrightIdeasSoftware.BaseRenderer.DrawImage2(System.Drawing.Graphics,System.Drawing.Rectangle,System.Int32,System.Drawing.Bitmap,System.Int32)">
|
||||
<summary>
|
||||
|
||||
|
@ -58222,6 +58380,79 @@
|
|||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:ScintillaNETV2.AutocompleteMenuNS.ScintillaWrapper">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:ScintillaNETV2.AutocompleteMenuNS.ScintillaWrapper.target">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ScintillaNETV2.AutocompleteMenuNS.ScintillaWrapper.#ctor(ScintillaNETV2.Scintilla)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="trgt"></param>
|
||||
</member>
|
||||
<member name="P:ScintillaNETV2.AutocompleteMenuNS.ScintillaWrapper.Readonly">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ScintillaNETV2.AutocompleteMenuNS.ScintillaWrapper.SelectedText">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ScintillaNETV2.AutocompleteMenuNS.ScintillaWrapper.SelectionLength">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ScintillaNETV2.AutocompleteMenuNS.ScintillaWrapper.SelectionStart">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ScintillaNETV2.AutocompleteMenuNS.ScintillaWrapper.TargetControl">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ScintillaNETV2.AutocompleteMenuNS.ScintillaWrapper.Text">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ScintillaNETV2.AutocompleteMenuNS.ScintillaWrapper.GetPositionFromCharIndex(System.Int32)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="pos"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="E:ScintillaNETV2.AutocompleteMenuNS.ScintillaWrapper.KeyDown">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="E:ScintillaNETV2.AutocompleteMenuNS.ScintillaWrapper.LostFocus">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="E:ScintillaNETV2.AutocompleteMenuNS.ScintillaWrapper.MouseDown">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="E:ScintillaNETV2.AutocompleteMenuNS.ScintillaWrapper.Scroll">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:ScintillaNETV2.AutocompleteMenuNS.TextBoxWrapper">
|
||||
<summary>
|
||||
Wrapper over the control like TextBox.
|
||||
|
@ -70094,79 +70325,6 @@
|
|||
A visual indicator is displayed in the number margin.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:ScintillaWrapper">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:ScintillaWrapper.target">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ScintillaWrapper.#ctor(ScintillaNETV2.Scintilla)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="trgt"></param>
|
||||
</member>
|
||||
<member name="P:ScintillaWrapper.Readonly">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ScintillaWrapper.SelectedText">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ScintillaWrapper.SelectionLength">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ScintillaWrapper.SelectionStart">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ScintillaWrapper.TargetControl">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:ScintillaWrapper.Text">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:ScintillaWrapper.GetPositionFromCharIndex(System.Int32)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="pos"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="E:ScintillaWrapper.KeyDown">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="E:ScintillaWrapper.LostFocus">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="E:ScintillaWrapper.MouseDown">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="E:ScintillaWrapper.Scroll">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:VPKSoft2.ScintillaLexers.CreateSpecificLexer.CreateLexerBatch">
|
||||
<summary>
|
||||
A class for the Batch lexer.
|
||||
|
|
21
CHANGELOG.md
21
CHANGELOG.md
|
@ -1,4 +1,23 @@
|
|||
## :date:2025-06-27 星期五更新
|
||||
## :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方法。
|
||||
- :cactus:[新增]ryQuickSQL类新增DateToTimeStamp属性,导出时自动将时间类型转为时间戳。
|
||||
- :cactus:[新增]自动更新模块新增支持版本类型,区分正式版和测试版。
|
||||
- :100:[改进]HotkeyTextBox控件渲染方式改成全画布渲染。
|
||||
- :100:[改进]TextBoxEx2开启多行模式后,空文本改成在第一行显示。
|
||||
- :lady_beetle:[修复]修复截图功能某些情况下会报错的BUG。
|
||||
- :lady_beetle:[修复]修复HotkeyValue类处理多功能键文本时转换错误的BUG。
|
||||
- :lady_beetle:[修复]修复RyComboBox控件在某些情况下边框会丢失的BUG。
|
||||
- :lady_beetle:[修复]修复Hosts类针对删除hosts规则处理出错的BUG。
|
||||
- :lady_beetle:[修复]修复当升级文件Url无法访问时,升级模块会无限期等待的BUG。
|
||||
|
||||
## :date:2025-06-27 星期五更新
|
||||
|
||||
### RaUI V4.0.2506.2701
|
||||
- :cactus:[新增]RediskCheck类新增支持对.NET3.5和.NET6-.NET9安装状态的判断。
|
||||
|
|
|
@ -21,6 +21,7 @@ namespace Itrycn_Project2.Config
|
|||
}
|
||||
else
|
||||
{
|
||||
Public_Config.LoadSetting();
|
||||
Application.Run(new FrmStart(args));
|
||||
//Application.Run(new FrmTest2());
|
||||
//Application.Run(new WindowsFormsApp2.Form1());
|
||||
|
|
|
@ -17,7 +17,7 @@ namespace Itrycn_Project2
|
|||
public static void LoadSetting()
|
||||
{
|
||||
ryCommon.Storage Stor = new ryCommon.Storage();
|
||||
Stor.LoadFromFile(Soft_ConstInfo.UserDataFolder+"\\Setting.dat");
|
||||
Stor.LoadFromFile(Soft_ConstInfo.UserDataFolder+"\\Setting.xml");
|
||||
Stor.SelectNodeBySet();
|
||||
HideByCloseBtn = Stor.GetAttrValue("HideByCloseBtn", false);
|
||||
//low_count = Stor.GetAttrValue("LowCount", 10);
|
||||
|
|
132
Source/Itrycn_Project2/FrmStart.Designer.cs
generated
132
Source/Itrycn_Project2/FrmStart.Designer.cs
generated
|
@ -44,19 +44,18 @@
|
|||
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.textBoxEx21 = new ryControls.TextBoxEx2();
|
||||
this.textBoxEx1 = new ryControls.TextBoxEx();
|
||||
this.button3 = new System.Windows.Forms.Button();
|
||||
this.richTextBox21 = new ryControls.Controls.RichTextBox2();
|
||||
this.button2 = new System.Windows.Forms.Button();
|
||||
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.button1 = new System.Windows.Forms.Button();
|
||||
this.LvLogs = new BrightIdeasSoftware.ObjectListView();
|
||||
this.OlvLogTime = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
|
||||
this.OlvLogText = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
|
||||
|
@ -159,6 +158,7 @@
|
|||
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, 55);
|
||||
this.chromeTabControl1.Name = "chromeTabControl1";
|
||||
|
@ -166,7 +166,6 @@
|
|||
this.chromeTabControl1.ShowAddButton = false;
|
||||
this.chromeTabControl1.ShowCloseButton = false;
|
||||
this.chromeTabControl1.Size = new System.Drawing.Size(1005, 664);
|
||||
this.chromeTabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
|
||||
this.chromeTabControl1.TabContextMenuStrip = null;
|
||||
this.chromeTabControl1.TabIndex = 0;
|
||||
this.chromeTabControl1.TabMaxWidth = 100;
|
||||
|
@ -174,14 +173,14 @@
|
|||
// 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.textBoxEx21);
|
||||
this.tabPage1.Controls.Add(this.textBoxEx1);
|
||||
this.tabPage1.Controls.Add(this.button3);
|
||||
this.tabPage1.Controls.Add(this.richTextBox21);
|
||||
this.tabPage1.Controls.Add(this.button2);
|
||||
this.tabPage1.Controls.Add(this.htmlPanel1);
|
||||
this.tabPage1.Controls.Add(this.pictureBox2);
|
||||
this.tabPage1.Controls.Add(this.pictureBox1);
|
||||
|
@ -193,6 +192,52 @@
|
|||
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)))));
|
||||
|
@ -209,7 +254,7 @@
|
|||
this.doubleText1.Location = new System.Drawing.Point(141, 265);
|
||||
this.doubleText1.Name = "doubleText1";
|
||||
this.doubleText1.SelectName = "";
|
||||
this.doubleText1.Size = new System.Drawing.Size(240, 39);
|
||||
this.doubleText1.Size = new System.Drawing.Size(240, 27);
|
||||
this.doubleText1.TabIndex = 26;
|
||||
//
|
||||
// ryComboBox1
|
||||
|
@ -225,33 +270,11 @@
|
|||
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;
|
||||
//
|
||||
// textBoxEx21
|
||||
//
|
||||
this.textBoxEx21.BackColor = System.Drawing.Color.White;
|
||||
this.textBoxEx21.EmptyText = "ddd对对对";
|
||||
this.textBoxEx21.Location = new System.Drawing.Point(149, 170);
|
||||
this.textBoxEx21.LongTime = 2000;
|
||||
this.textBoxEx21.MaxLength = 999999999;
|
||||
this.textBoxEx21.MaxUndoRedoSteps = 50;
|
||||
this.textBoxEx21.Multiline = false;
|
||||
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(233, 33);
|
||||
this.textBoxEx21.TabIndex = 24;
|
||||
this.textBoxEx21.Text = "textBoxEx21";
|
||||
this.textBoxEx21.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
|
||||
this.textBoxEx21.ToolTip = "";
|
||||
this.textBoxEx21.WordWrap = true;
|
||||
this.textBoxEx21.LongTimeNoChanged += new System.EventHandler(this.textBoxEx21_LongTimeNoChanged);
|
||||
this.textBoxEx21.KeyDown += new System.Windows.Forms.KeyEventHandler(this.textBoxEx21_KeyDown);
|
||||
this.ryComboBox1.ToolTipText = "";
|
||||
//
|
||||
// textBoxEx1
|
||||
//
|
||||
|
@ -264,19 +287,8 @@
|
|||
this.textBoxEx1.Size = new System.Drawing.Size(202, 21);
|
||||
this.textBoxEx1.TabIndex = 23;
|
||||
//
|
||||
// button3
|
||||
//
|
||||
this.button3.Location = new System.Drawing.Point(254, 105);
|
||||
this.button3.Name = "button3";
|
||||
this.button3.Size = new System.Drawing.Size(143, 37);
|
||||
this.button3.TabIndex = 22;
|
||||
this.button3.Text = "button3";
|
||||
this.button3.UseVisualStyleBackColor = true;
|
||||
this.button3.Click += new System.EventHandler(this.button3_Click);
|
||||
//
|
||||
// richTextBox21
|
||||
//
|
||||
this.richTextBox21.DetectUrls = false;
|
||||
this.richTextBox21.EmptyText = "";
|
||||
this.richTextBox21.Font = new System.Drawing.Font("Courier New", 10F);
|
||||
this.richTextBox21.Location = new System.Drawing.Point(417, 26);
|
||||
|
@ -288,18 +300,6 @@
|
|||
"赢得道具和奖励,培养她的感情,解锁不同的结局。这款游戏将带给你与怪兽公主共度时光的乐趣与刺激。";
|
||||
this.richTextBox21.WordWrap = true;
|
||||
//
|
||||
// button2
|
||||
//
|
||||
this.button2.Location = new System.Drawing.Point(854, 46);
|
||||
this.button2.MaximumSize = new System.Drawing.Size(143, 37);
|
||||
this.button2.MinimumSize = new System.Drawing.Size(143, 37);
|
||||
this.button2.Name = "button2";
|
||||
this.button2.Size = new System.Drawing.Size(143, 37);
|
||||
this.button2.TabIndex = 20;
|
||||
this.button2.Text = "button2";
|
||||
this.button2.UseVisualStyleBackColor = true;
|
||||
this.button2.Click += new System.EventHandler(this.button2_Click);
|
||||
//
|
||||
// htmlPanel1
|
||||
//
|
||||
this.htmlPanel1.AutoScroll = true;
|
||||
|
@ -331,7 +331,6 @@
|
|||
//
|
||||
// TabLogs
|
||||
//
|
||||
this.TabLogs.Controls.Add(this.button1);
|
||||
this.TabLogs.Controls.Add(this.LvLogs);
|
||||
this.TabLogs.Location = new System.Drawing.Point(1, 29);
|
||||
this.TabLogs.Name = "TabLogs";
|
||||
|
@ -341,16 +340,6 @@
|
|||
this.TabLogs.Text = "日志";
|
||||
this.TabLogs.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Location = new System.Drawing.Point(275, 64);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(125, 29);
|
||||
this.button1.TabIndex = 15;
|
||||
this.button1.Text = "button1";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
this.button1.Click += new System.EventHandler(this.Button1_Click);
|
||||
//
|
||||
// LvLogs
|
||||
//
|
||||
this.LvLogs.AllColumns.Add(this.OlvLogTime);
|
||||
|
@ -431,17 +420,16 @@
|
|||
private BrightIdeasSoftware.ObjectListView LvLogs;
|
||||
private BrightIdeasSoftware.OLVColumn OlvLogTime;
|
||||
private BrightIdeasSoftware.OLVColumn OlvLogText;
|
||||
private System.Windows.Forms.Button button1;
|
||||
private System.Windows.Forms.PictureBox pictureBox1;
|
||||
private System.Windows.Forms.PictureBox pictureBox2;
|
||||
private TheArtOfDev.HtmlRenderer.WinForms.HtmlPanel htmlPanel1;
|
||||
private ryControls.Controls.RichTextBox2 richTextBox21;
|
||||
private System.Windows.Forms.Button button3;
|
||||
private ryControls.TextBoxEx textBoxEx1;
|
||||
private ryControls.TextBoxEx2 textBoxEx21;
|
||||
private ryControls.ComboBoxEx2 ryComboBox1;
|
||||
private System.Windows.Forms.Button button2;
|
||||
private ryControls.DoubleText doubleText1;
|
||||
private ryControls.rySearch rySearch1;
|
||||
private ryControls.HotkeyTextBox hotkeyTextBox1;
|
||||
private ryControls.ButtonEx buttonEx1;
|
||||
private ryControls.TextBoxEx2 textBoxEx21;
|
||||
}
|
||||
}
|
File diff suppressed because one or more lines are too long
|
@ -126,62 +126,8 @@
|
|||
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>246, 17</value>
|
||||
</metadata>
|
||||
<metadata name="menuStrip1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="chromeTabControl1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="tabPage1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="rySearch1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="doubleText1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="ryComboBox1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="textBoxEx21.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="textBoxEx1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="button3.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="richTextBox21.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="button2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="htmlPanel1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="pictureBox2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="pictureBox1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="TabLogs.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="button1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LvLogs.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>54</value>
|
||||
<value>25</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.GMFormIcon" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
|
|
515
Source/OnLineUpgradeConfig/frmUpdateFile.Designer.cs
generated
515
Source/OnLineUpgradeConfig/frmUpdateFile.Designer.cs
generated
|
@ -35,7 +35,7 @@ namespace LiveUpdate
|
|||
this.BtnOK = new System.Windows.Forms.Button();
|
||||
this.tabControl1 = new System.Windows.Forms.TabControl();
|
||||
this.tabPage1 = new System.Windows.Forms.TabPage();
|
||||
this.cmbNewVer = new ryControls.TextBoxEx2();
|
||||
this.label10 = new System.Windows.Forms.Label();
|
||||
this.checkBox2 = new System.Windows.Forms.CheckBox();
|
||||
this.checkBox1 = new System.Windows.Forms.CheckBox();
|
||||
this.linkLabel8 = new System.Windows.Forms.LinkLabel();
|
||||
|
@ -49,37 +49,27 @@ namespace LiveUpdate
|
|||
this.linkLabel1 = new System.Windows.Forms.LinkLabel();
|
||||
this.label12 = new System.Windows.Forms.Label();
|
||||
this.BtnOneKeyUpdate = new System.Windows.Forms.Button();
|
||||
this.txtDbUpdateDes = new ryControls.TextBoxEx2();
|
||||
this.txtUpdateDes = new ryControls.TextBoxEx2();
|
||||
this.label8 = new System.Windows.Forms.Label();
|
||||
this.label7 = new System.Windows.Forms.Label();
|
||||
this.cmbDbUpdateUrl = new ryControls.RyComboBox();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.cmbProcUpdateUrl = new ryControls.RyComboBox();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.dtNewDataDate = new System.Windows.Forms.DateTimePicker();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.dtNewProcDate = new System.Windows.Forms.DateTimePicker();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.cmbNewDbVer = new ryControls.RyComboBox();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.tabPage2 = new System.Windows.Forms.TabPage();
|
||||
this.txtDelFileList = new ryControls.Controls.RichTextBox2();
|
||||
this.txtKillProcList = new ryControls.Controls.RichTextBox2();
|
||||
this.btnSelectUser = new System.Windows.Forms.Button();
|
||||
this.label16 = new System.Windows.Forms.Label();
|
||||
this.label15 = new System.Windows.Forms.Label();
|
||||
this.label14 = new System.Windows.Forms.Label();
|
||||
this.label11 = new System.Windows.Forms.Label();
|
||||
this.label9 = new System.Windows.Forms.Label();
|
||||
this.txtMainProcPram = new ryControls.TextBoxEx2();
|
||||
this.txtMainProcName = new ryControls.TextBoxEx2();
|
||||
this.txtUserList = new ryControls.RyComboBox();
|
||||
this.tabPage3 = new System.Windows.Forms.TabPage();
|
||||
this.BtnDefUpdateLog = new System.Windows.Forms.Button();
|
||||
this.BtnPasteFromMD = new System.Windows.Forms.Button();
|
||||
this.ChkUseHtml = new System.Windows.Forms.CheckBox();
|
||||
this.TxtUpdateDes_Html = new ryControls.Controls.RichTextBox2();
|
||||
this.tabPage4 = new System.Windows.Forms.TabPage();
|
||||
this.LblState = new System.Windows.Forms.Label();
|
||||
this.BtnCopyToNormal = new System.Windows.Forms.Button();
|
||||
|
@ -89,6 +79,19 @@ namespace LiveUpdate
|
|||
this.BtnUsersView = new System.Windows.Forms.Button();
|
||||
this.LvUpdateFiles = new BrightIdeasSoftware.ObjectListView();
|
||||
this.OlvFileName = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
|
||||
this.CbbVersionType = new ryControls.RyComboBox();
|
||||
this.cmbNewVer = new ryControls.TextBoxEx2();
|
||||
this.txtDbUpdateDes = new ryControls.TextBoxEx2();
|
||||
this.txtUpdateDes = new ryControls.TextBoxEx2();
|
||||
this.cmbDbUpdateUrl = new ryControls.RyComboBox();
|
||||
this.cmbProcUpdateUrl = new ryControls.RyComboBox();
|
||||
this.cmbNewDbVer = new ryControls.RyComboBox();
|
||||
this.txtDelFileList = new ryControls.Controls.RichTextBox2();
|
||||
this.txtKillProcList = new ryControls.Controls.RichTextBox2();
|
||||
this.txtMainProcPram = new ryControls.TextBoxEx2();
|
||||
this.txtMainProcName = new ryControls.TextBoxEx2();
|
||||
this.txtUserList = new ryControls.RyComboBox();
|
||||
this.TxtUpdateDes_Html = new ryControls.Controls.RichTextBox2();
|
||||
this.tabControl1.SuspendLayout();
|
||||
this.tabPage1.SuspendLayout();
|
||||
this.tabPage2.SuspendLayout();
|
||||
|
@ -137,6 +140,8 @@ namespace LiveUpdate
|
|||
// tabPage1
|
||||
//
|
||||
this.tabPage1.BackColor = System.Drawing.Color.White;
|
||||
this.tabPage1.Controls.Add(this.CbbVersionType);
|
||||
this.tabPage1.Controls.Add(this.label10);
|
||||
this.tabPage1.Controls.Add(this.cmbNewVer);
|
||||
this.tabPage1.Controls.Add(this.checkBox2);
|
||||
this.tabPage1.Controls.Add(this.checkBox1);
|
||||
|
@ -173,29 +178,14 @@ namespace LiveUpdate
|
|||
this.tabPage1.TabIndex = 0;
|
||||
this.tabPage1.Text = "基本设置";
|
||||
//
|
||||
// cmbNewVer
|
||||
// label10
|
||||
//
|
||||
this.cmbNewVer.BackColor = System.Drawing.Color.White;
|
||||
this.cmbNewVer.EmptyText = "";
|
||||
this.cmbNewVer.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.cmbNewVer.Location = new System.Drawing.Point(9, 23);
|
||||
this.cmbNewVer.LongTime = 2000;
|
||||
this.cmbNewVer.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
||||
this.cmbNewVer.MaxLength = 999999999;
|
||||
this.cmbNewVer.MaxUndoRedoSteps = 50;
|
||||
this.cmbNewVer.Multiline = false;
|
||||
this.cmbNewVer.Name = "cmbNewVer";
|
||||
this.cmbNewVer.OnlyNumeric = false;
|
||||
this.cmbNewVer.PasswordChar = '\0';
|
||||
this.cmbNewVer.ReadOnly = false;
|
||||
this.cmbNewVer.SelectedText = "";
|
||||
this.cmbNewVer.SelectionLength = 0;
|
||||
this.cmbNewVer.SelectionStart = 0;
|
||||
this.cmbNewVer.Size = new System.Drawing.Size(223, 31);
|
||||
this.cmbNewVer.TabIndex = 47;
|
||||
this.cmbNewVer.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
|
||||
this.cmbNewVer.ToolTip = "";
|
||||
this.cmbNewVer.WordWrap = true;
|
||||
this.label10.AutoSize = true;
|
||||
this.label10.Location = new System.Drawing.Point(317, 8);
|
||||
this.label10.Name = "label10";
|
||||
this.label10.Size = new System.Drawing.Size(53, 12);
|
||||
this.label10.TabIndex = 48;
|
||||
this.label10.Text = "版本类型";
|
||||
//
|
||||
// checkBox2
|
||||
//
|
||||
|
@ -353,56 +343,6 @@ namespace LiveUpdate
|
|||
this.BtnOneKeyUpdate.UseVisualStyleBackColor = true;
|
||||
this.BtnOneKeyUpdate.Click += new System.EventHandler(this.BtnOneKeyUpdate_Click);
|
||||
//
|
||||
// txtDbUpdateDes
|
||||
//
|
||||
this.txtDbUpdateDes.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtDbUpdateDes.BackColor = System.Drawing.Color.White;
|
||||
this.txtDbUpdateDes.EmptyText = "";
|
||||
this.txtDbUpdateDes.Enabled = false;
|
||||
this.txtDbUpdateDes.Location = new System.Drawing.Point(10, 380);
|
||||
this.txtDbUpdateDes.LongTime = 2000;
|
||||
this.txtDbUpdateDes.MaxLength = 999999999;
|
||||
this.txtDbUpdateDes.MaxUndoRedoSteps = 50;
|
||||
this.txtDbUpdateDes.Multiline = true;
|
||||
this.txtDbUpdateDes.Name = "txtDbUpdateDes";
|
||||
this.txtDbUpdateDes.OnlyNumeric = false;
|
||||
this.txtDbUpdateDes.PasswordChar = '\0';
|
||||
this.txtDbUpdateDes.ReadOnly = false;
|
||||
this.txtDbUpdateDes.SelectedText = "";
|
||||
this.txtDbUpdateDes.SelectionLength = 0;
|
||||
this.txtDbUpdateDes.SelectionStart = 0;
|
||||
this.txtDbUpdateDes.Size = new System.Drawing.Size(657, 133);
|
||||
this.txtDbUpdateDes.TabIndex = 31;
|
||||
this.txtDbUpdateDes.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
|
||||
this.txtDbUpdateDes.ToolTip = "";
|
||||
this.txtDbUpdateDes.WordWrap = true;
|
||||
//
|
||||
// txtUpdateDes
|
||||
//
|
||||
this.txtUpdateDes.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtUpdateDes.BackColor = System.Drawing.Color.White;
|
||||
this.txtUpdateDes.EmptyText = "";
|
||||
this.txtUpdateDes.Location = new System.Drawing.Point(10, 195);
|
||||
this.txtUpdateDes.LongTime = 2000;
|
||||
this.txtUpdateDes.MaxLength = 999999999;
|
||||
this.txtUpdateDes.MaxUndoRedoSteps = 50;
|
||||
this.txtUpdateDes.Multiline = true;
|
||||
this.txtUpdateDes.Name = "txtUpdateDes";
|
||||
this.txtUpdateDes.OnlyNumeric = false;
|
||||
this.txtUpdateDes.PasswordChar = '\0';
|
||||
this.txtUpdateDes.ReadOnly = false;
|
||||
this.txtUpdateDes.SelectedText = "";
|
||||
this.txtUpdateDes.SelectionLength = 0;
|
||||
this.txtUpdateDes.SelectionStart = 0;
|
||||
this.txtUpdateDes.Size = new System.Drawing.Size(657, 164);
|
||||
this.txtUpdateDes.TabIndex = 30;
|
||||
this.txtUpdateDes.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
|
||||
this.txtUpdateDes.ToolTip = "";
|
||||
this.txtUpdateDes.WordWrap = true;
|
||||
//
|
||||
// label8
|
||||
//
|
||||
this.label8.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
|
@ -422,20 +362,6 @@ namespace LiveUpdate
|
|||
this.label7.TabIndex = 28;
|
||||
this.label7.Text = "软件更新描述:";
|
||||
//
|
||||
// cmbDbUpdateUrl
|
||||
//
|
||||
this.cmbDbUpdateUrl.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.cmbDbUpdateUrl.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
|
||||
this.cmbDbUpdateUrl.Enabled = false;
|
||||
this.cmbDbUpdateUrl.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.cmbDbUpdateUrl.FormattingEnabled = true;
|
||||
this.cmbDbUpdateUrl.Location = new System.Drawing.Point(9, 155);
|
||||
this.cmbDbUpdateUrl.MaxUndoRedoSteps = 50;
|
||||
this.cmbDbUpdateUrl.Name = "cmbDbUpdateUrl";
|
||||
this.cmbDbUpdateUrl.Size = new System.Drawing.Size(658, 22);
|
||||
this.cmbDbUpdateUrl.TabIndex = 27;
|
||||
//
|
||||
// label6
|
||||
//
|
||||
this.label6.AutoSize = true;
|
||||
|
@ -445,19 +371,6 @@ namespace LiveUpdate
|
|||
this.label6.TabIndex = 26;
|
||||
this.label6.Text = "数据库更新地址:";
|
||||
//
|
||||
// cmbProcUpdateUrl
|
||||
//
|
||||
this.cmbProcUpdateUrl.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.cmbProcUpdateUrl.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
|
||||
this.cmbProcUpdateUrl.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.cmbProcUpdateUrl.FormattingEnabled = true;
|
||||
this.cmbProcUpdateUrl.Location = new System.Drawing.Point(9, 117);
|
||||
this.cmbProcUpdateUrl.MaxUndoRedoSteps = 50;
|
||||
this.cmbProcUpdateUrl.Name = "cmbProcUpdateUrl";
|
||||
this.cmbProcUpdateUrl.Size = new System.Drawing.Size(658, 22);
|
||||
this.cmbProcUpdateUrl.TabIndex = 25;
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.AutoSize = true;
|
||||
|
@ -473,7 +386,7 @@ namespace LiveUpdate
|
|||
this.dtNewDataDate.Enabled = false;
|
||||
this.dtNewDataDate.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.dtNewDataDate.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
|
||||
this.dtNewDataDate.Location = new System.Drawing.Point(326, 72);
|
||||
this.dtNewDataDate.Location = new System.Drawing.Point(447, 71);
|
||||
this.dtNewDataDate.Name = "dtNewDataDate";
|
||||
this.dtNewDataDate.Size = new System.Drawing.Size(201, 26);
|
||||
this.dtNewDataDate.TabIndex = 23;
|
||||
|
@ -481,7 +394,7 @@ namespace LiveUpdate
|
|||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(324, 57);
|
||||
this.label4.Location = new System.Drawing.Point(445, 56);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(95, 12);
|
||||
this.label4.TabIndex = 22;
|
||||
|
@ -509,23 +422,10 @@ namespace LiveUpdate
|
|||
this.label3.TabIndex = 20;
|
||||
this.label3.Text = "最新软件日期:";
|
||||
//
|
||||
// cmbNewDbVer
|
||||
//
|
||||
this.cmbNewDbVer.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
|
||||
this.cmbNewDbVer.Enabled = false;
|
||||
this.cmbNewDbVer.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.cmbNewDbVer.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.cmbNewDbVer.FormattingEnabled = true;
|
||||
this.cmbNewDbVer.Location = new System.Drawing.Point(326, 25);
|
||||
this.cmbNewDbVer.MaxUndoRedoSteps = 50;
|
||||
this.cmbNewDbVer.Name = "cmbNewDbVer";
|
||||
this.cmbNewDbVer.Size = new System.Drawing.Size(122, 27);
|
||||
this.cmbNewDbVer.TabIndex = 19;
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(324, 8);
|
||||
this.label2.Location = new System.Drawing.Point(445, 7);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(95, 12);
|
||||
this.label2.TabIndex = 18;
|
||||
|
@ -563,35 +463,6 @@ namespace LiveUpdate
|
|||
this.tabPage2.TabIndex = 1;
|
||||
this.tabPage2.Text = "升级前后";
|
||||
//
|
||||
// txtDelFileList
|
||||
//
|
||||
this.txtDelFileList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtDelFileList.EmptyText = "";
|
||||
this.txtDelFileList.Font = new System.Drawing.Font("Courier New", 10F);
|
||||
this.txtDelFileList.Location = new System.Drawing.Point(10, 198);
|
||||
this.txtDelFileList.Name = "txtDelFileList";
|
||||
this.txtDelFileList.OnlyInputText = false;
|
||||
this.txtDelFileList.Size = new System.Drawing.Size(660, 233);
|
||||
this.txtDelFileList.TabIndex = 37;
|
||||
this.txtDelFileList.Text = "";
|
||||
this.txtDelFileList.WordWrap = true;
|
||||
//
|
||||
// txtKillProcList
|
||||
//
|
||||
this.txtKillProcList.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtKillProcList.EmptyText = "";
|
||||
this.txtKillProcList.Font = new System.Drawing.Font("Courier New", 10F);
|
||||
this.txtKillProcList.Location = new System.Drawing.Point(10, 22);
|
||||
this.txtKillProcList.Name = "txtKillProcList";
|
||||
this.txtKillProcList.OnlyInputText = false;
|
||||
this.txtKillProcList.Size = new System.Drawing.Size(660, 158);
|
||||
this.txtKillProcList.TabIndex = 36;
|
||||
this.txtKillProcList.Text = "";
|
||||
this.txtKillProcList.WordWrap = true;
|
||||
//
|
||||
// btnSelectUser
|
||||
//
|
||||
this.btnSelectUser.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
|
@ -651,73 +522,13 @@ namespace LiveUpdate
|
|||
this.label9.AutoSize = true;
|
||||
this.label9.Location = new System.Drawing.Point(8, 7);
|
||||
this.label9.Name = "label9";
|
||||
this.label9.Size = new System.Drawing.Size(149, 12);
|
||||
this.label9.Size = new System.Drawing.Size(467, 12);
|
||||
this.label9.TabIndex = 0;
|
||||
this.label9.Text = "升级前需要结束的进程列表";
|
||||
//
|
||||
// txtMainProcPram
|
||||
//
|
||||
this.txtMainProcPram.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtMainProcPram.BackColor = System.Drawing.Color.White;
|
||||
this.txtMainProcPram.EmptyText = "";
|
||||
this.txtMainProcPram.Location = new System.Drawing.Point(577, 450);
|
||||
this.txtMainProcPram.LongTime = 2000;
|
||||
this.txtMainProcPram.MaxLength = 999999999;
|
||||
this.txtMainProcPram.MaxUndoRedoSteps = 50;
|
||||
this.txtMainProcPram.Multiline = false;
|
||||
this.txtMainProcPram.Name = "txtMainProcPram";
|
||||
this.txtMainProcPram.OnlyNumeric = false;
|
||||
this.txtMainProcPram.PasswordChar = '\0';
|
||||
this.txtMainProcPram.ReadOnly = false;
|
||||
this.txtMainProcPram.SelectedText = "";
|
||||
this.txtMainProcPram.SelectionLength = 0;
|
||||
this.txtMainProcPram.SelectionStart = 0;
|
||||
this.txtMainProcPram.Size = new System.Drawing.Size(92, 21);
|
||||
this.txtMainProcPram.TabIndex = 9;
|
||||
this.txtMainProcPram.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
|
||||
this.txtMainProcPram.ToolTip = "";
|
||||
this.txtMainProcPram.WordWrap = true;
|
||||
//
|
||||
// txtMainProcName
|
||||
//
|
||||
this.txtMainProcName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtMainProcName.BackColor = System.Drawing.Color.White;
|
||||
this.txtMainProcName.EmptyText = "";
|
||||
this.txtMainProcName.Location = new System.Drawing.Point(10, 450);
|
||||
this.txtMainProcName.LongTime = 2000;
|
||||
this.txtMainProcName.MaxLength = 999999999;
|
||||
this.txtMainProcName.MaxUndoRedoSteps = 50;
|
||||
this.txtMainProcName.Multiline = false;
|
||||
this.txtMainProcName.Name = "txtMainProcName";
|
||||
this.txtMainProcName.OnlyNumeric = false;
|
||||
this.txtMainProcName.PasswordChar = '\0';
|
||||
this.txtMainProcName.ReadOnly = false;
|
||||
this.txtMainProcName.SelectedText = "";
|
||||
this.txtMainProcName.SelectionLength = 0;
|
||||
this.txtMainProcName.SelectionStart = 0;
|
||||
this.txtMainProcName.Size = new System.Drawing.Size(561, 21);
|
||||
this.txtMainProcName.TabIndex = 3;
|
||||
this.txtMainProcName.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
|
||||
this.txtMainProcName.ToolTip = "";
|
||||
this.txtMainProcName.WordWrap = true;
|
||||
//
|
||||
// txtUserList
|
||||
//
|
||||
this.txtUserList.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtUserList.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
|
||||
this.txtUserList.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.txtUserList.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.txtUserList.FormattingEnabled = true;
|
||||
this.txtUserList.Location = new System.Drawing.Point(9, 489);
|
||||
this.txtUserList.MaxUndoRedoSteps = 50;
|
||||
this.txtUserList.Name = "txtUserList";
|
||||
this.txtUserList.Size = new System.Drawing.Size(599, 24);
|
||||
this.txtUserList.TabIndex = 10;
|
||||
this.label9.Text = "升级前需要结束的进程列表(默认情况下,填不填写都会结束升级程序所在目录下的进程)";
|
||||
//
|
||||
// tabPage3
|
||||
//
|
||||
this.tabPage3.Controls.Add(this.BtnDefUpdateLog);
|
||||
this.tabPage3.Controls.Add(this.BtnPasteFromMD);
|
||||
this.tabPage3.Controls.Add(this.ChkUseHtml);
|
||||
this.tabPage3.Controls.Add(this.TxtUpdateDes_Html);
|
||||
|
@ -729,6 +540,17 @@ namespace LiveUpdate
|
|||
this.tabPage3.Text = "更新日志源码";
|
||||
this.tabPage3.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// BtnDefUpdateLog
|
||||
//
|
||||
this.BtnDefUpdateLog.Location = new System.Drawing.Point(217, 3);
|
||||
this.BtnDefUpdateLog.Name = "BtnDefUpdateLog";
|
||||
this.BtnDefUpdateLog.Size = new System.Drawing.Size(76, 30);
|
||||
this.BtnDefUpdateLog.TabIndex = 36;
|
||||
this.BtnDefUpdateLog.Text = "默认日志";
|
||||
this.toolTip1.SetToolTip(this.BtnDefUpdateLog, "只更新版本号和日期");
|
||||
this.BtnDefUpdateLog.UseVisualStyleBackColor = true;
|
||||
this.BtnDefUpdateLog.Click += new System.EventHandler(this.BtnDefUpdateLog_Click);
|
||||
//
|
||||
// BtnPasteFromMD
|
||||
//
|
||||
this.BtnPasteFromMD.Location = new System.Drawing.Point(135, 3);
|
||||
|
@ -750,21 +572,6 @@ namespace LiveUpdate
|
|||
this.ChkUseHtml.Text = "采用Html更新日志";
|
||||
this.ChkUseHtml.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// TxtUpdateDes_Html
|
||||
//
|
||||
this.TxtUpdateDes_Html.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.TxtUpdateDes_Html.EmptyText = "";
|
||||
this.TxtUpdateDes_Html.Font = new System.Drawing.Font("Courier New", 10F);
|
||||
this.TxtUpdateDes_Html.Location = new System.Drawing.Point(9, 35);
|
||||
this.TxtUpdateDes_Html.Name = "TxtUpdateDes_Html";
|
||||
this.TxtUpdateDes_Html.OnlyInputText = false;
|
||||
this.TxtUpdateDes_Html.Size = new System.Drawing.Size(660, 481);
|
||||
this.TxtUpdateDes_Html.TabIndex = 33;
|
||||
this.TxtUpdateDes_Html.Text = "";
|
||||
this.TxtUpdateDes_Html.WordWrap = true;
|
||||
//
|
||||
// tabPage4
|
||||
//
|
||||
this.tabPage4.Controls.Add(this.LblState);
|
||||
|
@ -862,6 +669,243 @@ namespace LiveUpdate
|
|||
this.OlvFileName.Text = "文件名";
|
||||
this.OlvFileName.Width = 150;
|
||||
//
|
||||
// CbbVersionType
|
||||
//
|
||||
this.CbbVersionType.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
|
||||
this.CbbVersionType.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.CbbVersionType.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.CbbVersionType.FormattingEnabled = true;
|
||||
this.CbbVersionType.Items.AddRange(new object[] {
|
||||
"正式版",
|
||||
"测试版",
|
||||
"内测版",
|
||||
"公测版"});
|
||||
this.CbbVersionType.Location = new System.Drawing.Point(319, 24);
|
||||
this.CbbVersionType.MaxUndoRedoSteps = 50;
|
||||
this.CbbVersionType.Name = "CbbVersionType";
|
||||
this.CbbVersionType.Size = new System.Drawing.Size(122, 27);
|
||||
this.CbbVersionType.TabIndex = 49;
|
||||
//
|
||||
// cmbNewVer
|
||||
//
|
||||
this.cmbNewVer.BackColor = System.Drawing.Color.White;
|
||||
this.cmbNewVer.EmptyText = "";
|
||||
this.cmbNewVer.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.cmbNewVer.Location = new System.Drawing.Point(9, 23);
|
||||
this.cmbNewVer.LongTime = 2000;
|
||||
this.cmbNewVer.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
||||
this.cmbNewVer.MaxLength = 999999999;
|
||||
this.cmbNewVer.MaxUndoRedoSteps = 50;
|
||||
this.cmbNewVer.Multiline = false;
|
||||
this.cmbNewVer.Name = "cmbNewVer";
|
||||
this.cmbNewVer.OnlyNumeric = false;
|
||||
this.cmbNewVer.PasswordChar = '\0';
|
||||
this.cmbNewVer.ReadOnly = false;
|
||||
this.cmbNewVer.SelectedText = "";
|
||||
this.cmbNewVer.SelectionLength = 0;
|
||||
this.cmbNewVer.SelectionStart = 0;
|
||||
this.cmbNewVer.Size = new System.Drawing.Size(223, 31);
|
||||
this.cmbNewVer.TabIndex = 47;
|
||||
this.cmbNewVer.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
|
||||
this.cmbNewVer.ToolTip = "";
|
||||
this.cmbNewVer.WordWrap = true;
|
||||
//
|
||||
// txtDbUpdateDes
|
||||
//
|
||||
this.txtDbUpdateDes.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtDbUpdateDes.BackColor = System.Drawing.Color.White;
|
||||
this.txtDbUpdateDes.EmptyText = "";
|
||||
this.txtDbUpdateDes.Enabled = false;
|
||||
this.txtDbUpdateDes.Location = new System.Drawing.Point(10, 380);
|
||||
this.txtDbUpdateDes.LongTime = 2000;
|
||||
this.txtDbUpdateDes.MaxLength = 999999999;
|
||||
this.txtDbUpdateDes.MaxUndoRedoSteps = 50;
|
||||
this.txtDbUpdateDes.Multiline = true;
|
||||
this.txtDbUpdateDes.Name = "txtDbUpdateDes";
|
||||
this.txtDbUpdateDes.OnlyNumeric = false;
|
||||
this.txtDbUpdateDes.PasswordChar = '\0';
|
||||
this.txtDbUpdateDes.ReadOnly = false;
|
||||
this.txtDbUpdateDes.SelectedText = "";
|
||||
this.txtDbUpdateDes.SelectionLength = 0;
|
||||
this.txtDbUpdateDes.SelectionStart = 0;
|
||||
this.txtDbUpdateDes.Size = new System.Drawing.Size(657, 133);
|
||||
this.txtDbUpdateDes.TabIndex = 31;
|
||||
this.txtDbUpdateDes.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
|
||||
this.txtDbUpdateDes.ToolTip = "";
|
||||
this.txtDbUpdateDes.WordWrap = true;
|
||||
//
|
||||
// txtUpdateDes
|
||||
//
|
||||
this.txtUpdateDes.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtUpdateDes.BackColor = System.Drawing.Color.White;
|
||||
this.txtUpdateDes.EmptyText = "";
|
||||
this.txtUpdateDes.Location = new System.Drawing.Point(10, 195);
|
||||
this.txtUpdateDes.LongTime = 2000;
|
||||
this.txtUpdateDes.MaxLength = 999999999;
|
||||
this.txtUpdateDes.MaxUndoRedoSteps = 50;
|
||||
this.txtUpdateDes.Multiline = true;
|
||||
this.txtUpdateDes.Name = "txtUpdateDes";
|
||||
this.txtUpdateDes.OnlyNumeric = false;
|
||||
this.txtUpdateDes.PasswordChar = '\0';
|
||||
this.txtUpdateDes.ReadOnly = false;
|
||||
this.txtUpdateDes.SelectedText = "";
|
||||
this.txtUpdateDes.SelectionLength = 0;
|
||||
this.txtUpdateDes.SelectionStart = 0;
|
||||
this.txtUpdateDes.Size = new System.Drawing.Size(657, 164);
|
||||
this.txtUpdateDes.TabIndex = 30;
|
||||
this.txtUpdateDes.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
|
||||
this.txtUpdateDes.ToolTip = "";
|
||||
this.txtUpdateDes.WordWrap = true;
|
||||
//
|
||||
// cmbDbUpdateUrl
|
||||
//
|
||||
this.cmbDbUpdateUrl.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.cmbDbUpdateUrl.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
|
||||
this.cmbDbUpdateUrl.Enabled = false;
|
||||
this.cmbDbUpdateUrl.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.cmbDbUpdateUrl.FormattingEnabled = true;
|
||||
this.cmbDbUpdateUrl.Location = new System.Drawing.Point(9, 155);
|
||||
this.cmbDbUpdateUrl.MaxUndoRedoSteps = 50;
|
||||
this.cmbDbUpdateUrl.Name = "cmbDbUpdateUrl";
|
||||
this.cmbDbUpdateUrl.Size = new System.Drawing.Size(658, 22);
|
||||
this.cmbDbUpdateUrl.TabIndex = 27;
|
||||
//
|
||||
// cmbProcUpdateUrl
|
||||
//
|
||||
this.cmbProcUpdateUrl.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.cmbProcUpdateUrl.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
|
||||
this.cmbProcUpdateUrl.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.cmbProcUpdateUrl.FormattingEnabled = true;
|
||||
this.cmbProcUpdateUrl.Location = new System.Drawing.Point(9, 117);
|
||||
this.cmbProcUpdateUrl.MaxUndoRedoSteps = 50;
|
||||
this.cmbProcUpdateUrl.Name = "cmbProcUpdateUrl";
|
||||
this.cmbProcUpdateUrl.Size = new System.Drawing.Size(658, 22);
|
||||
this.cmbProcUpdateUrl.TabIndex = 25;
|
||||
//
|
||||
// cmbNewDbVer
|
||||
//
|
||||
this.cmbNewDbVer.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
|
||||
this.cmbNewDbVer.Enabled = false;
|
||||
this.cmbNewDbVer.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.cmbNewDbVer.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.cmbNewDbVer.FormattingEnabled = true;
|
||||
this.cmbNewDbVer.Location = new System.Drawing.Point(447, 24);
|
||||
this.cmbNewDbVer.MaxUndoRedoSteps = 50;
|
||||
this.cmbNewDbVer.Name = "cmbNewDbVer";
|
||||
this.cmbNewDbVer.Size = new System.Drawing.Size(122, 27);
|
||||
this.cmbNewDbVer.TabIndex = 19;
|
||||
//
|
||||
// txtDelFileList
|
||||
//
|
||||
this.txtDelFileList.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtDelFileList.EmptyText = "";
|
||||
this.txtDelFileList.Font = new System.Drawing.Font("Courier New", 10F);
|
||||
this.txtDelFileList.Location = new System.Drawing.Point(10, 198);
|
||||
this.txtDelFileList.Name = "txtDelFileList";
|
||||
this.txtDelFileList.OnlyInputText = false;
|
||||
this.txtDelFileList.Size = new System.Drawing.Size(660, 233);
|
||||
this.txtDelFileList.TabIndex = 37;
|
||||
this.txtDelFileList.Text = "";
|
||||
this.txtDelFileList.WordWrap = true;
|
||||
//
|
||||
// txtKillProcList
|
||||
//
|
||||
this.txtKillProcList.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtKillProcList.EmptyText = "";
|
||||
this.txtKillProcList.Font = new System.Drawing.Font("Courier New", 10F);
|
||||
this.txtKillProcList.Location = new System.Drawing.Point(10, 25);
|
||||
this.txtKillProcList.Name = "txtKillProcList";
|
||||
this.txtKillProcList.OnlyInputText = false;
|
||||
this.txtKillProcList.Size = new System.Drawing.Size(660, 155);
|
||||
this.txtKillProcList.TabIndex = 36;
|
||||
this.txtKillProcList.Text = "";
|
||||
this.txtKillProcList.WordWrap = true;
|
||||
//
|
||||
// txtMainProcPram
|
||||
//
|
||||
this.txtMainProcPram.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtMainProcPram.BackColor = System.Drawing.Color.White;
|
||||
this.txtMainProcPram.EmptyText = "";
|
||||
this.txtMainProcPram.Location = new System.Drawing.Point(577, 450);
|
||||
this.txtMainProcPram.LongTime = 2000;
|
||||
this.txtMainProcPram.MaxLength = 999999999;
|
||||
this.txtMainProcPram.MaxUndoRedoSteps = 50;
|
||||
this.txtMainProcPram.Multiline = false;
|
||||
this.txtMainProcPram.Name = "txtMainProcPram";
|
||||
this.txtMainProcPram.OnlyNumeric = false;
|
||||
this.txtMainProcPram.PasswordChar = '\0';
|
||||
this.txtMainProcPram.ReadOnly = false;
|
||||
this.txtMainProcPram.SelectedText = "";
|
||||
this.txtMainProcPram.SelectionLength = 0;
|
||||
this.txtMainProcPram.SelectionStart = 0;
|
||||
this.txtMainProcPram.Size = new System.Drawing.Size(92, 21);
|
||||
this.txtMainProcPram.TabIndex = 9;
|
||||
this.txtMainProcPram.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
|
||||
this.txtMainProcPram.ToolTip = "";
|
||||
this.txtMainProcPram.WordWrap = true;
|
||||
//
|
||||
// txtMainProcName
|
||||
//
|
||||
this.txtMainProcName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtMainProcName.BackColor = System.Drawing.Color.White;
|
||||
this.txtMainProcName.EmptyText = "";
|
||||
this.txtMainProcName.Location = new System.Drawing.Point(10, 450);
|
||||
this.txtMainProcName.LongTime = 2000;
|
||||
this.txtMainProcName.MaxLength = 999999999;
|
||||
this.txtMainProcName.MaxUndoRedoSteps = 50;
|
||||
this.txtMainProcName.Multiline = false;
|
||||
this.txtMainProcName.Name = "txtMainProcName";
|
||||
this.txtMainProcName.OnlyNumeric = false;
|
||||
this.txtMainProcName.PasswordChar = '\0';
|
||||
this.txtMainProcName.ReadOnly = false;
|
||||
this.txtMainProcName.SelectedText = "";
|
||||
this.txtMainProcName.SelectionLength = 0;
|
||||
this.txtMainProcName.SelectionStart = 0;
|
||||
this.txtMainProcName.Size = new System.Drawing.Size(561, 21);
|
||||
this.txtMainProcName.TabIndex = 3;
|
||||
this.txtMainProcName.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
|
||||
this.txtMainProcName.ToolTip = "";
|
||||
this.txtMainProcName.WordWrap = true;
|
||||
//
|
||||
// txtUserList
|
||||
//
|
||||
this.txtUserList.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtUserList.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
|
||||
this.txtUserList.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.txtUserList.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.txtUserList.Font = new System.Drawing.Font("Courier New", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.txtUserList.FormattingEnabled = true;
|
||||
this.txtUserList.Location = new System.Drawing.Point(9, 489);
|
||||
this.txtUserList.MaxUndoRedoSteps = 50;
|
||||
this.txtUserList.Name = "txtUserList";
|
||||
this.txtUserList.Size = new System.Drawing.Size(599, 24);
|
||||
this.txtUserList.TabIndex = 10;
|
||||
//
|
||||
// TxtUpdateDes_Html
|
||||
//
|
||||
this.TxtUpdateDes_Html.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.TxtUpdateDes_Html.EmptyText = "";
|
||||
this.TxtUpdateDes_Html.Font = new System.Drawing.Font("Courier New", 10F);
|
||||
this.TxtUpdateDes_Html.Location = new System.Drawing.Point(9, 35);
|
||||
this.TxtUpdateDes_Html.Name = "TxtUpdateDes_Html";
|
||||
this.TxtUpdateDes_Html.OnlyInputText = false;
|
||||
this.TxtUpdateDes_Html.Size = new System.Drawing.Size(660, 481);
|
||||
this.TxtUpdateDes_Html.TabIndex = 33;
|
||||
this.TxtUpdateDes_Html.Text = "";
|
||||
this.TxtUpdateDes_Html.WordWrap = true;
|
||||
//
|
||||
// frmUpdateFile
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
|
@ -953,5 +997,8 @@ namespace LiveUpdate
|
|||
private ryControls.Controls.RichTextBox2 txtDelFileList;
|
||||
private ryControls.TextBoxEx2 cmbNewVer;
|
||||
private System.Windows.Forms.Button BtnPasteFromMD;
|
||||
private ryControls.RyComboBox CbbVersionType;
|
||||
private System.Windows.Forms.Label label10;
|
||||
private System.Windows.Forms.Button BtnDefUpdateLog;
|
||||
}
|
||||
}
|
|
@ -18,6 +18,7 @@ using WinAPI;
|
|||
using RyWeb;
|
||||
using System.IO.Compression;
|
||||
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace LiveUpdate
|
||||
{
|
||||
|
@ -96,6 +97,7 @@ namespace LiveUpdate
|
|||
var updatelogs_folder = UpdateFilesDir + "\\WebUpdateLogs";
|
||||
Json json= new Json(RyFiles.ReadAllText(filePath));
|
||||
cmbNewVer.Text = json.GetJsonValue("SoftVer", "");
|
||||
CbbVersionType.Text = json.GetJsonValue("VersionType", "");
|
||||
cmbNewDbVer.Text = json.GetJsonValue("DbVer", "");
|
||||
cmbProcUpdateUrl.Text = json.GetJsonValue("FileUpdateUrl", "");
|
||||
dtNewProcDate.Value = ConvertDateTime(json.GetJsonValue("SoftDate", ""), DateTime.Now);
|
||||
|
@ -184,6 +186,7 @@ namespace LiveUpdate
|
|||
JObject json = new JObject
|
||||
{
|
||||
["SoftVer"] = cmbNewVer.Text,
|
||||
["VersionType"] = CbbVersionType.Text,
|
||||
["DbVer"] = cmbNewDbVer.Text,
|
||||
["FileUpdateUrl"] = ProcUpdateUrl,
|
||||
["DbUpdateUrl"] = cmbDbUpdateUrl.Text,
|
||||
|
@ -236,7 +239,7 @@ namespace LiveUpdate
|
|||
{
|
||||
case DialogResult.Yes:
|
||||
QuickWeb web = new QuickWeb();
|
||||
web.Post("http://gs2.3h3.com:1881/process", "a=send&touser=" +web.UrlEncode(user.UserList.Replace(",",";")) + "&type="+ ryMessageConst.MsType.MustUpdate +
|
||||
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)));
|
||||
break;
|
||||
}
|
||||
|
@ -594,5 +597,10 @@ namespace LiveUpdate
|
|||
TxtUpdateDes_Html.SelectedText= txt.Trim();
|
||||
}
|
||||
}
|
||||
|
||||
private void BtnDefUpdateLog_Click(object sender, EventArgs e)
|
||||
{
|
||||
TxtUpdateDes_Html.Text ="<p>[改进]一些功能改进。</p>\r\n<p>[修复]修复了一些BUG。</p>";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -161,6 +161,7 @@ namespace ryCommon
|
|||
/// <returns></returns>
|
||||
static public int IndexOfEx(this string input, string value)
|
||||
{
|
||||
if (input == null) { return -1; }
|
||||
return input.IndexOf(value, StringComparison.OrdinalIgnoreCase);
|
||||
}
|
||||
/// <summary>
|
||||
|
|
|
@ -57,18 +57,22 @@ namespace ryCommon
|
|||
/// </summary>
|
||||
public event CancelEventHandler OnCanel;
|
||||
/// <summary>
|
||||
/// 是否跳过相同文件,默认不跳过(根据文件大小和修改时间来判断)
|
||||
/// </summary>
|
||||
public bool SkipSameFiles { get; set; } = false;
|
||||
/// <summary>
|
||||
/// 大文件按流复制文件,支持自动创建目标文件夹。 true:复制成功 false:复制失败
|
||||
/// </summary>
|
||||
/// <param name="soucrePath">原始文件路径</param>
|
||||
/// <param name="sourcePath">原始文件路径</param>
|
||||
/// <param name="targetPath">复制目标文件路径</param>
|
||||
/// <param name="Tag">携带的参数(可选)</param>
|
||||
/// <returns></returns>
|
||||
public bool CopyBigFile(string soucrePath, string targetPath,object Tag=null)
|
||||
public bool CopyBigFile(string sourcePath, string targetPath,object Tag=null)
|
||||
{
|
||||
if (OnCanelCopy != null)
|
||||
{
|
||||
CancelEventArgs e1 = new CancelEventArgs();
|
||||
OnCanelCopy?.Invoke(this, e1, soucrePath, targetPath);
|
||||
OnCanelCopy?.Invoke(this, e1, sourcePath, targetPath);
|
||||
if (e1.Cancel)
|
||||
{
|
||||
return true;
|
||||
|
@ -76,20 +80,33 @@ namespace ryCommon
|
|||
}
|
||||
try
|
||||
{
|
||||
if (!System.IO.File.Exists(soucrePath))
|
||||
if (!System.IO.File.Exists(sourcePath))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (System.IO.File.Exists(targetPath))
|
||||
if (SkipSameFiles)
|
||||
{
|
||||
if (RyFiles.DeleteFile(targetPath) != 0)
|
||||
if (System.IO.File.Exists(targetPath))
|
||||
{
|
||||
return false;
|
||||
try
|
||||
{
|
||||
var target_info = new System.IO.FileInfo(targetPath);
|
||||
var source_info = new System.IO.FileInfo(sourcePath);
|
||||
if (target_info.Length == source_info.Length && target_info.LastWriteTimeUtc == source_info.LastWriteTimeUtc)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
if (RyFiles.DeleteFile(targetPath) != 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
var TranSize = 1024 * 1024 * 2;//每次读取2M
|
||||
//读取复制文件流
|
||||
using (FileStream fsRead = new FileStream(soucrePath, FileMode.Open, FileAccess.Read))
|
||||
using (FileStream fsRead = new FileStream(sourcePath, FileMode.Open, FileAccess.Read))
|
||||
{
|
||||
RyFiles.CreateDirectory(System.IO.Path.GetDirectoryName(targetPath));
|
||||
OnFileProgress?.Invoke(0, fsRead.Length, 0,0, Tag);
|
||||
|
@ -151,7 +168,7 @@ namespace ryCommon
|
|||
return false;
|
||||
}
|
||||
}
|
||||
var from_dt = RyFiles.GetFileDate(soucrePath);
|
||||
var from_dt = RyFiles.GetFileDate(sourcePath);
|
||||
var file_dt = new sType.FileTime
|
||||
{
|
||||
LastWriteTime = from_dt.LastWriteTime,
|
||||
|
|
|
@ -77,40 +77,54 @@ namespace ryCommon
|
|||
bool isAdd = false;//是否有增加数据到hosts里
|
||||
for (int i = 0; i < rule_list.Count; i++)
|
||||
{
|
||||
if (rule_list[i].Comment.Length > 0) { continue; }
|
||||
var rule_item = rule_list[i];
|
||||
if (rule_item.Comment.Length > 0) { continue; }
|
||||
bool HaveRecord = false;
|
||||
for (int m = sys_list.Count - 1; m >= 0; m--) //去host文件里查找是否已含有该内容
|
||||
{
|
||||
if (sys_list[m].Comment.Length > 0) { continue; }
|
||||
if (rule_list[i].Domain.ToLower() == sys_list[m].Domain.ToLower())
|
||||
if (rule_item.Domain.ToLower() == sys_list[m].Domain.ToLower())
|
||||
{
|
||||
if (rule_list[i].IP.Length == 0 && rule_list[i].IsDel)
|
||||
if (rule_item.IsDel)
|
||||
{
|
||||
sys_list.RemoveAt(m);
|
||||
HaveRecord = true;
|
||||
if (rule_item.IP.Length == 0) //如果ip为空,则删除所有包含该域名的项
|
||||
{
|
||||
sys_list.RemoveAt(m);
|
||||
HaveRecord = true;
|
||||
}
|
||||
else if (rule_item.IP == sys_list[m].IP)
|
||||
{
|
||||
sys_list.RemoveAt(m);
|
||||
HaveRecord = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (rule_list[i].IP != sys_list[m].IP) //如果同样域名对应的ip不一样,则删除该项,然后再插入新的ip
|
||||
{
|
||||
sys_list.RemoveAt(m);
|
||||
HaveRecord = false;
|
||||
}
|
||||
else
|
||||
else if (rule_list[i].IP == sys_list[m].IP)
|
||||
{
|
||||
if (rule_list[i].IsDel) //如果ip和网址一致,并且标注为删除,则删除
|
||||
{
|
||||
sys_list.RemoveAt(m);
|
||||
}
|
||||
HaveRecord = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!HaveRecord)
|
||||
if (rule_list[i].IsDel)
|
||||
{
|
||||
isAdd = true;
|
||||
sys_list.Add(rule_list[i]);
|
||||
if (HaveRecord)
|
||||
{
|
||||
isAdd = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!HaveRecord)
|
||||
{
|
||||
isAdd = true;
|
||||
sys_list.Add(rule_list[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isAdd)
|
||||
|
@ -122,6 +136,7 @@ namespace ryCommon
|
|||
sys_content = "";
|
||||
for (int i = 0; i < sys_list.Count; i++)
|
||||
{
|
||||
if (sys_list[i].IsDel) { continue; }
|
||||
if (sys_content.Length > 0) { sys_content += "\r\n"; }
|
||||
if (sys_list[i].Comment.Length > 0)
|
||||
{
|
||||
|
|
|
@ -380,6 +380,36 @@ namespace ryCommon
|
|||
{
|
||||
return file_op.CopyFolder(fromDir, ToDir);
|
||||
}
|
||||
/// <summary>
|
||||
/// 复制或剪切文件列表到剪切板
|
||||
/// </summary>
|
||||
/// <param name="files"></param>
|
||||
/// <param name="cut"></param>
|
||||
public static void CopyOrCutFileToClipboard(string[] files,bool cut)
|
||||
{
|
||||
DataObject data = new DataObject(DataFormats.FileDrop, files);
|
||||
MemoryStream memo = new MemoryStream(4);
|
||||
memo = new MemoryStream(4); byte[] bytes = new byte[] { (byte)(cut ? 2 : 5), 0, 0, 0 };
|
||||
memo.Write(bytes, 0, bytes.Length);
|
||||
data.SetData("Preferred DropEffect", memo);
|
||||
Clipboard.SetDataObject(data);
|
||||
}
|
||||
/// <summary>
|
||||
/// 复制文件列表到剪切板
|
||||
/// </summary>
|
||||
/// <param name="files"></param>
|
||||
public static void CopyFileToClipboard(string[] files)
|
||||
{
|
||||
CopyOrCutFileToClipboard(files, false);
|
||||
}
|
||||
/// <summary>
|
||||
/// 剪切文件列表到剪切板
|
||||
/// </summary>
|
||||
/// <param name="files"></param>
|
||||
public static void CutFileToClipboard(string[] files)
|
||||
{
|
||||
CopyOrCutFileToClipboard(files, true);
|
||||
}
|
||||
#endregion 【复制文件操作】
|
||||
|
||||
#region 【重命名文件】
|
||||
|
|
|
@ -1053,13 +1053,13 @@ namespace ryCommon
|
|||
{
|
||||
//等宽,计算高
|
||||
size.Width = i.Width;
|
||||
size.Height = (i.Width / scale).ToInt();
|
||||
size.Height = Math.Truncate(i.Width / scale).ToInt();
|
||||
}
|
||||
else
|
||||
{
|
||||
//等高,计算宽
|
||||
size.Height = i.Height;
|
||||
size.Width = (i.Height * scale).ToInt();
|
||||
size.Width = Math.Truncate(i.Height * scale).ToInt();
|
||||
}
|
||||
//如果原图片和新图片的比例不同,先裁剪或填充后,再缩放
|
||||
using (System.Drawing.Image cropOrFill = i.CropOrFill(size.Width, size.Height, background, interpolationMode))
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using ryCommon.Pram;
|
||||
using ryControls;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
using System;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using ryCommon;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Xml.Linq;
|
||||
using static ryCommon.RyRegedit;
|
||||
|
@ -254,7 +256,10 @@ namespace ryCommonDb
|
|||
///
|
||||
/// </summary>
|
||||
public List<SQLIitem> List_calcparam { get; set; } = new List<SQLIitem>();
|
||||
|
||||
/// <summary>
|
||||
/// 是否将时间类型转为时间戳
|
||||
/// </summary>
|
||||
public bool DateToTimeStamp { get; set; } = true;
|
||||
/// <summary>
|
||||
/// 输出多条件搜索。
|
||||
/// </summary>
|
||||
|
@ -333,6 +338,17 @@ namespace ryCommonDb
|
|||
{
|
||||
tmpSQL += true_false?"true":"false";
|
||||
}
|
||||
else if (item.value is DateTime dt)
|
||||
{
|
||||
if (DateToTimeStamp)
|
||||
{
|
||||
tmpSQL += dt.ToInt64();
|
||||
}
|
||||
else
|
||||
{
|
||||
tmpSQL += RyWeb.WebDecode.UrlEncode(dt.ToString("yyyy-MM-dd HH:mm:ss"), System.Text.Encoding.UTF8);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
tmpSQL +=RyWeb.WebDecode.UrlEncode(item.value.ToString(), System.Text.Encoding.UTF8);
|
||||
|
@ -341,6 +357,55 @@ namespace ryCommonDb
|
|||
return tmpSQL;
|
||||
}
|
||||
/// <summary>
|
||||
/// 根据输入的内容,生成Json数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public JObject GetJsonData()
|
||||
{
|
||||
JObject jo = new JObject();
|
||||
for (int i = 0; i < List.Count; i++)
|
||||
{
|
||||
SQLIitem item = List[i];
|
||||
var name = item.Field.TrimStart('[').TrimEnd(']');
|
||||
if (item.value is long int1)
|
||||
{
|
||||
jo[name] = int1;
|
||||
}
|
||||
else if (item.value is int @int)
|
||||
{
|
||||
jo[name] = @int;
|
||||
}
|
||||
else if (item.value is decimal dec)
|
||||
{
|
||||
jo[name] = dec;
|
||||
}
|
||||
else if (item.value is double dou)
|
||||
{
|
||||
jo[name] = dou;
|
||||
}
|
||||
else if (item.value is bool true_false)
|
||||
{
|
||||
jo[name] = true_false;
|
||||
}
|
||||
else if (item.value is DateTime dt)
|
||||
{
|
||||
if (DateToTimeStamp)
|
||||
{
|
||||
jo[name] = dt.ToInt64();
|
||||
}
|
||||
else
|
||||
{
|
||||
jo[name] = dt;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
jo[name]= item.value.ToString();
|
||||
}
|
||||
}
|
||||
return jo;
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取插入SQL语句
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
|
|
|
@ -1,14 +1,22 @@
|
|||
//程序开发:lc_mtt
|
||||
//CSDN博客:http://lemony.cnblogs.com
|
||||
//个人主页:http://www.3lsoft.com
|
||||
//注:此代码禁止用于商业用途。有修改者发我一份,谢谢!
|
||||
//---------------- 开源世界,你我更进步 ----------------
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace WinShell {
|
||||
namespace WinShell
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public class API {
|
||||
#region API ¾É¤J
|
||||
public class API
|
||||
{
|
||||
#region API 导入
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
|
@ -104,17 +112,80 @@ namespace WinShell {
|
|||
IntPtr hwnd,
|
||||
IntPtr lptpm);
|
||||
|
||||
#endregion
|
||||
[DllImport("Shell32.Dll")]
|
||||
private static extern bool SHGetSpecialFolderPath(
|
||||
IntPtr hwndOwner,
|
||||
StringBuilder lpszPath,
|
||||
ShellSpecialFolders nFolder,
|
||||
bool fCreate);
|
||||
|
||||
#endregion
|
||||
/// <summary>
|
||||
///Shell
|
||||
/// 获得桌面 Shell
|
||||
/// </summary>
|
||||
public static IShellFolder GetDesktopFolder(/*out IntPtr ppshf*/) {
|
||||
IntPtr ppshf;
|
||||
public static IShellFolder GetDesktopFolder()
|
||||
{
|
||||
return GetDesktopFolder(out _);
|
||||
}
|
||||
/// <summary>
|
||||
/// 获得桌面 Shell
|
||||
/// </summary>
|
||||
public static IShellFolder GetDesktopFolder(out IntPtr ppshf)
|
||||
{
|
||||
SHGetDesktopFolder(out ppshf);
|
||||
Object obj = Marshal.GetObjectForIUnknown(ppshf);
|
||||
return (IShellFolder)obj;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取路径
|
||||
/// </summary>
|
||||
public static string GetPathByIShell(IShellFolder Root, IntPtr pidlSub)
|
||||
{
|
||||
IntPtr strr = Marshal.AllocCoTaskMem(MAX_PATH * 2 + 4);
|
||||
Marshal.WriteInt32(strr, 0, 0);
|
||||
StringBuilder buf = new StringBuilder(MAX_PATH);
|
||||
Root.GetDisplayNameOf(pidlSub, SHGNO.FORADDRESSBAR | SHGNO.FORPARSING, strr);
|
||||
API.StrRetToBuf(strr, pidlSub, buf, MAX_PATH);
|
||||
Marshal.FreeCoTaskMem(strr);
|
||||
return buf.ToString();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取显示名称
|
||||
/// </summary>
|
||||
public static string GetNameByIShell(IShellFolder Root, IntPtr pidlSub)
|
||||
{
|
||||
IntPtr strr = Marshal.AllocCoTaskMem(MAX_PATH * 2 + 4);
|
||||
Marshal.WriteInt32(strr, 0, 0);
|
||||
StringBuilder buf = new StringBuilder(MAX_PATH);
|
||||
Root.GetDisplayNameOf(pidlSub, SHGNO.INFOLDER, strr);
|
||||
API.StrRetToBuf(strr, pidlSub, buf, MAX_PATH);
|
||||
Marshal.FreeCoTaskMem(strr);
|
||||
return buf.ToString();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据 PIDL 获取显示名称
|
||||
/// </summary>
|
||||
public static string GetNameByPIDL(IntPtr pidl)
|
||||
{
|
||||
SHFILEINFO info = new SHFILEINFO();
|
||||
API.SHGetFileInfo(pidl, 0, ref info, Marshal.SizeOf(typeof(SHFILEINFO)),
|
||||
SHGFI.PIDL | SHGFI.DISPLAYNAME | SHGFI.TYPENAME);
|
||||
return info.szDisplayName;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取特殊文件夹的路径
|
||||
/// </summary>
|
||||
public static string GetSpecialFolderPath(IntPtr hwnd, ShellSpecialFolders nFolder)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder(MAX_PATH);
|
||||
SHGetSpecialFolderPath(hwnd, sb, nFolder, false);
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// ¸ù¾Ý·¾¶»ñÈ¡ IShellFolder ºÍ PIDL
|
||||
/// </summary>
|
||||
|
@ -126,30 +197,14 @@ namespace WinShell {
|
|||
desktop.BindToObject(Pidl, IntPtr.Zero, ref Guids.IID_IShellFolder, out IFolder);
|
||||
return IFolder;
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="Root"></param>
|
||||
/// <param name="pidlSub"></param>
|
||||
/// <returns></returns>
|
||||
public static string GetNameByIShell(IShellFolder Root, IntPtr pidlSub) {
|
||||
IntPtr strr = Marshal.AllocCoTaskMem(MAX_PATH * 2 + 4);
|
||||
Marshal.WriteInt32(strr, 0, 0);
|
||||
StringBuilder buf = new StringBuilder(MAX_PATH);
|
||||
Root.GetDisplayNameOf(pidlSub, SHGNO.INFOLDER, strr);
|
||||
API.StrRetToBuf(strr, pidlSub, buf, MAX_PATH);
|
||||
return buf.ToString();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// 根据路径获取 IShellFolder
|
||||
/// </summary>
|
||||
public static string GetNameByPIDL(IntPtr pidl) {
|
||||
SHFILEINFO info = new SHFILEINFO();
|
||||
API.SHGetFileInfo(pidl, 0, ref info, Marshal.SizeOf(typeof(SHFILEINFO)),
|
||||
SHGFI.PIDL | SHGFI.DISPLAYNAME | SHGFI.TYPENAME);
|
||||
return info.szDisplayName;
|
||||
public static IShellFolder GetShellFolder(IShellFolder desktop, string path)
|
||||
{
|
||||
IntPtr Pidl;
|
||||
return GetShellFolder(desktop, path, out Pidl);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@ using System.Runtime.InteropServices;
|
|||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
using RaUI.UI.LayeredForm;
|
||||
#pragma warning disable CS1591 // 缺少对公共可见类型或成员的 XML 注释
|
||||
namespace WinShell {
|
||||
|
||||
|
@ -172,11 +173,11 @@ namespace WinShell {
|
|||
{
|
||||
OnFetchFolder(this, name);
|
||||
IShellFolder IParent = Root;
|
||||
//桌面的真实路径的 PIDL
|
||||
//Root.BindToObject(pidlSub, IntPtr.Zero, ref Guids.IID_IShellFolder, out IParent);
|
||||
IntPtr PIDL = pidlSub;
|
||||
//存放 PIDL 的数组
|
||||
IntPtr[] pidls = new IntPtr[1];
|
||||
pidls[0] = PIDL;
|
||||
|
||||
IntPtr[] pidls = [PIDL];
|
||||
//得到 IContextMenu 接口
|
||||
IntPtr iContextMenuPtr = IntPtr.Zero;
|
||||
iContextMenuPtr = IParent.GetUIObjectOf(IntPtr.Zero, (uint)pidls.Length,
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
//程序开发:lc_mtt
|
||||
//CSDN博客:http://lemony.cnblogs.com
|
||||
//个人主页:http://www.3lsoft.com
|
||||
//注:此代码禁止用于商业用途。有修改者发我一份,谢谢!
|
||||
//---------------- 开源世界,你我更进步 ----------------
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
@ -208,4 +214,71 @@ namespace WinShell
|
|||
LAYOUTRTL = 0x8000
|
||||
}
|
||||
|
||||
[Flags()]
|
||||
public enum ShellSpecialFolders
|
||||
{
|
||||
DESKTOP = 0x0000, // <desktop>
|
||||
INTERNET = 0x0001,
|
||||
PROGRAMS = 0x0002, // Start Menu\Programs
|
||||
CONTROLS = 0x0003, // My Computer\Control Panel
|
||||
PRINTERS = 0x0004, // My Computer\Printers
|
||||
PERSONAL = 0x0005, // My Documents
|
||||
FAVORITES = 0x0006, // <user name>\Favorites
|
||||
STARTUP = 0x0007, // Start Menu\Programs\Startup
|
||||
RECENT = 0x0008, // <user name>\Recent
|
||||
SENDTO = 0x0009, // <user name>\SendTo
|
||||
BITBUCKET = 0x000a, // <desktop>\Recycle Bin
|
||||
STARTMENU = 0x000b, // <user name>\Start Menu
|
||||
MYDOCUMENTS = 0x000c, // logical "My Documents" desktop icon
|
||||
MYMUSIC = 0x000d, // "My Music" folder
|
||||
MYVIDEO = 0x000e, // "My Videos" folder
|
||||
DESKTOPDIRECTORY = 0x0010, // <user name>\Desktop
|
||||
DRIVES = 0x0011, // My Computer
|
||||
NETWORK = 0x0012, // Network Neighborhood (My Network Places)
|
||||
NETHOOD = 0x0013, // <user name>\nethood
|
||||
FONTS = 0x0014, // windows\fonts
|
||||
TEMPLATES = 0x0015,
|
||||
COMMON_STARTMENU = 0x0016, // All Users\Start Menu
|
||||
COMMON_PROGRAMS = 0X0017, // All Users\Start Menu\Programs
|
||||
COMMON_STARTUP = 0x0018, // All Users\Startup
|
||||
COMMON_DESKTOPDIRECTORY = 0x0019, // All Users\Desktop
|
||||
APPDATA = 0x001a, // <user name>\Application Data
|
||||
PRINTHOOD = 0x001b, // <user name>\PrintHood
|
||||
LOCAL_APPDATA = 0x001c, // <user name>\Local Settings\Applicaiton Data (non roaming)
|
||||
ALTSTARTUP = 0x001d, // non localized startup
|
||||
COMMON_ALTSTARTUP = 0x001e, // non localized common startup
|
||||
COMMON_FAVORITES = 0x001f,
|
||||
INTERNET_CACHE = 0x0020,
|
||||
COOKIES = 0x0021,
|
||||
HISTORY = 0x0022,
|
||||
COMMON_APPDATA = 0x0023, // All Users\Application Data
|
||||
WINDOWS = 0x0024, // GetWindowsDirectory()
|
||||
SYSTEM = 0x0025, // GetSystemDirectory()
|
||||
PROGRAM_FILES = 0x0026, // C:\Program Files
|
||||
MYPICTURES = 0x0027, // C:\Program Files\My Pictures
|
||||
PROFILE = 0x0028, // USERPROFILE
|
||||
SYSTEMX86 = 0x0029, // x86 system directory on RISC
|
||||
PROGRAM_FILESX86 = 0x002a, // x86 C:\Program Files on RISC
|
||||
PROGRAM_FILES_COMMON = 0x002b, // C:\Program Files\Common
|
||||
PROGRAM_FILES_COMMONX86 = 0x002c, // x86 Program Files\Common on RISC
|
||||
COMMON_TEMPLATES = 0x002d, // All Users\Templates
|
||||
COMMON_DOCUMENTS = 0x002e, // All Users\Documents
|
||||
COMMON_ADMINTOOLS = 0x002f, // All Users\Start Menu\Programs\Administrative Tools
|
||||
ADMINTOOLS = 0x0030, // <user name>\Start Menu\Programs\Administrative Tools
|
||||
CONNECTIONS = 0x0031, // Network and Dial-up Connections
|
||||
COMMON_MUSIC = 0x0035, // All Users\My Music
|
||||
COMMON_PICTURES = 0x0036, // All Users\My Pictures
|
||||
COMMON_VIDEO = 0x0037, // All Users\My Video
|
||||
RESOURCES = 0x0038, // Resource Direcotry
|
||||
RESOURCES_LOCALIZED = 0x0039, // Localized Resource Direcotry
|
||||
COMMON_OLINKS = 0x003a, // Links to All Users OEM specific apps
|
||||
CDBURN_AREA = 0x003b, // USERPROFILE\Local Settings\Application Data\Microsoft\CD Burning
|
||||
COMPUTERSNEARME = 0x003d, // Computers Near Me (computered from Workgroup membership)
|
||||
FLAG_CREATE = 0x8000, // combine with value to force folder creation in SHGetFolderPath()
|
||||
FLAG_DONT_VERIFY = 0x4000, // combine with value to return an unverified folder path
|
||||
FLAG_NO_ALIAS = 0x1000, // combine with value to insure non-alias versions of the pidl
|
||||
FLAG_PER_USER_INIT = 0x0800, // combine with value to indicate per-user init (eg. upgrade)
|
||||
FLAG_MASK = 0xFF00, // mask for all possible flag values
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -165,6 +165,7 @@ namespace ryCommon
|
|||
if(item == apk_icon) { list_icon.RemoveAt(i); }
|
||||
}
|
||||
}
|
||||
list_icon.Insert(0, apk_icon);
|
||||
if (list_icon.Count > 0) { apk_icon = list_icon[list_icon.Count - 1]; }
|
||||
Random rd = new Random(Guid.NewGuid().GetHashCode());
|
||||
string apkicon_savepath = Cache_Folder + "\\apkicon_" +rySafe.MD5Sha1.GetMD5(apk_file +"_"+ DateTime.Now.ToInt64()+"_"+ rd.Next(1,99999)) + ".png";
|
||||
|
|
|
@ -107,11 +107,11 @@ namespace SysFuns
|
|||
Keys m_Modifiers = Modifiers;
|
||||
if ((m_Modifiers & Keys.Alt) != 0)
|
||||
{ m_key |= 1; }
|
||||
else if ((m_Modifiers & Keys.Control) != 0)
|
||||
if ((m_Modifiers & Keys.Control) != 0)
|
||||
{ m_key |= 2; }
|
||||
else if ((m_Modifiers & Keys.Shift) != 0)
|
||||
if ((m_Modifiers & Keys.Shift) != 0)
|
||||
{ m_key |= 4; }
|
||||
else if ((m_Modifiers & Keys.LWin) != 0)
|
||||
if ((m_Modifiers & Keys.LWin) != 0)
|
||||
{ m_key |= 8; }
|
||||
this.Modifiers_Int = m_key;
|
||||
}
|
||||
|
@ -136,6 +136,37 @@ namespace SysFuns
|
|||
T_Modifiers = item[0].ToInt(0);
|
||||
T_Key = (Keys)item[1].ToInt(0);
|
||||
}
|
||||
else if (item.Length <= 4)
|
||||
{
|
||||
var modifiers = "+";
|
||||
for (int i = 0; i < item.Length - 1; i++)
|
||||
{
|
||||
modifiers += item[i] + "+";
|
||||
}
|
||||
var m_Modifiers = Keys.None;
|
||||
if (modifiers.IndexOfEx("+ctrl+") >= 0)
|
||||
{
|
||||
m_Modifiers |= Keys.Control;
|
||||
}
|
||||
if (modifiers.IndexOfEx("+alt+") >= 0)
|
||||
{
|
||||
m_Modifiers |= Keys.Alt;
|
||||
}
|
||||
if (modifiers.IndexOfEx("+shift+") >= 0)
|
||||
{
|
||||
m_Modifiers |= Keys.Shift;
|
||||
}
|
||||
if (modifiers.IndexOfEx("+win+") >= 0)
|
||||
{
|
||||
m_Modifiers |= Keys.LWin;
|
||||
}
|
||||
var keyString = item[item.Length - 1];
|
||||
if (Enum.TryParse(keyString, out Keys key))
|
||||
{
|
||||
LoadHotKey(m_Modifiers, key);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
|
|
@ -182,6 +182,17 @@ namespace SysFuns
|
|||
return result;
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="hotkey"></param>
|
||||
/// <returns></returns>
|
||||
public bool RegHotKey(int id, string hotkey)
|
||||
{
|
||||
HotkeyValue hotkeyValue =new HotkeyValue(hotkey);
|
||||
return RegHotKey(id, hotkeyValue.Modifiers_Int, hotkeyValue.KeyCode);
|
||||
}
|
||||
/// <summary>
|
||||
/// 注册热键
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
|
|
|
@ -427,14 +427,22 @@ namespace _SCREEN_CAPTURE
|
|||
/// <param name="e"></param>
|
||||
protected override void OnPaint(PaintEventArgs e) {
|
||||
Graphics g = e.Graphics;
|
||||
if (this.baseImage != null) {
|
||||
g.DrawImage(m_bmpDark, 0, 0);
|
||||
g.DrawImage(this.baseImage, this.selectedRectangle, this.selectedRectangle, GraphicsUnit.Pixel);
|
||||
try
|
||||
{
|
||||
if (this.baseImage != null)
|
||||
{
|
||||
if (!this.IsDisposed)
|
||||
{
|
||||
g.DrawImage(m_bmpDark, 0, 0);
|
||||
g.DrawImage(this.baseImage, this.selectedRectangle, this.selectedRectangle, GraphicsUnit.Pixel);
|
||||
}
|
||||
}
|
||||
this.DrawOperationBox(g);
|
||||
if (this.baseImage != null && !isDrawed && !isMoving && m_bMouseEnter && isShowInfo)
|
||||
DrawInfo(e.Graphics);
|
||||
base.OnPaint(e);
|
||||
}
|
||||
this.DrawOperationBox(g);
|
||||
if (this.baseImage != null && !isDrawed && !isMoving && m_bMouseEnter && isShowInfo)
|
||||
DrawInfo(e.Graphics);
|
||||
base.OnPaint(e);
|
||||
catch { }
|
||||
}
|
||||
/// <summary>
|
||||
/// 绘制操作框
|
||||
|
|
|
@ -24,6 +24,10 @@ namespace LiveUpdate
|
|||
/// </summary>
|
||||
public string UpdateVer;//版本
|
||||
/// <summary>
|
||||
/// 版本类型
|
||||
/// </summary>
|
||||
public string VersionType;//版本类型
|
||||
/// <summary>
|
||||
/// 更新日期
|
||||
/// </summary>
|
||||
public string UpdateDate;//更新日期
|
||||
|
|
|
@ -295,12 +295,12 @@ namespace LiveUpdate
|
|||
SoftUpdateDesUrl = jo.GetJsonValue("SoftUpdateDesUrl", "");
|
||||
//数据库更新描述
|
||||
DbUpdateDes = jo.GetJsonValue("DbUpdateDes", "");
|
||||
|
||||
|
||||
//激发事件
|
||||
OnReadComplete_T();
|
||||
//更新标志,1表示软件更新,2表示数据库更新
|
||||
int UpdateMarket = 0;//更新标志
|
||||
UpdateInfo myUpdate=new UpdateInfo();
|
||||
UpdateInfo myUpdate = new UpdateInfo();
|
||||
myUpdate.UpdateDate = "";
|
||||
myUpdate.UpdateDes = "";
|
||||
myUpdate.UpdateDes_Url = "";
|
||||
|
@ -308,17 +308,17 @@ namespace LiveUpdate
|
|||
myUpdate.UpdateType = "";
|
||||
myUpdate.UpdateUrl = "";
|
||||
var m_UpdateUserList = jo.GetJsonValue("UpdateUserList", "");
|
||||
if(m_UpdateUserList.Length>0)
|
||||
if (m_UpdateUserList.Length > 0)
|
||||
{
|
||||
m_UpdateUserList = "|" + m_UpdateUserList.Replace(";", "|") + "|";
|
||||
}
|
||||
if (RySoft.CompareVer(MySoftVer, MySoftRVer, SoftVer, ReVer) == 1)
|
||||
{
|
||||
var ConfigUrl= jo.GetJsonValue("ConfigUrl", "");
|
||||
if(ConfigUrl.Length>0)
|
||||
var ConfigUrl = jo.GetJsonValue("ConfigUrl", "");
|
||||
if (ConfigUrl.Length > 0)
|
||||
{
|
||||
var http_config = web.Get(ConfigUrl);
|
||||
if(http_config.StatusCode== HttpStatusCode.OK)
|
||||
if (http_config.StatusCode == HttpStatusCode.OK)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -328,7 +328,7 @@ namespace LiveUpdate
|
|||
//在下载升级包前首先要下载的内容
|
||||
myUpdate.FirstDownList = jo_config.GetJsonValue("FirstDownList", "");
|
||||
Storage storage = new Storage();
|
||||
storage.AddNode2("id","MainProcName");
|
||||
storage.AddNode2("id", "MainProcName");
|
||||
storage.SetAttrValue("Value", jo_config.GetJsonValue("MainProcName", ""));
|
||||
storage.AddNode2("id", "MainProcPram");
|
||||
storage.SetAttrValue("Value", jo_config.GetJsonValue("MainProcPram", ""));
|
||||
|
@ -345,6 +345,7 @@ namespace LiveUpdate
|
|||
myUpdate.UpdateDate = SoftDate;
|
||||
myUpdate.UpdateDes = SoftUpdateDes;
|
||||
myUpdate.UpdateVer = SoftVersion;
|
||||
myUpdate.VersionType = jo.GetJsonValue("VersionType", "");
|
||||
myUpdate.UpdateType = "soft";
|
||||
myUpdate.UpdateDes_Url = SoftUpdateDesUrl;
|
||||
if (FileVerUpdateUrl.Length > 0)
|
||||
|
@ -404,7 +405,8 @@ namespace LiveUpdate
|
|||
OnNoUpdate_T();
|
||||
}
|
||||
}
|
||||
catch {
|
||||
catch
|
||||
{
|
||||
UpdateError.ErrorId = 2;
|
||||
UpdateError.ErrorStr = "更新错误,读取远程文件失败";
|
||||
OnHappenError_T(UpdateError);
|
||||
|
@ -412,6 +414,12 @@ namespace LiveUpdate
|
|||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
UpdateError.ErrorId = 3;
|
||||
UpdateError.ErrorStr = "更新错误,读取远程文件失败2";
|
||||
OnHappenError_T(UpdateError);
|
||||
OnNoUpdate_T();
|
||||
}
|
||||
}
|
||||
Thread threadDown;
|
||||
/// <summary>
|
||||
|
|
|
@ -92,7 +92,7 @@ namespace LiveUpdate
|
|||
Capion = "发现更新的数据库,升级到最新版数据库,可以获取更全的显示内容。";
|
||||
}
|
||||
UpdateDate = ConvertDateStr(e.UpdateDate, "未知");
|
||||
UpdateVer = e.UpdateVer;
|
||||
UpdateVer = e.UpdateVer+(e.VersionType.Length==0?"":" "+e.VersionType);
|
||||
if (e.UpdateDes_Url != "" && e.UpdateDes_Url.IndexOf("http", StringComparison.OrdinalIgnoreCase) == 0)
|
||||
{
|
||||
extendedWebBrowser1.Visible = true;
|
||||
|
|
|
@ -33,5 +33,5 @@ using System.Runtime.InteropServices;
|
|||
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
|
||||
//通过使用 "*",如下所示:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("4.0.2506.2701")]
|
||||
[assembly: AssemblyFileVersion("4.0.2506.2701")]
|
||||
[assembly: AssemblyVersion("4.0.2508.1601")]
|
||||
[assembly: AssemblyFileVersion("4.0.2508.1601")]
|
|
@ -1,6 +1,9 @@
|
|||
<?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>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
|
||||
<EnableUnmanagedDebugging>true</EnableUnmanagedDebugging>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -401,7 +401,9 @@ namespace ryControls
|
|||
{
|
||||
imageRect = Rectangle.Empty;
|
||||
textRect = Rectangle.Empty;
|
||||
SizeF textSize = g.MeasureString(Text, Font);
|
||||
var DD= GetTextFormatFlags(TextAlign, RightToLeft == RightToLeft.Yes);
|
||||
SizeF textSize = TextRenderer.MeasureText(g, Text, Font, this.Size, DD);
|
||||
//SizeF textSize =ControlPaint. g.MeasureString(Text, Font);
|
||||
if (Image == null)
|
||||
{
|
||||
switch (TextAlign)
|
||||
|
|
|
@ -118,23 +118,15 @@ namespace ryControls
|
|||
toolTip1.SetToolTip(BtnPopup, value);
|
||||
}
|
||||
}
|
||||
private Font _font = new Font("宋体",9);
|
||||
/// <summary>
|
||||
/// 字体
|
||||
///
|
||||
/// </summary>
|
||||
public override Font Font
|
||||
/// <param name="e"></param>
|
||||
protected override void OnFontChanged(EventArgs e)
|
||||
{
|
||||
get
|
||||
{
|
||||
return _font;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
_font = value;
|
||||
txtSearch.Font = value;
|
||||
BtnPopup.Font = value;
|
||||
}
|
||||
txtSearch.Font = base.Font;
|
||||
BtnPopup.Font = base.Font;
|
||||
base.OnFontChanged(e);
|
||||
}
|
||||
private bool _UseDefSkin = true;
|
||||
/// <summary>
|
||||
|
@ -335,7 +327,9 @@ namespace ryControls
|
|||
}
|
||||
txtSearch.Focus();
|
||||
subForm = new FrmComboBoxPopup();
|
||||
if(MaxPopupWidth>0)
|
||||
subForm.Font = this.Font;
|
||||
//subForm.ListBox.
|
||||
if (MaxPopupWidth>0)
|
||||
{
|
||||
subForm.Width= MaxPopupWidth;
|
||||
}
|
||||
|
@ -568,6 +562,14 @@ namespace ryControls
|
|||
/// </summary>
|
||||
public string ValueStr1 { get; set; } = "";
|
||||
/// <summary>
|
||||
/// int值1
|
||||
/// </summary>
|
||||
public int ValueInt1 { get; set; } = 0;
|
||||
/// <summary>
|
||||
/// long值1
|
||||
/// </summary>
|
||||
public long ValueLong1 { get; set; } = 0;
|
||||
/// <summary>
|
||||
/// Tag
|
||||
/// </summary>
|
||||
public object Tag { get; set; } =null;
|
||||
|
|
|
@ -32,11 +32,14 @@
|
|||
//
|
||||
// FrmComboBoxPopup
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(464, 426);
|
||||
this.ClientSize = new System.Drawing.Size(541, 497);
|
||||
this.Font = new System.Drawing.Font("Consolas", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
|
||||
this.Name = "FrmComboBoxPopup";
|
||||
this.ShowIcon = false;
|
||||
this.Load += new System.EventHandler(this.FrmComboBoxPopup_Load);
|
||||
this.PreviewKeyDown += new System.Windows.Forms.PreviewKeyDownEventHandler(this.FrmComboBoxPopup_PreviewKeyDown);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ namespace RaUI.UI.Controls.ComboBox
|
|||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
internal ListBoxEx ListBox=new ListBoxEx();
|
||||
public ListBoxEx ListBox=new();
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
|
@ -45,6 +45,7 @@ namespace RaUI.UI.Controls.ComboBox
|
|||
InitializeComponent();
|
||||
//RyForm.SetChildStyle(this);
|
||||
//this.Selectable = false;
|
||||
ListBox.Font = this.Font;
|
||||
ListBox.ItemHeight = 30;
|
||||
ListBox.Parent = this;
|
||||
ListBox.Dock = DockStyle.Fill;
|
||||
|
@ -117,5 +118,10 @@ namespace RaUI.UI.Controls.ComboBox
|
|||
{
|
||||
|
||||
}
|
||||
|
||||
private void FrmComboBoxPopup_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@ using System.Drawing;
|
|||
using System.Windows.Forms;
|
||||
using ryControls;
|
||||
using System.Globalization;
|
||||
using System.Drawing.Drawing2D;
|
||||
|
||||
namespace ryControls
|
||||
{
|
||||
|
@ -16,10 +17,14 @@ namespace ryControls
|
|||
{
|
||||
private List<UndoRedoInfo> mUndoList = new List<UndoRedoInfo>();
|
||||
private Stack<UndoRedoInfo> mRedoStack = new Stack<UndoRedoInfo>();
|
||||
private bool mIsUndo = false;
|
||||
private UndoRedoInfo mLastInfo = new UndoRedoInfo("", 0);
|
||||
private System.ComponentModel.IContainer components;
|
||||
private int mMaxUndoRedoSteps = 50;
|
||||
//导入API函数
|
||||
[System.Runtime.InteropServices.DllImport("user32.dll ")]
|
||||
static extern IntPtr GetWindowDC(IntPtr hWnd);//返回hWnd参数所指定的窗口的设备环境。
|
||||
|
||||
[System.Runtime.InteropServices.DllImport("user32.dll ")]
|
||||
static extern int ReleaseDC(IntPtr hWnd, IntPtr hDC); //函数释放设备上下文环境(DC)
|
||||
private class UndoRedoInfo
|
||||
{
|
||||
public UndoRedoInfo(string text, int cursorLoc)
|
||||
|
@ -67,7 +72,6 @@ namespace ryControls
|
|||
{
|
||||
if (!CanUndo)
|
||||
return;
|
||||
mIsUndo = true;
|
||||
mRedoStack.Push(new UndoRedoInfo(Text, SelectionStart));
|
||||
UndoRedoInfo info = (UndoRedoInfo)mUndoList[0];
|
||||
mUndoList.RemoveAt(0);
|
||||
|
@ -75,7 +79,6 @@ namespace ryControls
|
|||
SelectionStart = info.CursorLocation;
|
||||
//txtInfo.ScrollToCaret();
|
||||
mLastInfo = info;
|
||||
mIsUndo = false;
|
||||
}
|
||||
/// <summary>
|
||||
/// 重复操作
|
||||
|
@ -84,14 +87,12 @@ namespace ryControls
|
|||
{
|
||||
if (!CanRedo)
|
||||
return;
|
||||
mIsUndo = true;
|
||||
mUndoList.Insert(0, new UndoRedoInfo(Text, SelectionStart));
|
||||
LimitUndo();
|
||||
UndoRedoInfo info = (UndoRedoInfo)mRedoStack.Pop();
|
||||
Text = info.Text;
|
||||
SelectionStart = info.CursorLocation;
|
||||
//this.ScrollToCaret();
|
||||
mIsUndo = false;
|
||||
}
|
||||
private void LimitUndo()
|
||||
{
|
||||
|
@ -109,36 +110,66 @@ namespace ryControls
|
|||
base.DoubleBuffered = true;
|
||||
base.FlatStyle = FlatStyle.Flat;
|
||||
base.DrawMode = DrawMode.OwnerDrawFixed;
|
||||
|
||||
base.DrawItem += new DrawItemEventHandler(delegate (object sender, DrawItemEventArgs e)
|
||||
{
|
||||
if (e.Index < 0)
|
||||
if (e.Index < 0) { return; }
|
||||
//鼠标选中在这个项上
|
||||
if ((e.State & DrawItemState.Selected) != 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
//StringFormat stringFormat = new StringFormat
|
||||
//{
|
||||
// LineAlignment = StringAlignment.Center
|
||||
//};
|
||||
e.DrawBackground();
|
||||
e.DrawFocusRectangle();
|
||||
if (base.Items[e.Index] is ComboPopupItem item)
|
||||
{
|
||||
var r = e.Bounds;
|
||||
if (item.Image != null)
|
||||
{
|
||||
int width = item.Image.Width * 20 / item.Image.Height;
|
||||
e.Graphics.DrawImage(item.Image, r.X + 2, r.Y + (r.Height - 20) / 2, width, 20);
|
||||
//e.Graphics.DrawImage(engine.Icon,e.Bounds.Location);
|
||||
r.Offset(width+2, 0);
|
||||
}
|
||||
e.Graphics.DrawString(item.Text, e.Font, new SolidBrush(e.ForeColor), r, StringFormat.GenericDefault);
|
||||
//渐变画刷
|
||||
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);
|
||||
|
||||
e.Graphics.FillRectangle(brush, borderRect);
|
||||
//画边框
|
||||
Pen pen = new Pen(Color.FromArgb(229, 195, 101));
|
||||
e.Graphics.DrawRectangle(pen, borderRect);
|
||||
}
|
||||
else
|
||||
{
|
||||
SizeF size = e.Graphics.MeasureString(base.Items[e.Index].ToString(), e.Font);
|
||||
float kk = e.Bounds.Y + (e.Bounds.Height - (int)size.Height);
|
||||
e.Graphics.DrawString(base.Items[e.Index].ToString(), e.Font, new SolidBrush(e.ForeColor), e.Bounds.X, kk);
|
||||
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);
|
||||
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);
|
||||
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);
|
||||
break;
|
||||
}
|
||||
//获得项文本内容,绘制文本
|
||||
string itemText = this.Items[e.Index].ToString();
|
||||
|
||||
//文本格式垂直居中
|
||||
StringFormat strFormat = new StringFormat()
|
||||
{
|
||||
LineAlignment = StringAlignment.Center
|
||||
};
|
||||
e.Graphics.DrawString(itemText, new Font("微软雅黑", 11), Brushes.Black, textRect, strFormat);
|
||||
});
|
||||
|
||||
}
|
||||
|
@ -148,17 +179,26 @@ namespace ryControls
|
|||
/// <param name="m">消息</param>
|
||||
protected override void WndProc(ref Message m)
|
||||
{
|
||||
base.WndProc(ref m);
|
||||
if (m.Msg == 0xf || m.Msg == 0x133)
|
||||
{
|
||||
ryControls.SkinHelp.ResetBorderColor(m, this, 1, Color.FromArgb(213, 216, 223));
|
||||
}
|
||||
base.WndProc(ref m);
|
||||
}
|
||||
IntPtr hDC = GetWindowDC(m.HWnd);
|
||||
if (hDC.ToInt32() == 0) //如果取设备上下文失败则返回
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.SuspendLayout();
|
||||
this.ResumeLayout(false);
|
||||
//建立Graphics对像
|
||||
Graphics g = Graphics.FromHdc(hDC);
|
||||
//画边框的
|
||||
ControlPaint.DrawBorder(g, new Rectangle(0, 0, Width, Height), SkinHelp.DefalutBorderColor, ButtonBorderStyle.Solid);
|
||||
//画坚线
|
||||
//ControlPaint.DrawBorder(g, new Rectangle(Width - Height, 0, Height, Height), Color.Red, ButtonBorderStyle.Solid);
|
||||
//g.DrawLine(new Pen(Brushes.Blue, 2), new PointF(this.Width - this.Height, 0), new PointF(this.Width - this.Height, this.Height));
|
||||
//释放DC
|
||||
ReleaseDC(m.HWnd, hDC);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -28,46 +28,18 @@
|
|||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.BtnClear = new System.Windows.Forms.Button();
|
||||
this.TxtHotKey = new System.Windows.Forms.TextBox();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// BtnClear
|
||||
// HotkeyTextBox
|
||||
//
|
||||
this.BtnClear.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.BtnClear.Location = new System.Drawing.Point(245, 0);
|
||||
this.BtnClear.Name = "BtnClear";
|
||||
this.BtnClear.Size = new System.Drawing.Size(43, 35);
|
||||
this.BtnClear.TabIndex = 1;
|
||||
this.BtnClear.Text = "X";
|
||||
this.BtnClear.UseVisualStyleBackColor = true;
|
||||
this.BtnClear.Click += new System.EventHandler(this.BtnClear_Click);
|
||||
//
|
||||
// TxtHotKey
|
||||
//
|
||||
this.TxtHotKey.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.TxtHotKey.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.TxtHotKey.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.TxtHotKey.Location = new System.Drawing.Point(3, 8);
|
||||
this.TxtHotKey.Name = "TxtHotKey";
|
||||
this.TxtHotKey.Size = new System.Drawing.Size(236, 19);
|
||||
this.TxtHotKey.TabIndex = 2;
|
||||
//
|
||||
// ctlHotkey
|
||||
//
|
||||
this.Controls.Add(this.TxtHotKey);
|
||||
this.Controls.Add(this.BtnClear);
|
||||
this.Name = "ctlHotkey";
|
||||
this.DoubleBuffered = true;
|
||||
this.Name = "HotkeyTextBox";
|
||||
this.Size = new System.Drawing.Size(288, 35);
|
||||
this.Paint += new System.Windows.Forms.PaintEventHandler(this.CtlHotkey_Paint);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
private System.Windows.Forms.Button BtnClear;
|
||||
private System.Windows.Forms.TextBox TxtHotKey;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,15 +26,160 @@ namespace ryControls
|
|||
InitializeComponent();
|
||||
//定义KeyPress事件
|
||||
//base.KeyPress += delegate(object sender, KeyPressEventArgs e) { e.Handled = true; };
|
||||
TxtHotKey.ReadOnly = true;
|
||||
TxtHotKey.BackColor = Color.White;
|
||||
TxtHotKey.KeyDown += TxtHotKey_KeyDown;
|
||||
TxtHotKey.KeyUp += TxtHotKey_KeyUp;
|
||||
TxtHotKey.Top = (Height - TxtHotKey.Height) / 2;
|
||||
//Application.AddMessageFilter(this);
|
||||
base.BackColor = Color.White;
|
||||
}
|
||||
/// <summary>
|
||||
/// 清除按钮位置
|
||||
/// </summary>
|
||||
public Rectangle ClearBtnRect
|
||||
{
|
||||
get
|
||||
{
|
||||
return new Rectangle(this.Width - this.Height-1, 1, Height-1, Height-2);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 热键文本位置
|
||||
/// </summary>
|
||||
public Rectangle HotKeyTextRect
|
||||
{
|
||||
get
|
||||
{
|
||||
return new Rectangle(0, 0, this.Width -this.Height-2, Height);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="e"></param>
|
||||
protected override void OnMouseDown(MouseEventArgs e)
|
||||
{
|
||||
if(ClearBtnRect.Contains(e.Location))
|
||||
{
|
||||
m_Modifiers = Keys.None;
|
||||
m_Key = Keys.None;
|
||||
UpdateText();
|
||||
}
|
||||
base.OnMouseDown(e);
|
||||
}
|
||||
private ControlState _controlState;//控件状态
|
||||
internal ControlState ControlState //控件的状态
|
||||
{
|
||||
get { return _controlState; }
|
||||
set
|
||||
{
|
||||
if (_controlState != value)
|
||||
{
|
||||
_controlState = value;
|
||||
base.Invalidate();
|
||||
}
|
||||
}
|
||||
}
|
||||
private ControlState _ClearBtnState;//控件状态
|
||||
internal ControlState ClearBtnState //控件的状态
|
||||
{
|
||||
get { return _ClearBtnState; }
|
||||
set
|
||||
{
|
||||
if (_ClearBtnState != value)
|
||||
{
|
||||
_ClearBtnState = value;
|
||||
base.Invalidate();
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="e"></param>
|
||||
protected override void OnMouseUp(MouseEventArgs e)
|
||||
{
|
||||
base.OnMouseUp(e);
|
||||
if (e.Button == MouseButtons.Left && e.Clicks == 1)
|
||||
{
|
||||
if (ClientRectangle.Contains(e.Location))//控件区域包含鼠标的位置
|
||||
{
|
||||
ControlState = ControlState.Hover;
|
||||
}
|
||||
else
|
||||
{
|
||||
ControlState = ControlState.Normal;
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="e"></param>
|
||||
protected override void OnMouseLeave(EventArgs e)
|
||||
{
|
||||
ControlState = ControlState.Normal;
|
||||
ClearBtnState= ControlState.Normal;
|
||||
base.OnMouseLeave(e);
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="e"></param>
|
||||
protected override void OnLostFocus(EventArgs e)
|
||||
{
|
||||
ControlState = ControlState.Normal;
|
||||
ClearBtnState = ControlState.Normal;
|
||||
base.OnLostFocus(e);
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="e"></param>
|
||||
protected override void OnMouseMove(MouseEventArgs e)
|
||||
{
|
||||
if(ClearBtnRect.Contains(e.Location))
|
||||
{
|
||||
if (ClearBtnState != ControlState.Hover)
|
||||
{
|
||||
ClearBtnState = ControlState.Hover;
|
||||
this.Invalidate();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (ClearBtnState == ControlState.Hover)
|
||||
{
|
||||
ClearBtnState = ControlState.Normal;
|
||||
this.Invalidate();
|
||||
}
|
||||
}
|
||||
base.OnMouseMove(e);
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="e"></param>
|
||||
protected override void OnPaint(PaintEventArgs e)
|
||||
{
|
||||
e.Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;
|
||||
e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
|
||||
e.Graphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
|
||||
e.Graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
|
||||
StringFormat sf = new StringFormat();
|
||||
sf.Trimming = StringTrimming.EllipsisCharacter;
|
||||
sf.FormatFlags = StringFormatFlags.NoWrap;
|
||||
sf.LineAlignment = StringAlignment.Center;
|
||||
sf.Alignment = StringAlignment.Center;
|
||||
Pen pen = new Pen(new SolidBrush(ClearBtnState== ControlState.Hover ? Color.FromArgb(43, 141, 225) : ForeColor), 1);
|
||||
//var offset =this.Height/4;
|
||||
//var btn_rect= ClearBtnRect;
|
||||
e.Graphics.DrawPath(pen,MGdu.WinFormUI.MyGraphics.GraphicsPathHelper.CreateCloseFlagPath(ClearBtnRect));
|
||||
//e.Graphics.DrawLine(pen, btn_rect.Left+ offset, btn_rect.Top+ offset, btn_rect.Right- offset, btn_rect.Bottom- offset);
|
||||
//e.Graphics.DrawLine(pen, btn_rect.Right- offset, btn_rect.Top+ offset, btn_rect.Left+offset, btn_rect.Bottom- offset);
|
||||
pen.Dispose();
|
||||
//e.Graphics.DrawString("X", MouseInClearBtn?new Font(Font.FontFamily,Font.Size+2, FontStyle.Bold): Font, new SolidBrush(MouseInClearBtn?Color.Blue: ForeColor), ClearBtnRect, sf);
|
||||
sf.Alignment = StringAlignment.Near;
|
||||
e.Graphics.DrawString(" "+tmpText, Font,new SolidBrush(ForeColor), HotKeyTextRect, sf);
|
||||
ControlPaint.DrawBorder(e.Graphics, this.ClientRectangle, ControlState== ControlState.Hover?Color.FromArgb(43, 141, 225) : SkinHelp.DefalutBorderColor, ButtonBorderStyle.Solid);
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
~HotkeyTextBox()
|
||||
|
@ -61,19 +206,7 @@ namespace ryControls
|
|||
/// <param name="e"></param>
|
||||
protected override void OnSizeChanged(EventArgs e)
|
||||
{
|
||||
TxtHotKey.Top = (Height - TxtHotKey.Height) / 2;
|
||||
TxtHotKey.Width = Width - BtnClear.Width - 2;
|
||||
BtnClear.Top = 0;
|
||||
BtnClear.Left = TxtHotKey.Left + TxtHotKey.Width;
|
||||
BtnClear.Height = Height;
|
||||
}
|
||||
private void TxtHotKey_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
OnKeyDown(e);
|
||||
}
|
||||
private void TxtHotKey_KeyUp(object sender, KeyEventArgs e)
|
||||
{
|
||||
OnKeyUp(e);
|
||||
|
||||
}
|
||||
//使文本属性失效掉
|
||||
/// <summary>
|
||||
|
@ -82,10 +215,11 @@ namespace ryControls
|
|||
[Description("此属性无效")]
|
||||
public new string Text
|
||||
{
|
||||
get { return TxtHotKey.Text; }
|
||||
get { return tmpText; }
|
||||
set
|
||||
{
|
||||
LoadHotKey(value);
|
||||
this.Invalidate();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
|
@ -109,6 +243,37 @@ namespace ryControls
|
|||
T_Modifiers = item[0].ToInt(0);
|
||||
T_Key = (Keys)item[1].ToInt(0);
|
||||
}
|
||||
else if(item.Length <=4)
|
||||
{
|
||||
var modifiers = "+";
|
||||
for (int i = 0; i < item.Length-1; i++)
|
||||
{
|
||||
modifiers += item[i] + "+";
|
||||
}
|
||||
m_Modifiers = Keys.None;
|
||||
if (modifiers.IndexOfEx("+ctrl+")>=0)
|
||||
{
|
||||
m_Modifiers |= Keys.Control;
|
||||
}
|
||||
if (modifiers.IndexOfEx("+alt+") >= 0)
|
||||
{
|
||||
m_Modifiers |= Keys.Alt;
|
||||
}
|
||||
if (modifiers.IndexOfEx("+shift+") >= 0)
|
||||
{
|
||||
m_Modifiers |= Keys.Shift;
|
||||
}
|
||||
if (modifiers.IndexOfEx("+win+") >= 0)
|
||||
{
|
||||
m_Modifiers |= Keys.LWin;
|
||||
}
|
||||
var keyString = item[item.Length - 1];
|
||||
if (Enum.TryParse(keyString, out Keys key))
|
||||
{
|
||||
T_Key = key;
|
||||
}
|
||||
UpdateText();
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
@ -119,10 +284,8 @@ namespace ryControls
|
|||
private void UpdateText()
|
||||
{
|
||||
HotkeyValue xvalue = new HotkeyValue(T_Modifiers, (int)T_Key);
|
||||
base.Text = xvalue.ToString();
|
||||
TxtHotKey.Text = base.Text;
|
||||
TxtHotKey.SelectionLength = 0;
|
||||
TxtHotKey.SelectionStart = 0;
|
||||
tmpText = xvalue.ToString();
|
||||
this.Invalidate();
|
||||
}
|
||||
/// <summary>
|
||||
/// 保存热键
|
||||
|
@ -221,11 +384,11 @@ namespace ryControls
|
|||
}
|
||||
m_Modifiers = value.Modifiers;
|
||||
m_Key = value.KeyCode;
|
||||
base.Text = value.ToString();//赋值
|
||||
TxtHotKey.Text = base.Text;
|
||||
Text = value.ToString();//赋值
|
||||
e.Handled = true;
|
||||
base.OnKeyDown(e);
|
||||
}
|
||||
private string tmpText = "";
|
||||
//TextBox的KeyDown事件
|
||||
/// <summary>
|
||||
/// KeyDown事件
|
||||
|
@ -236,7 +399,7 @@ namespace ryControls
|
|||
if(m_Modifiers!=Keys.None && m_Key==Keys.None)
|
||||
{
|
||||
m_Modifiers = Keys.None;
|
||||
TxtHotKey.Text = "错误的热键";
|
||||
tmpText = "错误的热键";
|
||||
}
|
||||
e.Handled = false;
|
||||
base.OnKeyUp(e);
|
||||
|
@ -250,7 +413,17 @@ namespace ryControls
|
|||
|
||||
private void CtlHotkey_Paint(object sender, PaintEventArgs e)
|
||||
{
|
||||
e.Graphics.DrawRectangle(new Pen(Color.FromArgb(213, 216, 223)), new Rectangle(0, 0, this.Width - 1, this.Height - 1));
|
||||
//e.Graphics.DrawRectangle(new Pen(Color.FromArgb(213, 216, 223)), new Rectangle(0, 0, this.Width - 1, this.Height - 1));
|
||||
}
|
||||
|
||||
private void BtnClear_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
OnKeyDown(e);
|
||||
}
|
||||
|
||||
private void BtnClear_KeyUp(object sender, KeyEventArgs e)
|
||||
{
|
||||
OnKeyUp(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -92,6 +92,10 @@ namespace ryControls
|
|||
{
|
||||
e.Graphics.Clear(this.BackColor);
|
||||
}
|
||||
else if(!base.Enabled)
|
||||
{
|
||||
e.Graphics.Clear(SystemColors.Control);
|
||||
}
|
||||
e.Graphics.DrawRectangle(new Pen(SkinHelp.DefalutBorderColor), new Rectangle(0, 0, this.Width - 1, this.Height - 1));
|
||||
if(txtInfo.Text.Length==0 && !txtInfo.Visible)
|
||||
{
|
||||
|
@ -99,10 +103,17 @@ namespace ryControls
|
|||
Font font = this.Font; // 使用当前控件的字体。
|
||||
Rectangle rect = this.ClientRectangle; // 在当前控件的客户区域绘制。
|
||||
StringFormat stringFormat = new StringFormat();
|
||||
stringFormat.LineAlignment = StringAlignment.Center;
|
||||
if (!Multiline)
|
||||
{
|
||||
stringFormat.LineAlignment = StringAlignment.Center;
|
||||
}
|
||||
else
|
||||
{
|
||||
rect.Offset(0, 6);
|
||||
}
|
||||
using (Graphics g = this.CreateGraphics())
|
||||
{
|
||||
g.DrawString(" "+EmptyText, font, brush, rect, stringFormat);
|
||||
g.DrawString(" " + EmptyText, font, brush, rect, stringFormat);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -149,7 +160,7 @@ namespace ryControls
|
|||
public bool Multiline
|
||||
{
|
||||
get { return txtInfo.Multiline; }
|
||||
set { txtInfo.Multiline = value; txtInfo.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; }
|
||||
set { txtInfo.Multiline = value; txtInfo.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;this.Invalidate(); }
|
||||
}
|
||||
/// <summary>
|
||||
/// 是否在显示不下时换行
|
||||
|
@ -299,7 +310,6 @@ namespace ryControls
|
|||
private void TextBoxEx2_FontChanged(object sender, EventArgs e)
|
||||
{
|
||||
txtInfo.Font = this.Font;
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
|
|
|
@ -301,13 +301,13 @@ namespace TheArtOfDev.HtmlRenderer.WinForms
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
/// Automatically sets the size of the label by content size
|
||||
/// 根据内容大小自动设置标签的大小
|
||||
/// </summary>
|
||||
[Browsable(true)]
|
||||
[DefaultValue(true)]
|
||||
[EditorBrowsable(EditorBrowsableState.Always)]
|
||||
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
|
||||
[Description("Automatically sets the size of the label by content size.")]
|
||||
[Description("根据内容大小自动设置标签的大小 ")]
|
||||
public override bool AutoSize
|
||||
{
|
||||
get { return base.AutoSize; }
|
||||
|
@ -324,12 +324,12 @@ namespace TheArtOfDev.HtmlRenderer.WinForms
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
/// Automatically sets the height of the label by content height (width is not effected).
|
||||
/// 根据内容高度自动设置标签的高度(宽度不受影响)。
|
||||
/// </summary>
|
||||
[Browsable(true)]
|
||||
[DefaultValue(false)]
|
||||
[Category("Layout")]
|
||||
[Description("Automatically sets the height of the label by content height (width is not effected)")]
|
||||
[Description("根据内容高度自动设置标签的高度(宽度不受影响)")]
|
||||
public virtual bool AutoSizeHeightOnly
|
||||
{
|
||||
get { return _autoSizeHight; }
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/*
|
||||
/*
|
||||
* Renderers - A collection of useful renderers that are used to owner draw a cell in an ObjectListView
|
||||
*
|
||||
* Author: Phillip Piper
|
||||
|
@ -907,19 +907,23 @@ namespace BrightIdeasSoftware {
|
|||
{
|
||||
if (String.IsNullOrEmpty(txt))
|
||||
return Size.Empty;
|
||||
|
||||
if (this.UseGdiTextRendering)
|
||||
try
|
||||
{
|
||||
Size proposedSize = new Size(width, Int32.MaxValue);
|
||||
return TextRenderer.MeasureText(g, txt, this.Font, proposedSize, NormalTextFormatFlags);
|
||||
}
|
||||
|
||||
// Using GDI+ renderering
|
||||
using (StringFormat fmt = new StringFormat()) {
|
||||
fmt.Trimming = StringTrimming.EllipsisCharacter;
|
||||
SizeF sizeF = g.MeasureString(txt, this.Font, width, fmt);
|
||||
return new Size(1 + (int)sizeF.Width, 1 + (int)sizeF.Height);
|
||||
if (this.UseGdiTextRendering)
|
||||
{
|
||||
Size proposedSize = new Size(width, Int32.MaxValue);
|
||||
return TextRenderer.MeasureText(g, txt, this.Font, proposedSize, NormalTextFormatFlags);
|
||||
}
|
||||
|
||||
// Using GDI+ renderering
|
||||
using (StringFormat fmt = new StringFormat())
|
||||
{
|
||||
fmt.Trimming = StringTrimming.EllipsisCharacter;
|
||||
SizeF sizeF = g.MeasureString(txt, this.Font, width, fmt);
|
||||
return new Size(1 + (int)sizeF.Width, 1 + (int)sizeF.Height);
|
||||
}
|
||||
}
|
||||
catch { return Size.Empty; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -1716,15 +1720,15 @@ namespace BrightIdeasSoftware {
|
|||
/// <param name="r">Bounds of the cell</param>
|
||||
/// <param name="offset_x"></param>
|
||||
/// <param name="txt">The string to be drawn</param>
|
||||
/// <param name="brush">笔刷</param>
|
||||
public virtual int DrawText2(Graphics g, Rectangle r,int offset_x, String txt, Brush brush)
|
||||
/// <param name="brush"></param>
|
||||
public virtual int DrawText2(Graphics g, Rectangle r, int offset_x, String txt, Brush brush)
|
||||
{
|
||||
var txt_size = g.MeasureString(txt, Font).ToSize();
|
||||
StringFormat sf = new StringFormat();
|
||||
sf.Trimming = StringTrimming.EllipsisCharacter;
|
||||
sf.FormatFlags = StringFormatFlags.NoWrap;//自动换行
|
||||
g.DrawString(txt, Font, brush,new RectangleF(r.Left+ offset_x, r.Top + 2 + (r.Height - txt_size.Height) / 2,r.Width- offset_x, r.Height),sf);
|
||||
return txt_size.Width+1;
|
||||
sf.FormatFlags = StringFormatFlags.NoWrap;//<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
|
||||
g.DrawString(txt, Font, brush, new RectangleF(r.Left + offset_x, r.Top + 2 + (r.Height - txt_size.Height) / 2, r.Width - offset_x, r.Height), sf);
|
||||
return txt_size.Width + 1;
|
||||
}
|
||||
/// <summary>
|
||||
/// Draw the given text and optional image in the "normal" fashion
|
||||
|
@ -1751,7 +1755,7 @@ namespace BrightIdeasSoftware {
|
|||
{
|
||||
var txt_size = g.MeasureString(txt, Font).ToSize();
|
||||
var rect = new RectangleF(r.Left + offset_x, r.Top + 2 + (r.Height - txt_size.Height) / 2, r.Width - offset_x, r.Height);
|
||||
var rect_back = new RectangleF(r.Left + offset_x, r.Top + 2, txt_size.Width, r.Height-4);
|
||||
var rect_back = new RectangleF(r.Left + offset_x, r.Top + 2, txt_size.Width, r.Height - 4);
|
||||
g.FillRectangle(back_brush, rect_back);
|
||||
StringFormat sf = new StringFormat();
|
||||
sf.Trimming = StringTrimming.EllipsisCharacter;
|
||||
|
@ -1759,6 +1763,64 @@ namespace BrightIdeasSoftware {
|
|||
return txt_size.Width + 1;
|
||||
}
|
||||
/// <summary>
|
||||
/// Draw the given text and optional image in the "normal" fashion
|
||||
/// </summary>
|
||||
/// <param name="g">Graphics context to use for drawing</param>
|
||||
/// <param name="r">Bounds of the cell</param>
|
||||
/// <param name="offset_x"></param>
|
||||
/// <param name="txt">The string to be drawn</param>
|
||||
/// <param name="forecolor">笔刷</param>
|
||||
public virtual int DrawText2(Graphics g, Rectangle r,int offset_x, String txt, Color forecolor)
|
||||
{
|
||||
try
|
||||
{
|
||||
StringFormat sf = new StringFormat();
|
||||
sf.Trimming = StringTrimming.EllipsisCharacter;
|
||||
|
||||
sf.FormatFlags = StringFormatFlags.NoWrap;//自动换行
|
||||
Size txt_size = TextRenderer.MeasureText(g, txt, Font, r.Size, TextFormatFlags.NoPadding | TextFormatFlags.PreserveGraphicsTranslateTransform);
|
||||
TextRenderer.DrawText(g, txt, Font, new Rectangle(r.Left + offset_x, r.Top + 2 + (r.Height - txt_size.Height) / 2, r.Width - offset_x, r.Height), forecolor, TextFormatFlags.NoPadding | TextFormatFlags.PreserveGraphicsTranslateTransform);
|
||||
//g.DrawString(txt, Font, br ush,new RectangleF(r.Left+ offset_x, r.Top + 2 + (r.Height - txt_size.Height) / 2,r.Width- offset_x, r.Height),sf);
|
||||
return txt_size.Width;
|
||||
}
|
||||
catch { return 0; }
|
||||
}
|
||||
/// <summary>
|
||||
/// Draw the given text and optional image in the "normal" fashion
|
||||
/// </summary>
|
||||
/// <param name="g">Graphics context to use for drawing</param>
|
||||
/// <param name="r">Bounds of the cell</param>
|
||||
/// <param name="offset_x"></param>
|
||||
/// <param name="txt">The string to be drawn</param>
|
||||
public virtual int DrawText3(Graphics g, Rectangle r, int offset_x, String txt)
|
||||
{
|
||||
return DrawText2(g, r, offset_x, txt, GetForegroundColor());
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="g"></param>
|
||||
/// <param name="r">这里的r</param>
|
||||
/// <param name="offset_x"></param>
|
||||
/// <param name="txt"></param>
|
||||
/// <param name="forecolor"></param>
|
||||
/// <param name="backcolor"></param>
|
||||
/// <returns></returns>
|
||||
public virtual int DrawTextAndBackColor2(Graphics g, Rectangle r, int offset_x, string txt, Color forecolor, Color backcolor)
|
||||
{
|
||||
try
|
||||
{
|
||||
var txt_size = TextRenderer.MeasureText(g, txt, Font, r.Size, TextFormatFlags.NoPadding | TextFormatFlags.PreserveGraphicsTranslateTransform);
|
||||
var rect = new Rectangle(r.Left + offset_x, r.Top + 2 + (r.Height - txt_size.Height) / 2, r.Width - offset_x, r.Height);
|
||||
var rect_back = new Rectangle(r.Left + offset_x, r.Top + 2, txt_size.Width, r.Height - 4);
|
||||
|
||||
g.FillRectangle(new SolidBrush(backcolor), rect_back);
|
||||
TextRenderer.DrawText(g, txt, Font, rect, forecolor, TextFormatFlags.NoPadding | TextFormatFlags.PreserveGraphicsTranslateTransform);
|
||||
return txt_size.Width;
|
||||
}
|
||||
catch { return 0; }
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="g"></param>
|
||||
|
@ -1771,7 +1833,7 @@ namespace BrightIdeasSoftware {
|
|||
{
|
||||
var width_bit = bitmap.Width * bit_height / bitmap.Height;
|
||||
g.DrawImage(bitmap, r.X+ offset_x, r.Y + (r.Height - bit_height) / 2, width_bit, bit_height);
|
||||
return width_bit + 1;
|
||||
return width_bit ;
|
||||
}
|
||||
/// <summary>
|
||||
/// Print the given text in the given rectangle using only GDI routines
|
||||
|
@ -2887,10 +2949,10 @@ namespace BrightIdeasSoftware {
|
|||
#region Configuration Properties
|
||||
|
||||
/// <summary>
|
||||
/// 此栏是否应以系统样式绘制?
|
||||
/// 此栏是否应以系统样式绘制?
|
||||
/// </summary>
|
||||
[Category("ObjectListView"),
|
||||
Description("此栏是否应以系统样式绘制"),
|
||||
Description("此栏是否应以系统样式绘制"),
|
||||
DefaultValue(true)]
|
||||
public bool UseStandardBar {
|
||||
get { return useStandardBar; }
|
||||
|
@ -2900,10 +2962,10 @@ namespace BrightIdeasSoftware {
|
|||
private bool useStandardBar = true;
|
||||
|
||||
/// <summary>
|
||||
/// 将从我们的单元格边框开始绘制多少像素的条形图
|
||||
/// 将从我们的单元格边框开始绘制多少像素的条形图
|
||||
/// </summary>
|
||||
[Category("ObjectListView"),
|
||||
Description("将从我们的单元格边框开始绘制多少像素的条形图"),
|
||||
Description("将从我们的单元格边框开始绘制多少像素的条形图"),
|
||||
DefaultValue(2)]
|
||||
public int Padding {
|
||||
get { return padding; }
|
||||
|
@ -2913,10 +2975,10 @@ namespace BrightIdeasSoftware {
|
|||
private int padding = 2;
|
||||
|
||||
/// <summary>
|
||||
///在绘制进度条之前,将使用什么颜色填充控件内部?
|
||||
///在绘制进度条之前,将使用什么颜色填充控件内部?
|
||||
/// </summary>
|
||||
[Category("ObjectListView"),
|
||||
Description("条形图内部的颜色"),
|
||||
Description("条形图内部的颜色"),
|
||||
DefaultValue(typeof (Color), "AliceBlue")]
|
||||
public Color BackgroundColor {
|
||||
get { return backgroundColor; }
|
||||
|
@ -2926,10 +2988,10 @@ namespace BrightIdeasSoftware {
|
|||
private Color backgroundColor = Color.AliceBlue;
|
||||
|
||||
/// <summary>
|
||||
/// 进度条边框颜色
|
||||
/// 进度条边框颜色
|
||||
/// </summary>
|
||||
[Category("ObjectListView"),
|
||||
Description("进度条边框颜色"),
|
||||
Description("进度条边框颜色"),
|
||||
DefaultValue(typeof (Color), "Black")]
|
||||
public Color FrameColor {
|
||||
get { return frameColor; }
|
||||
|
@ -2939,10 +3001,10 @@ namespace BrightIdeasSoftware {
|
|||
private Color frameColor = Color.Black;
|
||||
|
||||
/// <summary>
|
||||
/// 进度条的边框像素宽
|
||||
/// 进度条的边框像素宽
|
||||
/// </summary>
|
||||
[Category("ObjectListView"),
|
||||
Description("进度条的边框像素宽"),
|
||||
Description("进度条的边框像素宽"),
|
||||
DefaultValue(1.0f)]
|
||||
public float FrameWidth {
|
||||
get { return frameWidth; }
|
||||
|
@ -2952,11 +3014,11 @@ namespace BrightIdeasSoftware {
|
|||
private float frameWidth = 1.0f;
|
||||
|
||||
/// <summary>
|
||||
/// 进度条的“填充”部分应该是什么颜色?
|
||||
/// 进度条的“填充”部分应该是什么颜色?
|
||||
/// </summary>
|
||||
/// <remarks>仅当GradientStartColor为Color.Empty时才使用此选项</remarks>
|
||||
/// <remarks>仅当GradientStartColor为Color.Empty时才使用此选项</remarks>
|
||||
[Category("ObjectListView"),
|
||||
Description("进度条的“填充”部分应该是什么颜色?"),
|
||||
Description("进度条的“填充”部分应该是什么颜色?"),
|
||||
DefaultValue(typeof (Color), "BlueViolet")]
|
||||
public Color FillColor {
|
||||
get { return fillColor; }
|
||||
|
@ -2965,11 +3027,11 @@ namespace BrightIdeasSoftware {
|
|||
|
||||
private Color fillColor = Color.BlueViolet;
|
||||
/// <summary>
|
||||
/// 进度条中是否显示文本百分比进度显示
|
||||
/// 进度条中是否显示文本百分比进度显示
|
||||
/// </summary>
|
||||
/// <remarks></remarks>
|
||||
[Category("ObjectListView"),
|
||||
Description("进度条中是否显示文本百分比进度显示"),
|
||||
Description("进度条中是否显示文本百分比进度显示"),
|
||||
DefaultValue(typeof(Boolean), "True")]
|
||||
public bool ShowTextPercent
|
||||
{
|
||||
|
@ -2979,10 +3041,10 @@ namespace BrightIdeasSoftware {
|
|||
|
||||
private bool showTextPercent = true;
|
||||
/// <summary>
|
||||
/// 使用渐变以此颜色开始填充进度条
|
||||
/// 使用渐变以此颜色开始填充进度条
|
||||
/// </summary>
|
||||
[Category("ObjectListView"),
|
||||
Description("使用渐变以此颜色开始填充进度条"),
|
||||
Description("使用渐变以此颜色开始填充进度条"),
|
||||
DefaultValue(typeof (Color), "CornflowerBlue")]
|
||||
public Color GradientStartColor {
|
||||
get { return startColor; }
|
||||
|
@ -2992,10 +3054,10 @@ namespace BrightIdeasSoftware {
|
|||
private Color startColor = Color.CornflowerBlue;
|
||||
|
||||
/// <summary>
|
||||
/// 使用渐变填充以此颜色结尾的进度条
|
||||
/// 使用渐变填充以此颜色结尾的进度条
|
||||
/// </summary>
|
||||
[Category("ObjectListView"),
|
||||
Description("使用渐变填充以此颜色结尾的进度条"),
|
||||
Description("使用渐变填充以此颜色结尾的进度条"),
|
||||
DefaultValue(typeof (Color), "DarkBlue")]
|
||||
public Color GradientEndColor {
|
||||
get { return endColor; }
|
||||
|
@ -3003,10 +3065,10 @@ namespace BrightIdeasSoftware {
|
|||
}
|
||||
private Color endColor = Color.DarkBlue;
|
||||
/// <summary>
|
||||
/// 使用渐变以此颜色开始填充渐满进度条
|
||||
/// 使用渐变以此颜色开始填充渐满进度条
|
||||
/// </summary>
|
||||
[Category("ObjectListView"),
|
||||
Description("使用渐变以此颜色开始填充渐满进度条"),
|
||||
Description("使用渐变以此颜色开始填充渐满进度条"),
|
||||
DefaultValue(typeof(Color), "CornflowerBlue")]
|
||||
public Color NearGradientStartColor
|
||||
{
|
||||
|
@ -3017,10 +3079,10 @@ namespace BrightIdeasSoftware {
|
|||
private Color near_startColor = Color.CornflowerBlue;
|
||||
|
||||
/// <summary>
|
||||
/// 使用渐变填充以此颜色结尾的渐满进度条
|
||||
/// 使用渐变填充以此颜色结尾的渐满进度条
|
||||
/// </summary>
|
||||
[Category("ObjectListView"),
|
||||
Description("使用渐变填充以此颜色结尾的渐满进度条"),
|
||||
Description("使用渐变填充以此颜色结尾的渐满进度条"),
|
||||
DefaultValue(typeof(Color), "DarkBlue")]
|
||||
public Color NearGradientEndColor
|
||||
{
|
||||
|
@ -3030,10 +3092,10 @@ namespace BrightIdeasSoftware {
|
|||
private Color near_endColor = Color.DarkBlue;
|
||||
|
||||
/// <summary>
|
||||
/// 无论列变得多宽,进度条都不会比这个宽。
|
||||
/// 无论列变得多宽,进度条都不会比这个宽。
|
||||
/// </summary>
|
||||
[Category("Behavior"),
|
||||
Description("进度条永远不会比这个更宽"),
|
||||
Description("进度条永远不会比这个更宽"),
|
||||
DefaultValue(100)]
|
||||
public int MaximumWidth {
|
||||
get { return maximumWidth; }
|
||||
|
@ -3043,10 +3105,10 @@ namespace BrightIdeasSoftware {
|
|||
private int maximumWidth = 100;
|
||||
|
||||
/// <summary>
|
||||
/// 无论单元格有多高,进度条都不会比这个高
|
||||
/// 无论单元格有多高,进度条都不会比这个高
|
||||
/// </summary>
|
||||
[Category("Behavior"),
|
||||
Description("进度条永远不会比这个高"),
|
||||
Description("进度条永远不会比这个高"),
|
||||
DefaultValue(16)]
|
||||
public int MaximumHeight {
|
||||
get { return maximumHeight; }
|
||||
|
@ -3056,10 +3118,10 @@ namespace BrightIdeasSoftware {
|
|||
private int maximumHeight = 16;
|
||||
|
||||
/// <summary>
|
||||
/// 预期的最小数据值。小于此值的值将显示一个空条。
|
||||
/// 预期的最小数据值。小于此值的值将显示一个空条。
|
||||
/// </summary>
|
||||
[Category("Behavior"),
|
||||
Description("预期的最小数据值。小于此值的值将显示一个空条。"),
|
||||
Description("预期的最小数据值。小于此值的值将显示一个空条。"),
|
||||
DefaultValue(0.0)]
|
||||
public double MinimumValue {
|
||||
get { return minimumValue; }
|
||||
|
@ -3068,10 +3130,10 @@ namespace BrightIdeasSoftware {
|
|||
|
||||
private double minimumValue = 0.0;
|
||||
/// <summary>
|
||||
/// 接近满时的值,高于该值时,显示不同颜色,小于等于MinimumValue或大于MaximumValue值,则表示未设置该值
|
||||
/// 接近满时的值,高于该值时,显示不同颜色,小于等于MinimumValue或大于MaximumValue值,则表示未设置该值
|
||||
/// </summary>
|
||||
[Category("Behavior"),
|
||||
Description("接近满时的值,高于该值时,显示不同颜色,小于等于MinimumValue或大于MaximumValue值,则表示未设置该值"),
|
||||
Description("接近满时的值,高于该值时,显示不同颜色,小于等于MinimumValue或大于MaximumValue值,则表示未设置该值"),
|
||||
DefaultValue(0.0)]
|
||||
public double NearFullValue
|
||||
{
|
||||
|
@ -3081,10 +3143,10 @@ namespace BrightIdeasSoftware {
|
|||
|
||||
private double nearfullValue = 0.0;
|
||||
/// <summary>
|
||||
///范围的最大值。大于此值的值将给出一个完整的条形。
|
||||
///范围的最大值。大于此值的值将给出一个完整的条形。
|
||||
/// </summary>
|
||||
[Category("Behavior"),
|
||||
Description("范围的最大值。大于此值的值将给出一个完整的条形。"),
|
||||
Description("范围的最大值。大于此值的值将给出一个完整的条形。"),
|
||||
DefaultValue(100.0)]
|
||||
public double MaximumValue {
|
||||
get { return maximumValue; }
|
||||
|
@ -3674,10 +3736,10 @@ namespace BrightIdeasSoftware {
|
|||
}
|
||||
private int imageTextSpace = 4;
|
||||
/// <summary>
|
||||
/// 顶部留白像素
|
||||
/// 顶部留白像素
|
||||
/// </summary>
|
||||
[Category("ObjectListView"),
|
||||
Description("顶部留白像素"),
|
||||
Description("顶部留白像素"),
|
||||
DefaultValue(4)]
|
||||
public int TopSpace
|
||||
{
|
||||
|
@ -3870,11 +3932,11 @@ namespace BrightIdeasSoftware {
|
|||
private OLVColumn.ButtonSizingMode sizingMode = OLVColumn.ButtonSizingMode.CellBounds;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置SizingMode为FixedBounds时按钮的大小
|
||||
/// 获取或设置SizingMode为FixedBounds时按钮的大小
|
||||
/// </summary>
|
||||
/// <remarks>If this is not set, the bounds of the cell will be used</remarks>
|
||||
[Category("ObjectListView"),
|
||||
Description("SizingMode为FixedBounds时按钮的大小"),
|
||||
Description("SizingMode为FixedBounds时按钮的大小"),
|
||||
DefaultValue(null)]
|
||||
public Size? ButtonSize
|
||||
{
|
||||
|
@ -3884,10 +3946,10 @@ namespace BrightIdeasSoftware {
|
|||
private Size? buttonSize;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置SizingMode为TextBounds时单元格周围的额外空间
|
||||
/// 获取或设置SizingMode为TextBounds时单元格周围的额外空间
|
||||
/// </summary>
|
||||
[Category("ObjectListView"),
|
||||
Description("SizingMode为TextBounds时围绕单元格的额外空间")]
|
||||
Description("SizingMode为TextBounds时围绕单元格的额外空间")]
|
||||
public Size? ButtonPadding
|
||||
{
|
||||
get { return this.buttonPadding; }
|
||||
|
@ -3928,50 +3990,50 @@ namespace BrightIdeasSoftware {
|
|||
}
|
||||
private int minButtonWidth = -1;
|
||||
/// <summary>
|
||||
///获取或设置此列按钮的字体颜色(如果有按钮的话)
|
||||
///获取或设置此列按钮的字体颜色(如果有按钮的话)
|
||||
/// </summary>
|
||||
[Category("ObjectListView"),
|
||||
Description("获取或设置此列按钮的字体颜色(如果有按钮的话)")]
|
||||
Description("获取或设置此列按钮的字体颜色(如果有按钮的话)")]
|
||||
public Color ButtonForeColor
|
||||
{
|
||||
get;
|
||||
set;
|
||||
} = Color.White;
|
||||
/// <summary>
|
||||
///获取或设置此列按钮的背景颜色(如果有按钮的话)
|
||||
///获取或设置此列按钮的背景颜色(如果有按钮的话)
|
||||
/// </summary>
|
||||
[Category("ObjectListView"),
|
||||
Description("获取或设置此列按钮的背景颜色(如果有按钮的话)")]
|
||||
Description("获取或设置此列按钮的背景颜色(如果有按钮的话)")]
|
||||
public Color ButtonBaseColor
|
||||
{
|
||||
get;
|
||||
set;
|
||||
} = Color.Green;
|
||||
/// <summary>
|
||||
///获取或设置此列按钮的边框颜色(如果有按钮的话)
|
||||
///获取或设置此列按钮的边框颜色(如果有按钮的话)
|
||||
/// </summary>
|
||||
[Category("ObjectListView"),
|
||||
Description("获取或设置此列按钮的边框颜色(如果有按钮的话)")]
|
||||
Description("获取或设置此列按钮的边框颜色(如果有按钮的话)")]
|
||||
public Color ButtonBorderColor
|
||||
{
|
||||
get;
|
||||
set;
|
||||
} = Color.Gray;
|
||||
/// <summary>
|
||||
///获取或设置此列按钮的内边框颜色(如果有按钮的话)
|
||||
///获取或设置此列按钮的内边框颜色(如果有按钮的话)
|
||||
/// </summary>
|
||||
[Category("ObjectListView"),
|
||||
Description("获取或设置此列按钮的内边框颜色(如果有按钮的话)")]
|
||||
Description("获取或设置此列按钮的内边框颜色(如果有按钮的话)")]
|
||||
public Color ButtonInnerBorderColor
|
||||
{
|
||||
get;
|
||||
set;
|
||||
} = Color.Gray;
|
||||
/// <summary>
|
||||
///获取或设置此列按钮是否画边框(如果有按钮的话)
|
||||
///获取或设置此列按钮是否画边框(如果有按钮的话)
|
||||
/// </summary>
|
||||
[Category("ObjectListView"),
|
||||
Description("获取或设置此列按钮是否画边框(如果有按钮的话)")]
|
||||
Description("获取或设置此列按钮是否画边框(如果有按钮的话)")]
|
||||
public bool ButtonDrawBorder
|
||||
{
|
||||
get;
|
||||
|
|
|
@ -214,7 +214,6 @@ namespace RaUI.UI.Rili
|
|||
this.Invalidate();
|
||||
base.OnMouseDown(e);
|
||||
}
|
||||
int index = 0;
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
|
|
|
@ -3,128 +3,131 @@ using System.Drawing;
|
|||
using System.Windows.Forms;
|
||||
using ScintillaNETV2;
|
||||
using ScintillaNETV2.AutocompleteMenuNS;
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public class ScintillaWrapper : ITextBoxWrapper
|
||||
namespace ScintillaNETV2.AutocompleteMenuNS
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public ScintillaNETV2.Scintilla target;
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="trgt"></param>
|
||||
public ScintillaWrapper(ScintillaNETV2.Scintilla trgt)
|
||||
public class ScintillaWrapper : ITextBoxWrapper
|
||||
{
|
||||
target = trgt;
|
||||
|
||||
//Now add handler for the UpdateUI event.
|
||||
target.UpdateUI += (sender, args) =>
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public ScintillaNETV2.Scintilla target;
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="trgt"></param>
|
||||
public ScintillaWrapper(ScintillaNETV2.Scintilla trgt)
|
||||
{
|
||||
if (args?.Change == UpdateChange.HScroll || args?.Change == UpdateChange.VScroll)
|
||||
target = trgt;
|
||||
|
||||
//Now add handler for the UpdateUI event.
|
||||
target.UpdateUI += (sender, args) =>
|
||||
{
|
||||
Scroll?.Invoke(sender, new ScrollEventArgs(ScrollEventType.LargeIncrement, 0));
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public bool Readonly
|
||||
{
|
||||
get{ return target.ReadOnly; }
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string SelectedText
|
||||
{
|
||||
get { return target.SelectedText; }
|
||||
set
|
||||
{
|
||||
//Store the start of the selection.
|
||||
int start = target.SelectionStart;
|
||||
|
||||
//Delete the current text between selections.
|
||||
target.DeleteRange(target.SelectionStart, (target.SelectionEnd - target.SelectionStart));
|
||||
|
||||
//Add the text in the same postion.
|
||||
target.InsertText(start, value);
|
||||
|
||||
//Clear selection and make sure the caret is at the end.
|
||||
target.SelectionStart = (start + value.Length);
|
||||
target.SelectionEnd = (start + value.Length);
|
||||
if (args?.Change == UpdateChange.HScroll || args?.Change == UpdateChange.VScroll)
|
||||
{
|
||||
Scroll?.Invoke(sender, new ScrollEventArgs(ScrollEventType.LargeIncrement, 0));
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public int SelectionLength
|
||||
{
|
||||
get { return (target.SelectionEnd - target.SelectionStart); }
|
||||
set { target.SelectionEnd = (target.SelectionStart + value); }
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public int SelectionStart
|
||||
{
|
||||
get { return target.SelectionStart; }
|
||||
set { target.SelectionStart = value; }
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public Control TargetControl
|
||||
{
|
||||
get { return target; }
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string Text
|
||||
{
|
||||
get { return target.Text; }
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="pos"></param>
|
||||
/// <returns></returns>
|
||||
public Point GetPositionFromCharIndex(int pos)
|
||||
{
|
||||
return new Point(target.PointXFromPosition(pos), target.PointYFromPosition(pos));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public virtual event KeyEventHandler KeyDown
|
||||
{
|
||||
add { target.KeyDown += value; }
|
||||
remove { target.KeyDown -= value; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public bool Readonly
|
||||
{
|
||||
get { return target.ReadOnly; }
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string SelectedText
|
||||
{
|
||||
get { return target.SelectedText; }
|
||||
set
|
||||
{
|
||||
//Store the start of the selection.
|
||||
int start = target.SelectionStart;
|
||||
|
||||
//Delete the current text between selections.
|
||||
target.DeleteRange(target.SelectionStart, (target.SelectionEnd - target.SelectionStart));
|
||||
|
||||
//Add the text in the same postion.
|
||||
target.InsertText(start, value);
|
||||
|
||||
//Clear selection and make sure the caret is at the end.
|
||||
target.SelectionStart = (start + value.Length);
|
||||
target.SelectionEnd = (start + value.Length);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public int SelectionLength
|
||||
{
|
||||
get { return (target.SelectionEnd - target.SelectionStart); }
|
||||
set { target.SelectionEnd = (target.SelectionStart + value); }
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public int SelectionStart
|
||||
{
|
||||
get { return target.SelectionStart; }
|
||||
set { target.SelectionStart = value; }
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public Control TargetControl
|
||||
{
|
||||
get { return target; }
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string Text
|
||||
{
|
||||
get { return target.Text; }
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="pos"></param>
|
||||
/// <returns></returns>
|
||||
public Point GetPositionFromCharIndex(int pos)
|
||||
{
|
||||
return new Point(target.PointXFromPosition(pos), target.PointYFromPosition(pos));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public virtual event KeyEventHandler KeyDown
|
||||
{
|
||||
add { target.KeyDown += value; }
|
||||
remove { target.KeyDown -= value; }
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public virtual event EventHandler LostFocus
|
||||
{
|
||||
add { target.LostFocus += value; }
|
||||
remove { target.LostFocus -= value; }
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public virtual event MouseEventHandler MouseDown
|
||||
{
|
||||
add { target.MouseDown += value; }
|
||||
remove { target.MouseDown -= value; }
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public event ScrollEventHandler Scroll;
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public virtual event EventHandler LostFocus
|
||||
{
|
||||
add { target.LostFocus += value; }
|
||||
remove { target.LostFocus -= value; }
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public virtual event MouseEventHandler MouseDown
|
||||
{
|
||||
add { target.MouseDown += value; }
|
||||
remove { target.MouseDown -= value; }
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public event ScrollEventHandler Scroll;
|
||||
}
|
|
@ -49,7 +49,7 @@ namespace ScintillaNETV2.Highlight
|
|||
{
|
||||
Scintilla = Editor
|
||||
};
|
||||
AutoComplete.TargetControlWrapper = new ScintillaWrapper(Editor);
|
||||
AutoComplete.TargetControlWrapper = new AutocompleteMenuNS.ScintillaWrapper(Editor);
|
||||
Editor.DoubleClick += Editor_DoubleClick;
|
||||
var ind_17= Editor.Indicators[17];
|
||||
ind_17.ForeColor = Color.FromArgb(232, 232, 255);
|
||||
|
|
|
@ -511,8 +511,7 @@ namespace ryControls
|
|||
ControlStyles.UserMouse, true);
|
||||
tabCollection = new CustomTabPageCollection(this);
|
||||
this.ItemSize = new Size(TabMaxWidth, 25);
|
||||
this.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
|
||||
//this.AllowDrop = true;
|
||||
base.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
|
||||
|
||||
|
||||
//从资源文件(嵌入到程序集)里读取图片
|
||||
|
@ -520,6 +519,15 @@ namespace ryControls
|
|||
close_normalImage = Resources.tab_close_normal;
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取或设置调整控件的选项卡大小的方式。
|
||||
/// </summary>
|
||||
[Description("获取或设置调整控件的选项卡大小的方式。"),DefaultValue(typeof(TabSizeMode), "Fixed")]
|
||||
public new TabSizeMode SizeMode
|
||||
{
|
||||
get { return base.SizeMode; }
|
||||
set { base.SizeMode = value; }
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
~ChromeTabControl()
|
||||
|
@ -811,7 +819,19 @@ namespace ryControls
|
|||
/// <returns></returns>
|
||||
private int GetTabTotalWidth()
|
||||
{
|
||||
return this.ItemSize.Width * this.TabCount;
|
||||
if (this.SizeMode == System.Windows.Forms.TabSizeMode.Fixed)
|
||||
{
|
||||
return this.ItemSize.Width * this.TabCount;
|
||||
}
|
||||
else
|
||||
{
|
||||
var total_width = 0;
|
||||
for (int i = 0; i < this.TabCount; i++)
|
||||
{
|
||||
total_width += GetTabRect(i).Width;
|
||||
}
|
||||
return total_width;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
|
|
|
@ -29,6 +29,7 @@ namespace ryControls
|
|||
//ItemHeight = 50;
|
||||
DrawItem += OnDrawItem;
|
||||
}
|
||||
|
||||
private void OnDrawItem(object sender, DrawItemEventArgs e)
|
||||
{
|
||||
if (e.Index < 0) { return; }
|
||||
|
@ -66,6 +67,18 @@ namespace ryControls
|
|||
//文本内容显示区域
|
||||
textRect = new Rectangle(imgRect.Right + 2, imgRect.Y, e.Bounds.Width - imgRect.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);
|
||||
break;
|
||||
}
|
||||
//获得项文本内容,绘制文本
|
||||
string itemText = this.Items[e.Index].ToString();
|
||||
|
|
96
Source/SkinPreview/FrmTab2.Designer.cs
generated
96
Source/SkinPreview/FrmTab2.Designer.cs
generated
|
@ -28,6 +28,12 @@
|
|||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.CbbOpState = new ryControls.RyComboBox();
|
||||
this.htmlPanel1 = new TheArtOfDev.HtmlRenderer.WinForms.HtmlPanel();
|
||||
this.ryComboBox1 = new ryControls.RyComboBox();
|
||||
this.comboBoxEx2 = new ryControls.ComboBoxEx();
|
||||
this.comboBoxEx21 = new ryControls.ComboBoxEx2();
|
||||
this.ctlMyPage1 = new MyPage.ctlMyPage();
|
||||
this.textBoxEx21 = new ryControls.TextBoxEx2();
|
||||
this.numericUpDownEx1 = new ryControls.NumericUpDownEx();
|
||||
|
@ -37,9 +43,87 @@
|
|||
((System.ComponentModel.ISupportInitialize)(this.numericUpDownEx1)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// CbbOpState
|
||||
//
|
||||
this.CbbOpState.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
|
||||
this.CbbOpState.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.CbbOpState.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.CbbOpState.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.CbbOpState.FormattingEnabled = true;
|
||||
this.CbbOpState.ItemHeight = 24;
|
||||
this.CbbOpState.Items.AddRange(new object[] {
|
||||
"全部流程",
|
||||
"未完成流程",
|
||||
"已完成流程"});
|
||||
this.CbbOpState.Location = new System.Drawing.Point(392, 285);
|
||||
this.CbbOpState.MaxUndoRedoSteps = 50;
|
||||
this.CbbOpState.Name = "CbbOpState";
|
||||
this.CbbOpState.Size = new System.Drawing.Size(121, 30);
|
||||
this.CbbOpState.TabIndex = 43;
|
||||
//
|
||||
// htmlPanel1
|
||||
//
|
||||
this.htmlPanel1.AutoScroll = true;
|
||||
this.htmlPanel1.AutoScrollMinSize = new System.Drawing.Size(309, 20);
|
||||
this.htmlPanel1.BackColor = System.Drawing.SystemColors.Window;
|
||||
this.htmlPanel1.BaseStylesheet = null;
|
||||
this.htmlPanel1.Location = new System.Drawing.Point(117, 256);
|
||||
this.htmlPanel1.Name = "htmlPanel1";
|
||||
this.htmlPanel1.Size = new System.Drawing.Size(309, 71);
|
||||
this.htmlPanel1.TabIndex = 16;
|
||||
this.htmlPanel1.Text = "htmlPanel1";
|
||||
//
|
||||
// ryComboBox1
|
||||
//
|
||||
this.ryComboBox1.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawVariable;
|
||||
this.ryComboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.ryComboBox1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.ryComboBox1.FormattingEnabled = true;
|
||||
this.ryComboBox1.ItemHeight = 24;
|
||||
this.ryComboBox1.Items.AddRange(new object[] {
|
||||
"XXXCDS",
|
||||
"ADDD"});
|
||||
this.ryComboBox1.Location = new System.Drawing.Point(303, 205);
|
||||
this.ryComboBox1.MaxUndoRedoSteps = 50;
|
||||
this.ryComboBox1.Name = "ryComboBox1";
|
||||
this.ryComboBox1.Size = new System.Drawing.Size(156, 30);
|
||||
this.ryComboBox1.TabIndex = 15;
|
||||
//
|
||||
// comboBoxEx2
|
||||
//
|
||||
this.comboBoxEx2.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
|
||||
this.comboBoxEx2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.comboBoxEx2.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.comboBoxEx2.FormattingEnabled = true;
|
||||
this.comboBoxEx2.Items.AddRange(new object[] {
|
||||
"ddd",
|
||||
"大大方方"});
|
||||
this.comboBoxEx2.Location = new System.Drawing.Point(27, 216);
|
||||
this.comboBoxEx2.Name = "comboBoxEx2";
|
||||
this.comboBoxEx2.Size = new System.Drawing.Size(203, 22);
|
||||
this.comboBoxEx2.TabIndex = 14;
|
||||
//
|
||||
// comboBoxEx21
|
||||
//
|
||||
this.comboBoxEx21.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(239)))), ((int)(((byte)(244)))));
|
||||
this.comboBoxEx21.ButtonRoundBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(239)))), ((int)(((byte)(244)))));
|
||||
this.comboBoxEx21.EmptyText = "";
|
||||
this.comboBoxEx21.Location = new System.Drawing.Point(48, 177);
|
||||
this.comboBoxEx21.MaxPopupHeight = 0;
|
||||
this.comboBoxEx21.MaxPopupWidth = 0;
|
||||
this.comboBoxEx21.Name = "comboBoxEx21";
|
||||
this.comboBoxEx21.SelectedIndex = -1;
|
||||
this.comboBoxEx21.SelectedItem = null;
|
||||
this.comboBoxEx21.Size = new System.Drawing.Size(168, 31);
|
||||
this.comboBoxEx21.TabIndex = 13;
|
||||
this.comboBoxEx21.ToolTipText = "";
|
||||
//
|
||||
// ctlMyPage1
|
||||
//
|
||||
this.ctlMyPage1.CountSQL = "";
|
||||
this.ctlMyPage1.db = null;
|
||||
this.ctlMyPage1.Location = new System.Drawing.Point(260, 140);
|
||||
this.ctlMyPage1.Multithreading = false;
|
||||
this.ctlMyPage1.Name = "ctlMyPage1";
|
||||
this.ctlMyPage1.PageSize = 50;
|
||||
this.ctlMyPage1.RecordCount = 0;
|
||||
|
@ -60,7 +144,9 @@
|
|||
this.textBoxEx21.BackColor = System.Drawing.Color.White;
|
||||
this.textBoxEx21.EmptyText = "";
|
||||
this.textBoxEx21.Location = new System.Drawing.Point(260, 107);
|
||||
this.textBoxEx21.LongTime = 2000;
|
||||
this.textBoxEx21.MaxLength = 999999999;
|
||||
this.textBoxEx21.MaxUndoRedoSteps = 50;
|
||||
this.textBoxEx21.Multiline = false;
|
||||
this.textBoxEx21.Name = "textBoxEx21";
|
||||
this.textBoxEx21.OnlyNumeric = false;
|
||||
|
@ -125,6 +211,11 @@
|
|||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(700, 472);
|
||||
this.Controls.Add(this.CbbOpState);
|
||||
this.Controls.Add(this.htmlPanel1);
|
||||
this.Controls.Add(this.ryComboBox1);
|
||||
this.Controls.Add(this.comboBoxEx2);
|
||||
this.Controls.Add(this.comboBoxEx21);
|
||||
this.Controls.Add(this.ctlMyPage1);
|
||||
this.Controls.Add(this.textBoxEx21);
|
||||
this.Controls.Add(this.numericUpDownEx1);
|
||||
|
@ -146,5 +237,10 @@
|
|||
private ryControls.PanelEx panelEx1;
|
||||
private ryControls.ComboBoxEx comboBoxEx1;
|
||||
private ryControls.DateTimePickerEX dateTimePickerEX1;
|
||||
private ryControls.ComboBoxEx2 comboBoxEx21;
|
||||
private ryControls.ComboBoxEx comboBoxEx2;
|
||||
private ryControls.RyComboBox ryComboBox1;
|
||||
private TheArtOfDev.HtmlRenderer.WinForms.HtmlPanel htmlPanel1;
|
||||
private ryControls.RyComboBox CbbOpState;
|
||||
}
|
||||
}
|
|
@ -15,6 +15,7 @@ namespace SkinPreview
|
|||
public FrmTab2()
|
||||
{
|
||||
InitializeComponent();
|
||||
//htmlPanel1.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -71,17 +71,33 @@ namespace ryCommon
|
|||
/// <summary>
|
||||
/// 大文件按流复制文件,支持自动创建目标文件夹。 true:复制成功 false:复制失败
|
||||
/// </summary>
|
||||
/// <param name="soucrePath">原始文件路径</param>
|
||||
/// <param name="sourcePath">原始文件路径</param>
|
||||
/// <param name="targetPath">复制目标文件路径</param>
|
||||
/// <param name="Tag">携带的参数(可选)</param>
|
||||
/// <returns></returns>
|
||||
public bool CopyBigFile(string soucrePath, string targetPath,object Tag=null)
|
||||
public bool CopyBigFile(string sourcePath, string targetPath,object Tag=null)
|
||||
{
|
||||
try
|
||||
{
|
||||
if(SkipSameFiles)
|
||||
{
|
||||
if (System.IO.File.Exists(targetPath))
|
||||
{
|
||||
try
|
||||
{
|
||||
var target_info = new System.IO.FileInfo(targetPath);
|
||||
var source_info = new System.IO.FileInfo(sourcePath);
|
||||
if (target_info.Length == source_info.Length && target_info.LastWriteTimeUtc == source_info.LastWriteTimeUtc)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
}
|
||||
var TranSize = 1024 * 1024 * 2;//每次读取2M
|
||||
//读取复制文件流
|
||||
using (FileStream fsRead = new FileStream(soucrePath, FileMode.Open, FileAccess.Read))
|
||||
using (FileStream fsRead = new FileStream(sourcePath, FileMode.Open, FileAccess.Read))
|
||||
{
|
||||
if (System.IO.File.Exists(targetPath))
|
||||
{
|
||||
|
@ -149,6 +165,14 @@ namespace ryCommon
|
|||
{
|
||||
return false;
|
||||
}
|
||||
try
|
||||
{
|
||||
var source_info = new System.IO.FileInfo(sourcePath);
|
||||
var target_info = new System.IO.FileInfo(targetPath);
|
||||
target_info.LastWriteTime = source_info.LastWriteTime;
|
||||
target_info.CreationTime = source_info.CreationTime;
|
||||
}
|
||||
catch{ }
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -217,6 +241,10 @@ namespace ryCommon
|
|||
catch { }
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 是否跳过相同文件,默认不跳过(根据文件大小和修改时间来判断)
|
||||
/// </summary>
|
||||
public bool SkipSameFiles { get; set; } = false;
|
||||
public readonly List<string> ErrFilesList = new List<string>();
|
||||
/// <summary>
|
||||
/// 复制文件夹到目标文件夹,支持中途取消
|
||||
|
@ -234,7 +262,7 @@ namespace ryCommon
|
|||
var error = 0;
|
||||
Copy(fromDir, ToDir);
|
||||
Count = _count;
|
||||
return error;
|
||||
return -error;
|
||||
int Copy(string From_Dir, string To_Dir)
|
||||
{
|
||||
var _fromDir = From_Dir.TrimEnd('\\');
|
||||
|
@ -270,14 +298,6 @@ namespace ryCommon
|
|||
OnCanel?.Invoke(this, e1);
|
||||
if (e1.Cancel) { break; }
|
||||
}
|
||||
if (result > 0)
|
||||
{
|
||||
error++;
|
||||
}
|
||||
else if (result < 0)
|
||||
{
|
||||
error += -result;
|
||||
}
|
||||
}
|
||||
return -error;
|
||||
}
|
||||
|
|
|
@ -302,6 +302,7 @@ namespace rycUpdate
|
|||
var UpdateZipPath = Application.StartupPath + "\\Update\\tmp.tmp";
|
||||
var UnZipFolder = Application.StartupPath + "\\Update\\tmp";
|
||||
BigFileOp bigFileOp = new BigFileOp();
|
||||
bigFileOp.SkipSameFiles = false;
|
||||
bigFileOp.OnFolderProgress += BigFileOp_OnFolderProgress;
|
||||
//this.Invoke(new Action(() =>
|
||||
//{
|
||||
|
@ -364,7 +365,27 @@ namespace rycUpdate
|
|||
}
|
||||
error_id = 1003;
|
||||
error_msg = System.IO.Path.GetDirectoryName(UnZipFolder + "\\" + entry.FullName.Replace("/", "\\"));
|
||||
entry.ExtractToFile(UnZipFolder + "\\" + entry.FullName.Replace("/", "\\"), true);
|
||||
var is_same = false;
|
||||
try
|
||||
{
|
||||
if (bigFileOp.SkipSameFiles)
|
||||
{
|
||||
var topath = Application.StartupPath + "\\" + entry.FullName.Replace("/", "\\").Trim('\\');
|
||||
if (System.IO.File.Exists(topath))
|
||||
{
|
||||
var info = new +.IO.FileInfo(topath);
|
||||
if (info.Length == entry.Length && info.LastWriteTime == entry.LastWriteTime)
|
||||
{
|
||||
is_same = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
if (!is_same)
|
||||
{
|
||||
entry.ExtractToFile(UnZipFolder + "\\" + entry.FullName.Replace("/", "\\"), true);
|
||||
}
|
||||
this.Invoke(new Action(() =>
|
||||
{
|
||||
progressBar1.Value = i+1;
|
||||
|
@ -418,6 +439,7 @@ namespace rycUpdate
|
|||
}
|
||||
KillMultiProcess(list_proc);
|
||||
EndProcessByFolder(Application.StartupPath);
|
||||
Thread.Sleep(1000);
|
||||
#endregion
|
||||
ShowState("正在更新文件...");
|
||||
this.Invoke(new Action(() =>
|
||||
|
|
Loading…
Reference in New Issue
Block a user