## 📅2025-06-27 星期五更新

### RaUI    V4.0.2506.2701
- *.[新增]RediskCheck类新增支持对.NET3.5和.NET6-.NET9安装状态的判断。
- *.[新增]RyImage类的LoadPic方法新增Timeout参数设置。
- *.[新增]ChromeTabControl控件新增OnTabAddButtonClick和OnTabCloseButtonClick事件。
- *.[新增]Strings类新增GetEngOrNumPos方法,获取字符串里的英文或数字。
- *.[改进]ChromeTabControl默认风格改进。
- *.[改进]GetTimeStr新增ShowSeconds参数。
- *.[改进]RyImage.LoadPic获取网络图片时,UA改为Edge的UA。
- *.[改进]ListBoxEx从内部控件改为公开控件。
- *.[修复]AddHosts(string list,bool write)函数write为false时,不再写入hosts。
- *.[修复]修复无法在属性界面修改RichTextBox2的WordWrap属性的BUG。
- *.[修复]修复ApkOp读取apk内部版本号时,如果版本号带数字0可能无法读取的BUG。
- *.[修复]修复GetVerByVerStr传入null值会报错的BUG。
- *.[修复]修复ComboBoxEx2控件修改SelectedItem和SelectedIndex属性不会激发SelectedIndexChanged事件的BUG。
- *.[修复]修复ApkOp解压某些apk文件时,可能导致文件被占用的BUG。
- *.[修复]修复TextBoxEx2控件通过代码设置文本,无法触发文本变化事件的BUG。
- *.[修复]修复TextBoxEx2控件使用Tab按键,无法切换输入的BUG。
This commit is contained in:
紫林软件 2025-06-27 10:17:38 +08:00
parent b4e236fd55
commit 11a117a46d
74 changed files with 4025 additions and 930 deletions

View File

@ -421,6 +421,44 @@
<param name="isRegex"></param>
<returns></returns>
</member>
<member name="M:ryCommon.Strings.GetEngOrNumPos(System.String,System.Boolean)">
<summary>
提取字符串中的英文和数字
</summary>
<param name="str"></param>
<param name="eng_group_on">如果存在英文词组,则按词组方式提取</param>
<returns></returns>
</member>
<member name="T:ryCommon.StrPos">
<summary>
字符串位置类
</summary>
</member>
<member name="P:ryCommon.StrPos.StartPos">
<summary>
</summary>
</member>
<member name="P:ryCommon.StrPos.EndPos">
<summary>
</summary>
</member>
<member name="P:ryCommon.StrPos.Word">
<summary>
</summary>
</member>
<member name="P:ryCommon.StrPos.IsEng">
<summary>
是否是英文
</summary>
</member>
<member name="P:ryCommon.StrPos.IsNum">
<summary>
是否是数字
</summary>
</member>
<member name="T:ryCommon.JsonExt">
<summary>
Json扩展
@ -1194,6 +1232,20 @@
文件夹传输进度
</summary>
</member>
<member name="T:ryCommon.BigFileOp.CancelFileEventHandler">
<summary>
</summary>
<param name="sender"></param>
<param name="e"></param>
<param name="FromPath"></param>
<param name="ToPath"></param>
</member>
<member name="E:ryCommon.BigFileOp.OnCanelCopy">
<summary>
取消事件
</summary>
</member>
<member name="E:ryCommon.BigFileOp.OnCanel">
<summary>
取消事件
@ -2423,21 +2475,23 @@
<param name="bytes"></param>
<returns></returns>
</member>
<member name="M:ryCommon.RyImage.LoadPic(System.String,System.String)">
<member name="M:ryCommon.RyImage.LoadPic(System.String,System.String,System.Int32)">
<summary>
从文件或Url中加载图片,使用本方法,不会导致图片文件被占用。(如果是webp格式,需要引入OpenXmlPowerTools)
</summary>
<param name="url"></param>
<param name="Referer"></param>
<param name="Timeout"></param>
<returns></returns>
</member>
<member name="M:ryCommon.RyImage.LoadPic(System.String,System.Byte[]@,System.String)">
<member name="M:ryCommon.RyImage.LoadPic(System.String,System.Byte[]@,System.String,System.Int32)">
<summary>
从文件或Url中加载图片,使用本方法,不会导致图片文件被占用。(如果是webp格式,需要引入OpenXmlPowerTools)
</summary>
<param name="url"></param>
<param name="ImgByte"></param>
<param name="Referer"></param>
<param name="Timeout"></param>
<returns></returns>
</member>
<member name="M:ryCommon.RyImage.SaveHighQualityImage(System.Drawing.Bitmap,System.String,ryCommon.Pram.ImageType)">
@ -5646,12 +5700,42 @@
</summary>
<returns></returns>
</member>
<member name="M:ryCommon.RedistCheck.IsInstall_NET35">
<summary>
判断当前系统是否安装了.NET 3.5
</summary>
<returns></returns>
</member>
<member name="M:ryCommon.RedistCheck.IsInstall_NET48">
<summary>
判断当前系统是否安装了.NET 4.8
</summary>
<returns></returns>
</member>
<member name="M:ryCommon.RedistCheck.IsInstall_NET6">
<summary>
判断当前系统是否安装了.NET 6
</summary>
<returns></returns>
</member>
<member name="M:ryCommon.RedistCheck.IsInstall_NET7">
<summary>
判断当前系统是否安装了.NET 7
</summary>
<returns></returns>
</member>
<member name="M:ryCommon.RedistCheck.IsInstall_NET8">
<summary>
判断当前系统是否安装了.NET 8
</summary>
<returns></returns>
</member>
<member name="M:ryCommon.RedistCheck.IsInstall_NET9">
<summary>
判断当前系统是否安装了.NET 9
</summary>
<returns></returns>
</member>
<member name="T:ryCommon.RyDate">
<summary>
日期时间的操作类
@ -5749,11 +5833,12 @@
<param name="seconds">是否显示秒</param>
<returns></returns>
</member>
<member name="M:ryCommon.RyDate.GetTimeStr(System.Int64)">
<member name="M:ryCommon.RyDate.GetTimeStr(System.Int64,System.Boolean)">
<summary>
将秒数显示成中文表达式
</summary>
<param name="Seconds"></param>
<param name="ShowSeconds">显示秒</param>
<returns></returns>
</member>
<member name="M:ryCommon.RyDate.DateDiff(System.DateTime)">
@ -6148,7 +6233,15 @@
<param name="IEMode">7000 表示IE7兼容视图模式;8000 表示IE8 标准模式 ;8888 表示IE8 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式</param>
<returns></returns>
</member>
<member name="M:ryCommon.RyRegedit.SetFileAssociation(System.String,System.String,System.String,System.String,System.String)">
<member name="M:ryCommon.RyRegedit.SetFileAssociation(System.String,System.String,System.String)">
<summary>
设置文件关联
</summary>
<param name="Ext">扩展名(如.apk)</param>
<param name="filePath">文件路径</param>
<param name="iconPath">图标路径</param>
</member>
<member name="M:ryCommon.RyRegedit.SetFileAssociation(System.String,System.String,System.String,System.String,System.String,System.String)">
<summary>
设置文件关联
</summary>
@ -6157,8 +6250,9 @@
<param name="sName">app名称(建议用英文数字)</param>
<param name="AssDes">文件关联描述</param>
<param name="filePath">文件路径</param>
<param name="iconPath">图标路径</param>
</member>
<member name="M:ryCommon.RyRegedit.SetFileAssociation(System.String,System.String,System.String,System.String)">
<member name="M:ryCommon.RyRegedit.SetFileAssociation(System.String,System.String,System.String,System.String,System.String)">
<summary>
设置文件关联
</summary>
@ -6166,6 +6260,7 @@
<param name="sName">app名称(建议用英文数字)</param>
<param name="AssDes">文件关联描述</param>
<param name="filePath">文件路径</param>
<param name="iconPath">图标路径</param>
</member>
<member name="M:ryCommon.RyRegedit.SetFileAssociationOpenAs(System.String,System.String,System.String,System.String)">
<summary>
@ -10998,17 +11093,6 @@
the contents of this method with the code editor.
</summary>
</member>
<member name="M:RaUI.UI.Controls.ComboBox.ListBoxEx.DrawSelectedBackground(System.Windows.Forms.DrawItemEventArgs,System.Drawing.Rectangle)">
<summary>
重绘选中时背景
</summary>
</member>
<member name="M:RaUI.UI.Controls.ComboBox.ListBoxEx.OnMouseMove(System.Windows.Forms.MouseEventArgs)">
<summary>
重载鼠标移动事件
</summary>
<param name="e">鼠标参数</param>
</member>
<member name="T:RaUI.UI.LayeredForm.Extend">
<summary>
@ -11380,6 +11464,12 @@
</summary>
<param name="e"></param>
</member>
<member name="M:RaUI.UI.Rili.PaDateInput.OnPreviewKeyDown(System.Windows.Forms.PreviewKeyDownEventArgs)">
<summary>
</summary>
<param name="e"></param>
</member>
<member name="M:RaUI.UI.Rili.PaDateInput.OnKeyDown(System.Windows.Forms.KeyEventArgs)">
<summary>
@ -14758,6 +14848,13 @@
<param name="sender"></param>
<param name="e"></param>
</member>
<member name="T:RyWeb.HttpServer.HttpErrorHandler">
<summary>
</summary>
<param name="sender"></param>
<param name="e"></param>
</member>
<member name="E:RyWeb.HttpServer.OnHandleGETRequest">
<summary>
当收到Get事件时激发
@ -14768,6 +14865,11 @@
当收到Post事件时激发
</summary>
</member>
<member name="E:RyWeb.HttpServer.OnError">
<summary>
当收到错误时激发
</summary>
</member>
<member name="P:RyWeb.HttpServer.ListenerHost">
<summary>
监听的主机,默认是localhost
@ -14778,11 +14880,13 @@
最后一次错误信息
</summary>
</member>
<member name="M:RyWeb.HttpServer.#ctor(System.Int32)">
<member name="M:RyWeb.HttpServer.#ctor(System.Int32,System.Boolean,RyWeb.HttpServer.HttpErrorHandler)">
<summary>
在此端口建立Http服务类
</summary>
<param name="port">端口号</param>
<param name="isStart">是否直接启动服务</param>
<param name="OnError">端口号</param>
</member>
<member name="M:RyWeb.HttpServer.IsRunning">
<summary>
@ -19916,6 +20020,38 @@
</summary>
<param name="e"></param>
</member>
<member name="T:ryControls.ListBoxEx">
<summary>
ListBox增强版
</summary>
</member>
<member name="M:ryControls.ListBoxEx.#ctor">
<summary>
</summary>
</member>
<member name="M:ryControls.ListBoxEx.DrawSelectedBackground(System.Windows.Forms.DrawItemEventArgs,System.Drawing.Rectangle)">
<summary>
重绘选中时背景
</summary>
</member>
<member name="M:ryControls.ListBoxEx.OnDrawItem(System.Windows.Forms.DrawItemEventArgs)">
<summary>
</summary>
<param name="e"></param>
</member>
<member name="M:ryControls.ListBoxEx.OnMouseMove(System.Windows.Forms.MouseEventArgs)">
<summary>
重载鼠标移动事件
</summary>
<param name="e">鼠标参数</param>
</member>
<member name="P:ryControls.ListBoxEx.MouseIndex">
<summary>
</summary>
</member>
<member name="T:ryControls.RyComboBox">
<summary>
@ -20007,6 +20143,11 @@
当文本框为空时,显示的内容。
</summary>
</member>
<member name="P:ryControls.ComboBoxEx2.ToolTipText">
<summary>
鼠标移上时,显示提示
</summary>
</member>
<member name="P:ryControls.ComboBoxEx2.Font">
<summary>
字体
@ -20104,6 +20245,37 @@
使用代码编辑器修改此方法的内容。
</summary>
</member>
<member name="T:ryControls.ComboPopupItem">
<summary>
弹出框项
</summary>
</member>
<member name="P:ryControls.ComboPopupItem.Image">
<summary>
图标
</summary>
</member>
<member name="P:ryControls.ComboPopupItem.Text">
<summary>
文本
</summary>
</member>
<member name="P:ryControls.ComboPopupItem.ValueStr1">
<summary>
值1
</summary>
</member>
<member name="P:ryControls.ComboPopupItem.Tag">
<summary>
Tag
</summary>
</member>
<member name="M:ryControls.ComboPopupItem.ToString">
<summary>
</summary>
<returns></returns>
</member>
<member name="T:ryControls.Controls.ContextMenuStripRichText">
<summary>
@ -20194,9 +20366,19 @@
RichTextBox
</summary>
</member>
<member name="P:ryControls.Controls.RichTextBox2.DetectUrls">
<summary>
获取或设置一个值,该值指示是否将Url作为超链接处理
</summary>
</member>
<member name="P:ryControls.Controls.RichTextBox2.AutoWordSelection">
<summary>
获取或设置一个值,该值指示是否启用自动选择字词
</summary>
</member>
<member name="P:ryControls.Controls.RichTextBox2.WordWrap">
<summary>
是否开启自动换行
是否自动换行
</summary>
</member>
<member name="M:ryControls.Controls.RichTextBox2.OnHandleCreated(System.EventArgs)">
@ -22107,6 +22289,12 @@
</summary>
</member>
<member name="M:ryControls.TextBoxEx2.OnClick(System.EventArgs)">
<summary>
</summary>
<param name="e"></param>
</member>
<member name="P:ryControls.TextBoxEx2.LongTime">
<summary>
指定毫秒没更新内容,为0表示不激发此事件
@ -22193,21 +22381,11 @@
</summary>
<param name="e"></param>
</member>
<member name="M:ryControls.TextBoxEx2.EmptyShow">
<summary>
文本为空时的显示效果
</summary>
</member>
<member name="P:ryControls.TextBoxEx2.Font">
<summary>
字体
</summary>
</member>
<member name="M:ryControls.TextBoxEx2.HaveTextShow">
<summary>
有内容时的显示效果
</summary>
</member>
<member name="P:ryControls.TextBoxEx2.EmptyText">
<summary>
当文本框为空时,显示的内容。
@ -22230,6 +22408,12 @@
上次文本更新的时间
</summary>
</member>
<member name="M:ryControls.TextBoxEx2.OnGotFocus(System.EventArgs)">
<summary>
</summary>
<param name="e"></param>
</member>
<member name="P:ryControls.TextBoxEx2.MaxUndoRedoSteps">
<summary>
设置和获取撤消操作允许的最大步数
@ -24231,6 +24415,129 @@
使用代码编辑器修改此方法的内容。
</summary>
</member>
<member name="T:ryControls.CustomTabPageCollection">
<summary>
</summary>
</member>
<member name="M:ryControls.CustomTabPageCollection.#ctor(ryControls.ChromeTabControl)">
<summary>
</summary>
<param name="owner"></param>
</member>
<member name="M:ryControls.CustomTabPageCollection.FindByName(System.String)">
<summary>
</summary>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:ryControls.CustomTabPageCollection.Add(System.String,System.Windows.Forms.Control)">
<summary>
</summary>
<param name="text"></param>
<param name="content"></param>
<returns></returns>
</member>
<member name="M:ryControls.CustomTabPageCollection.Add(System.String)">
<summary>
</summary>
<param name="text"></param>
<returns></returns>
</member>
<member name="M:ryControls.CustomTabPageCollection.Add(System.String,System.String,System.Windows.Forms.Control)">
<summary>
</summary>
<param name="name"></param>
<param name="text"></param>
<param name="content"></param>
<returns></returns>
</member>
<member name="M:ryControls.CustomTabPageCollection.Add(ryControls.ChromeTabPage)">
<summary>
</summary>
<param name="value"></param>
<returns></returns>
<exception cref="T:System.ArgumentNullException"></exception>
</member>
<member name="M:ryControls.CustomTabPageCollection.IndexOf(ryControls.ChromeTabPage)">
<summary>
</summary>
<param name="page"></param>
<returns></returns>
<exception cref="T:System.ArgumentNullException"></exception>
</member>
<member name="M:ryControls.CustomTabPageCollection.Insert(System.Int32,ryControls.ChromeTabPage)">
<summary>
</summary>
<param name="index"></param>
<param name="tabPage"></param>
</member>
<member name="M:ryControls.CustomTabPageCollection.Remove(ryControls.ChromeTabPage)">
<summary>
</summary>
<param name="value"></param>
</member>
<member name="M:ryControls.CustomTabPageCollection.Contains(ryControls.ChromeTabPage)">
<summary>
</summary>
<param name="page"></param>
<returns></returns>
</member>
<member name="M:ryControls.CustomTabPageCollection.CopyTo(ryControls.ChromeTabPage[],System.Int32)">
<summary>
</summary>
<param name="array"></param>
<param name="arrayIndex"></param>
</member>
<member name="M:ryControls.CustomTabPageCollection.GetEnumerator">
<summary>
</summary>
<returns></returns>
</member>
<member name="E:ryControls.CustomTabPageCollection.TabPageRemoving">
<summary>
</summary>
</member>
<member name="M:ryControls.CustomTabPageCollection.OnTabPageRemoving(ryControls.ChromeTabPage)">
<summary>
</summary>
<param name="page"></param>
</member>
<member name="T:ryControls.TabPageCancelEventArgs">
<summary>
自定义事件参数类
</summary>
</member>
<member name="P:ryControls.TabPageCancelEventArgs.Page">
<summary>
</summary>
</member>
<member name="P:ryControls.TabPageCancelEventArgs.Cancel">
<summary>
</summary>
</member>
<member name="M:ryControls.TabPageCancelEventArgs.#ctor(ryControls.ChromeTabPage)">
<summary>
</summary>
<param name="page"></param>
</member>
<member name="T:ryControls.ChromeTabControl">
<summary>
Chrome风格的多标签控件
@ -24241,6 +24548,16 @@
设置选项卡处于选中状态时第一背景色.
</summary>
</member>
<member name="P:ryControls.ChromeTabControl.TabPages">
<summary>
</summary>
</member>
<member name="P:ryControls.ChromeTabControl.DrawTabBorder">
<summary>
是否画Tab边框
</summary>
</member>
<member name="P:ryControls.ChromeTabControl.TabOnColorEnd">
<summary>
设置选项卡处于选中状态时第二背景色.
@ -24333,15 +24650,16 @@
</summary>
<param name="g"></param>
</member>
<member name="M:ryControls.ChromeTabControl.DrawAll(System.Drawing.Graphics,System.Drawing.Rectangle,System.String,System.Boolean,System.Boolean)">
<member name="M:ryControls.ChromeTabControl.DrawAll(System.Drawing.Graphics,System.Drawing.Rectangle,System.Windows.Forms.TabPage,System.Boolean,System.Boolean,System.Nullable{System.Boolean})">
<summary>
</summary>
<param name="g"></param>
<param name="rect"></param>
<param name="title"></param>
<param name="chrometab"></param>
<param name="selected"></param>
<param name="mouseOver"></param>
<param name="CloseButtonVisible"></param>
</member>
<member name="P:ryControls.ChromeTabControl.Radius">
<summary>
@ -24371,11 +24689,12 @@
<param name="title"></param>
<param name="font"></param>
</member>
<member name="M:ryControls.ChromeTabControl.DrawTabIcon(System.Drawing.Graphics,System.Drawing.Rectangle)">
<member name="M:ryControls.ChromeTabControl.DrawTabIcon(System.Drawing.Graphics,System.Drawing.Image,System.Drawing.Rectangle)">
<summary>
画标签图标
</summary>
<param name="g"></param>
<param name="Icon"></param>
<param name="rect"></param>
</member>
<member name="M:ryControls.ChromeTabControl.DrawClose(System.Drawing.Graphics,System.Drawing.Rectangle,System.Boolean)">
@ -24410,6 +24729,16 @@
</summary>
<param name="e"></param>
</member>
<member name="E:ryControls.ChromeTabControl.OnTabAddButtonClick">
<summary>
点击Tab新增按钮,如果没有该事件,点击新增按钮,会自动新增页面,如果设置了该事件,需要用户手动处理新增页面
</summary>
</member>
<member name="E:ryControls.ChromeTabControl.OnTabCloseButtonClick">
<summary>
点击Tab关闭按钮
</summary>
</member>
<member name="M:ryControls.ChromeTabControl.OnMouseUp(System.Windows.Forms.MouseEventArgs)">
<summary>
@ -24474,6 +24803,27 @@
使用代码编辑器修改此方法的内容。
</summary>
</member>
<member name="T:ryControls.ChromeTabPage">
<summary>
</summary>
</member>
<member name="M:ryControls.ChromeTabPage.#ctor(System.String)">
<summary>
</summary>
<param name="title"></param>
</member>
<member name="P:ryControls.ChromeTabPage.CloseButtomVisible">
<summary>
是否显示关闭按钮
</summary>
</member>
<member name="P:ryControls.ChromeTabPage.Icon">
<summary>
显示Tab图标
</summary>
</member>
<member name="F:ryControls.Win32API.User32.TabControlHitTest.TCHT_NOWHERE">
<summary>
The position is not over a tab.
@ -28383,6 +28733,11 @@
窗体圆角程度
</summary>
</member>
<member name="P:MGdu.WinFormUI.ThemeFormBase.TabRadius">
<summary>
Tab圆角程度
</summary>
</member>
<member name="P:MGdu.WinFormUI.ThemeFormBase.RoundedStyle">
<summary>
窗体圆角样式

Binary file not shown.

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
</startup>
</configuration>

Binary file not shown.

View File

@ -421,6 +421,44 @@
<param name="isRegex"></param>
<returns></returns>
</member>
<member name="M:ryCommon.Strings.GetEngOrNumPos(System.String,System.Boolean)">
<summary>
提取字符串中的英文和数字
</summary>
<param name="str"></param>
<param name="eng_group_on">如果存在英文词组,则按词组方式提取</param>
<returns></returns>
</member>
<member name="T:ryCommon.StrPos">
<summary>
字符串位置类
</summary>
</member>
<member name="P:ryCommon.StrPos.StartPos">
<summary>
</summary>
</member>
<member name="P:ryCommon.StrPos.EndPos">
<summary>
</summary>
</member>
<member name="P:ryCommon.StrPos.Word">
<summary>
</summary>
</member>
<member name="P:ryCommon.StrPos.IsEng">
<summary>
是否是英文
</summary>
</member>
<member name="P:ryCommon.StrPos.IsNum">
<summary>
是否是数字
</summary>
</member>
<member name="T:ryCommon.JsonExt">
<summary>
Json扩展
@ -1194,6 +1232,20 @@
文件夹传输进度
</summary>
</member>
<member name="T:ryCommon.BigFileOp.CancelFileEventHandler">
<summary>
</summary>
<param name="sender"></param>
<param name="e"></param>
<param name="FromPath"></param>
<param name="ToPath"></param>
</member>
<member name="E:ryCommon.BigFileOp.OnCanelCopy">
<summary>
取消事件
</summary>
</member>
<member name="E:ryCommon.BigFileOp.OnCanel">
<summary>
取消事件
@ -2423,21 +2475,23 @@
<param name="bytes"></param>
<returns></returns>
</member>
<member name="M:ryCommon.RyImage.LoadPic(System.String,System.String)">
<member name="M:ryCommon.RyImage.LoadPic(System.String,System.String,System.Int32)">
<summary>
从文件或Url中加载图片,使用本方法,不会导致图片文件被占用。(如果是webp格式,需要引入OpenXmlPowerTools)
</summary>
<param name="url"></param>
<param name="Referer"></param>
<param name="Timeout"></param>
<returns></returns>
</member>
<member name="M:ryCommon.RyImage.LoadPic(System.String,System.Byte[]@,System.String)">
<member name="M:ryCommon.RyImage.LoadPic(System.String,System.Byte[]@,System.String,System.Int32)">
<summary>
从文件或Url中加载图片,使用本方法,不会导致图片文件被占用。(如果是webp格式,需要引入OpenXmlPowerTools)
</summary>
<param name="url"></param>
<param name="ImgByte"></param>
<param name="Referer"></param>
<param name="Timeout"></param>
<returns></returns>
</member>
<member name="M:ryCommon.RyImage.SaveHighQualityImage(System.Drawing.Bitmap,System.String,ryCommon.Pram.ImageType)">
@ -5646,12 +5700,42 @@
</summary>
<returns></returns>
</member>
<member name="M:ryCommon.RedistCheck.IsInstall_NET35">
<summary>
判断当前系统是否安装了.NET 3.5
</summary>
<returns></returns>
</member>
<member name="M:ryCommon.RedistCheck.IsInstall_NET48">
<summary>
判断当前系统是否安装了.NET 4.8
</summary>
<returns></returns>
</member>
<member name="M:ryCommon.RedistCheck.IsInstall_NET6">
<summary>
判断当前系统是否安装了.NET 6
</summary>
<returns></returns>
</member>
<member name="M:ryCommon.RedistCheck.IsInstall_NET7">
<summary>
判断当前系统是否安装了.NET 7
</summary>
<returns></returns>
</member>
<member name="M:ryCommon.RedistCheck.IsInstall_NET8">
<summary>
判断当前系统是否安装了.NET 8
</summary>
<returns></returns>
</member>
<member name="M:ryCommon.RedistCheck.IsInstall_NET9">
<summary>
判断当前系统是否安装了.NET 9
</summary>
<returns></returns>
</member>
<member name="T:ryCommon.RyDate">
<summary>
日期时间的操作类
@ -5749,11 +5833,12 @@
<param name="seconds">是否显示秒</param>
<returns></returns>
</member>
<member name="M:ryCommon.RyDate.GetTimeStr(System.Int64)">
<member name="M:ryCommon.RyDate.GetTimeStr(System.Int64,System.Boolean)">
<summary>
将秒数显示成中文表达式
</summary>
<param name="Seconds"></param>
<param name="ShowSeconds">显示秒</param>
<returns></returns>
</member>
<member name="M:ryCommon.RyDate.DateDiff(System.DateTime)">
@ -6148,7 +6233,15 @@
<param name="IEMode">7000 表示IE7兼容视图模式;8000 表示IE8 标准模式 ;8888 表示IE8 强制标准模式,在渲染失败的情况下不尝试用兼容视图模式</param>
<returns></returns>
</member>
<member name="M:ryCommon.RyRegedit.SetFileAssociation(System.String,System.String,System.String,System.String,System.String)">
<member name="M:ryCommon.RyRegedit.SetFileAssociation(System.String,System.String,System.String)">
<summary>
设置文件关联
</summary>
<param name="Ext">扩展名(如.apk)</param>
<param name="filePath">文件路径</param>
<param name="iconPath">图标路径</param>
</member>
<member name="M:ryCommon.RyRegedit.SetFileAssociation(System.String,System.String,System.String,System.String,System.String,System.String)">
<summary>
设置文件关联
</summary>
@ -6157,8 +6250,9 @@
<param name="sName">app名称(建议用英文数字)</param>
<param name="AssDes">文件关联描述</param>
<param name="filePath">文件路径</param>
<param name="iconPath">图标路径</param>
</member>
<member name="M:ryCommon.RyRegedit.SetFileAssociation(System.String,System.String,System.String,System.String)">
<member name="M:ryCommon.RyRegedit.SetFileAssociation(System.String,System.String,System.String,System.String,System.String)">
<summary>
设置文件关联
</summary>
@ -6166,6 +6260,7 @@
<param name="sName">app名称(建议用英文数字)</param>
<param name="AssDes">文件关联描述</param>
<param name="filePath">文件路径</param>
<param name="iconPath">图标路径</param>
</member>
<member name="M:ryCommon.RyRegedit.SetFileAssociationOpenAs(System.String,System.String,System.String,System.String)">
<summary>
@ -10998,17 +11093,6 @@
the contents of this method with the code editor.
</summary>
</member>
<member name="M:RaUI.UI.Controls.ComboBox.ListBoxEx.DrawSelectedBackground(System.Windows.Forms.DrawItemEventArgs,System.Drawing.Rectangle)">
<summary>
重绘选中时背景
</summary>
</member>
<member name="M:RaUI.UI.Controls.ComboBox.ListBoxEx.OnMouseMove(System.Windows.Forms.MouseEventArgs)">
<summary>
重载鼠标移动事件
</summary>
<param name="e">鼠标参数</param>
</member>
<member name="T:RaUI.UI.LayeredForm.Extend">
<summary>
@ -11380,6 +11464,12 @@
</summary>
<param name="e"></param>
</member>
<member name="M:RaUI.UI.Rili.PaDateInput.OnPreviewKeyDown(System.Windows.Forms.PreviewKeyDownEventArgs)">
<summary>
</summary>
<param name="e"></param>
</member>
<member name="M:RaUI.UI.Rili.PaDateInput.OnKeyDown(System.Windows.Forms.KeyEventArgs)">
<summary>
@ -14758,6 +14848,13 @@
<param name="sender"></param>
<param name="e"></param>
</member>
<member name="T:RyWeb.HttpServer.HttpErrorHandler">
<summary>
</summary>
<param name="sender"></param>
<param name="e"></param>
</member>
<member name="E:RyWeb.HttpServer.OnHandleGETRequest">
<summary>
当收到Get事件时激发
@ -14768,6 +14865,11 @@
当收到Post事件时激发
</summary>
</member>
<member name="E:RyWeb.HttpServer.OnError">
<summary>
当收到错误时激发
</summary>
</member>
<member name="P:RyWeb.HttpServer.ListenerHost">
<summary>
监听的主机,默认是localhost
@ -14778,11 +14880,13 @@
最后一次错误信息
</summary>
</member>
<member name="M:RyWeb.HttpServer.#ctor(System.Int32)">
<member name="M:RyWeb.HttpServer.#ctor(System.Int32,System.Boolean,RyWeb.HttpServer.HttpErrorHandler)">
<summary>
在此端口建立Http服务类
</summary>
<param name="port">端口号</param>
<param name="isStart">是否直接启动服务</param>
<param name="OnError">端口号</param>
</member>
<member name="M:RyWeb.HttpServer.IsRunning">
<summary>
@ -19916,6 +20020,38 @@
</summary>
<param name="e"></param>
</member>
<member name="T:ryControls.ListBoxEx">
<summary>
ListBox增强版
</summary>
</member>
<member name="M:ryControls.ListBoxEx.#ctor">
<summary>
</summary>
</member>
<member name="M:ryControls.ListBoxEx.DrawSelectedBackground(System.Windows.Forms.DrawItemEventArgs,System.Drawing.Rectangle)">
<summary>
重绘选中时背景
</summary>
</member>
<member name="M:ryControls.ListBoxEx.OnDrawItem(System.Windows.Forms.DrawItemEventArgs)">
<summary>
</summary>
<param name="e"></param>
</member>
<member name="M:ryControls.ListBoxEx.OnMouseMove(System.Windows.Forms.MouseEventArgs)">
<summary>
重载鼠标移动事件
</summary>
<param name="e">鼠标参数</param>
</member>
<member name="P:ryControls.ListBoxEx.MouseIndex">
<summary>
</summary>
</member>
<member name="T:ryControls.RyComboBox">
<summary>
@ -20007,6 +20143,11 @@
当文本框为空时,显示的内容。
</summary>
</member>
<member name="P:ryControls.ComboBoxEx2.ToolTipText">
<summary>
鼠标移上时,显示提示
</summary>
</member>
<member name="P:ryControls.ComboBoxEx2.Font">
<summary>
字体
@ -20104,6 +20245,37 @@
使用代码编辑器修改此方法的内容。
</summary>
</member>
<member name="T:ryControls.ComboPopupItem">
<summary>
弹出框项
</summary>
</member>
<member name="P:ryControls.ComboPopupItem.Image">
<summary>
图标
</summary>
</member>
<member name="P:ryControls.ComboPopupItem.Text">
<summary>
文本
</summary>
</member>
<member name="P:ryControls.ComboPopupItem.ValueStr1">
<summary>
值1
</summary>
</member>
<member name="P:ryControls.ComboPopupItem.Tag">
<summary>
Tag
</summary>
</member>
<member name="M:ryControls.ComboPopupItem.ToString">
<summary>
</summary>
<returns></returns>
</member>
<member name="T:ryControls.Controls.ContextMenuStripRichText">
<summary>
@ -20194,9 +20366,19 @@
RichTextBox
</summary>
</member>
<member name="P:ryControls.Controls.RichTextBox2.DetectUrls">
<summary>
获取或设置一个值,该值指示是否将Url作为超链接处理
</summary>
</member>
<member name="P:ryControls.Controls.RichTextBox2.AutoWordSelection">
<summary>
获取或设置一个值,该值指示是否启用自动选择字词
</summary>
</member>
<member name="P:ryControls.Controls.RichTextBox2.WordWrap">
<summary>
是否开启自动换行
是否自动换行
</summary>
</member>
<member name="M:ryControls.Controls.RichTextBox2.OnHandleCreated(System.EventArgs)">
@ -22107,6 +22289,12 @@
</summary>
</member>
<member name="M:ryControls.TextBoxEx2.OnClick(System.EventArgs)">
<summary>
</summary>
<param name="e"></param>
</member>
<member name="P:ryControls.TextBoxEx2.LongTime">
<summary>
指定毫秒没更新内容,为0表示不激发此事件
@ -22193,21 +22381,11 @@
</summary>
<param name="e"></param>
</member>
<member name="M:ryControls.TextBoxEx2.EmptyShow">
<summary>
文本为空时的显示效果
</summary>
</member>
<member name="P:ryControls.TextBoxEx2.Font">
<summary>
字体
</summary>
</member>
<member name="M:ryControls.TextBoxEx2.HaveTextShow">
<summary>
有内容时的显示效果
</summary>
</member>
<member name="P:ryControls.TextBoxEx2.EmptyText">
<summary>
当文本框为空时,显示的内容。
@ -22230,6 +22408,12 @@
上次文本更新的时间
</summary>
</member>
<member name="M:ryControls.TextBoxEx2.OnGotFocus(System.EventArgs)">
<summary>
</summary>
<param name="e"></param>
</member>
<member name="P:ryControls.TextBoxEx2.MaxUndoRedoSteps">
<summary>
设置和获取撤消操作允许的最大步数
@ -24231,6 +24415,129 @@
使用代码编辑器修改此方法的内容。
</summary>
</member>
<member name="T:ryControls.CustomTabPageCollection">
<summary>
</summary>
</member>
<member name="M:ryControls.CustomTabPageCollection.#ctor(ryControls.ChromeTabControl)">
<summary>
</summary>
<param name="owner"></param>
</member>
<member name="M:ryControls.CustomTabPageCollection.FindByName(System.String)">
<summary>
</summary>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:ryControls.CustomTabPageCollection.Add(System.String,System.Windows.Forms.Control)">
<summary>
</summary>
<param name="text"></param>
<param name="content"></param>
<returns></returns>
</member>
<member name="M:ryControls.CustomTabPageCollection.Add(System.String)">
<summary>
</summary>
<param name="text"></param>
<returns></returns>
</member>
<member name="M:ryControls.CustomTabPageCollection.Add(System.String,System.String,System.Windows.Forms.Control)">
<summary>
</summary>
<param name="name"></param>
<param name="text"></param>
<param name="content"></param>
<returns></returns>
</member>
<member name="M:ryControls.CustomTabPageCollection.Add(ryControls.ChromeTabPage)">
<summary>
</summary>
<param name="value"></param>
<returns></returns>
<exception cref="T:System.ArgumentNullException"></exception>
</member>
<member name="M:ryControls.CustomTabPageCollection.IndexOf(ryControls.ChromeTabPage)">
<summary>
</summary>
<param name="page"></param>
<returns></returns>
<exception cref="T:System.ArgumentNullException"></exception>
</member>
<member name="M:ryControls.CustomTabPageCollection.Insert(System.Int32,ryControls.ChromeTabPage)">
<summary>
</summary>
<param name="index"></param>
<param name="tabPage"></param>
</member>
<member name="M:ryControls.CustomTabPageCollection.Remove(ryControls.ChromeTabPage)">
<summary>
</summary>
<param name="value"></param>
</member>
<member name="M:ryControls.CustomTabPageCollection.Contains(ryControls.ChromeTabPage)">
<summary>
</summary>
<param name="page"></param>
<returns></returns>
</member>
<member name="M:ryControls.CustomTabPageCollection.CopyTo(ryControls.ChromeTabPage[],System.Int32)">
<summary>
</summary>
<param name="array"></param>
<param name="arrayIndex"></param>
</member>
<member name="M:ryControls.CustomTabPageCollection.GetEnumerator">
<summary>
</summary>
<returns></returns>
</member>
<member name="E:ryControls.CustomTabPageCollection.TabPageRemoving">
<summary>
</summary>
</member>
<member name="M:ryControls.CustomTabPageCollection.OnTabPageRemoving(ryControls.ChromeTabPage)">
<summary>
</summary>
<param name="page"></param>
</member>
<member name="T:ryControls.TabPageCancelEventArgs">
<summary>
自定义事件参数类
</summary>
</member>
<member name="P:ryControls.TabPageCancelEventArgs.Page">
<summary>
</summary>
</member>
<member name="P:ryControls.TabPageCancelEventArgs.Cancel">
<summary>
</summary>
</member>
<member name="M:ryControls.TabPageCancelEventArgs.#ctor(ryControls.ChromeTabPage)">
<summary>
</summary>
<param name="page"></param>
</member>
<member name="T:ryControls.ChromeTabControl">
<summary>
Chrome风格的多标签控件
@ -24241,6 +24548,16 @@
设置选项卡处于选中状态时第一背景色.
</summary>
</member>
<member name="P:ryControls.ChromeTabControl.TabPages">
<summary>
</summary>
</member>
<member name="P:ryControls.ChromeTabControl.DrawTabBorder">
<summary>
是否画Tab边框
</summary>
</member>
<member name="P:ryControls.ChromeTabControl.TabOnColorEnd">
<summary>
设置选项卡处于选中状态时第二背景色.
@ -24333,15 +24650,16 @@
</summary>
<param name="g"></param>
</member>
<member name="M:ryControls.ChromeTabControl.DrawAll(System.Drawing.Graphics,System.Drawing.Rectangle,System.String,System.Boolean,System.Boolean)">
<member name="M:ryControls.ChromeTabControl.DrawAll(System.Drawing.Graphics,System.Drawing.Rectangle,System.Windows.Forms.TabPage,System.Boolean,System.Boolean,System.Nullable{System.Boolean})">
<summary>
</summary>
<param name="g"></param>
<param name="rect"></param>
<param name="title"></param>
<param name="chrometab"></param>
<param name="selected"></param>
<param name="mouseOver"></param>
<param name="CloseButtonVisible"></param>
</member>
<member name="P:ryControls.ChromeTabControl.Radius">
<summary>
@ -24371,11 +24689,12 @@
<param name="title"></param>
<param name="font"></param>
</member>
<member name="M:ryControls.ChromeTabControl.DrawTabIcon(System.Drawing.Graphics,System.Drawing.Rectangle)">
<member name="M:ryControls.ChromeTabControl.DrawTabIcon(System.Drawing.Graphics,System.Drawing.Image,System.Drawing.Rectangle)">
<summary>
画标签图标
</summary>
<param name="g"></param>
<param name="Icon"></param>
<param name="rect"></param>
</member>
<member name="M:ryControls.ChromeTabControl.DrawClose(System.Drawing.Graphics,System.Drawing.Rectangle,System.Boolean)">
@ -24410,6 +24729,16 @@
</summary>
<param name="e"></param>
</member>
<member name="E:ryControls.ChromeTabControl.OnTabAddButtonClick">
<summary>
点击Tab新增按钮,如果没有该事件,点击新增按钮,会自动新增页面,如果设置了该事件,需要用户手动处理新增页面
</summary>
</member>
<member name="E:ryControls.ChromeTabControl.OnTabCloseButtonClick">
<summary>
点击Tab关闭按钮
</summary>
</member>
<member name="M:ryControls.ChromeTabControl.OnMouseUp(System.Windows.Forms.MouseEventArgs)">
<summary>
@ -24474,6 +24803,27 @@
使用代码编辑器修改此方法的内容。
</summary>
</member>
<member name="T:ryControls.ChromeTabPage">
<summary>
</summary>
</member>
<member name="M:ryControls.ChromeTabPage.#ctor(System.String)">
<summary>
</summary>
<param name="title"></param>
</member>
<member name="P:ryControls.ChromeTabPage.CloseButtomVisible">
<summary>
是否显示关闭按钮
</summary>
</member>
<member name="P:ryControls.ChromeTabPage.Icon">
<summary>
显示Tab图标
</summary>
</member>
<member name="F:ryControls.Win32API.User32.TabControlHitTest.TCHT_NOWHERE">
<summary>
The position is not over a tab.
@ -28383,6 +28733,11 @@
窗体圆角程度
</summary>
</member>
<member name="P:MGdu.WinFormUI.ThemeFormBase.TabRadius">
<summary>
Tab圆角程度
</summary>
</member>
<member name="P:MGdu.WinFormUI.ThemeFormBase.RoundedStyle">
<summary>
窗体圆角样式

View File

@ -1,8 +1,33 @@
### 2025-01-06 星期一更新
## :date:2025-06-27 星期五更新
### RaUI V4.0.2506.2701
- :cactus:[新增]RediskCheck类新增支持对.NET3.5和.NET6-.NET9安装状态的判断。
- :cactus:[新增]RyImage类的LoadPic方法新增Timeout参数设置。
- :cactus:[新增]ChromeTabControl控件新增OnTabAddButtonClick和OnTabCloseButtonClick事件。
- :cactus:[新增]Strings类新增GetEngOrNumPos方法,获取字符串里的英文或数字。
- :100:[改进]ChromeTabControl默认风格改进。
- :100:[改进]GetTimeStr新增ShowSeconds参数。
- :100:[改进]RyImage.LoadPic获取网络图片时,UA改为Edge的UA。
- :100:[改进]ListBoxEx从内部控件改为公开控件。
- :lady_beetle:[修复]AddHosts(string list,bool write)函数write为false时,不再写入hosts。
- :lady_beetle:[修复]修复无法在属性界面修改RichTextBox2的WordWrap属性的BUG。
- :lady_beetle:[修复]修复ApkOp读取apk内部版本号时,如果版本号带数字0可能无法读取的BUG。
- :lady_beetle:[修复]修复GetVerByVerStr传入null值会报错的BUG。
- :lady_beetle:[修复]修复ComboBoxEx2控件修改SelectedItem和SelectedIndex属性不会激发SelectedIndexChanged事件的BUG。
- :lady_beetle:[修复]修复ApkOp解压某些apk文件时可能导致文件被占用的BUG。
- :lady_beetle:[修复]修复TextBoxEx2控件通过代码设置文本无法触发文本变化事件的BUG。
- :lady_beetle:[修复]修复TextBoxEx2控件使用Tab按键,无法切换输入的BUG。
### 2025-01-06 星期一更新
------
#### OnLineUpgradeConfig V1.0.2501.0601
- *.[修复]修复用户管理列表无法默认勾选已选择用户的BUG。
#### RaUI V4.0.2501.0601
- *.[新增]RyFiles类新增SetFileDate、SetFileCreationTime、SetFileLastWriteTime方法。
- *.[新增]RyFiles.CopyBigFile方法现在会同步来源文件的创建和修改时间。
- *.[新增]ryQuickSQL类新增GetPostData函数,将数据快速转成Post数据。
@ -13,21 +38,29 @@
- *.[修复]修复WeifenLuo.WinFormsUI.Docking的ResourceManager.GetString路径不对导致报错的BUG。
### 2023-11-08更新
------
#### Itrycn_Project V1.0.0.0
暂无
#### RyPrint V3.0.2105.2201
暂无
#### Itrycn_Project2 V1.0.2311.0801
暂无
#### SkinPreview V1.0.0.0
暂无
#### RaUIV4 V4.0.2311.0801
暂无
### 2023-11-07更新
------
@ -44,18 +77,26 @@
### 2022-12-06更新
------
#### MyDbV4 V3.0.2212.0601
- *.[新增]全新的RyImage类聚合了各种图片操作函数(包括裁剪和水印功能)。
### 2022-05-26更新
------
#### MyDbV4 V3.0.2205.2601
- *.[新增]新增BigFileOp类,支持对大文件和批量文件操作处理。
- *.[改进]RyFiles类的部分函数更换为BigFileOp类底层操作。
### 2022-05-09更新
### 2022-05-09更新
------
#### MyDbV4 V3.0.2205.0901
- *.[改进]RyForm类的Show函数针对窗体最小化或不在屏幕内的情况做出优化。
- *.[改进]OpenFile函数在打开文件夹时,会调用默认资源管理器打开,而不再限定为系统。
@ -64,81 +105,119 @@
- *.[改进]GMForm窗体在最大化时不可移动窗体。
- *.[改进]改进ObjectListview列表中的按钮显示效果。
### 2022-05-07更新
### 2022-05-07更新
------
#### MyDbV4 V3.0.2205.0701
- *.[新增]新增多个注册表操作相关函数。
### 2022-03-11更新
### 2022-03-11更新
------
#### MyDbV4 V3.0.2203.1101
- *.[改进]ryQuickSQL中的int和long类型直接转变为数值,而不是参数变量。
- *.[修复]ryQuickSQL中的GetUpdateSQL函数会将《计算参数》进行更新的BUG。
### 2022-03-01更新
### 2022-03-01更新
------
#### MyDbV4 V3.0.2203.0101
- *.[新增]新增IsInTime和IsInDay扩展函数。
- *.[改进]完善部分注释,更加易懂。
- *.[改进]HttpServer类新增默认对postdata内容进行解析。
- *.[修复]修复PinYin类对《鑫》字转换错误的BUG。
#### MyDb_MySQLV4 V3.0.2203.0101
- *.[改进]MySQL的连接字符串自动追加Allow User Variables=True;
### 2022-02-21更新
### 2022-02-21更新
------
#### MyDbV4 V3.0.2202.2101
- *.[新增]新增HttpServer类,可以非常方便的建立http服务器。
### 2022-02-20更新
### 2022-02-20更新
------
#### MyDbV4 V3.0.2202.2001
- *.[新增]WebDecode类新增UrlToData和GetParam函数。
- *.[新增]VarExtension类新增针对GetParam的扩展方法。
- *.[改进]WebDecode类的IsUrlSafeChar和IntToHex函数改为私有方法。
### 2022-02-09更新
### 2022-02-09更新
------
#### MyDbV4 V3.0.2202.0901
- *.[改进]新增ToNString扩展函数,支持将数字转换成小数点末尾不带0的字符串。
### 2021-12-27更新
### 2021-12-27更新
------
#### MyDbV4 V3.0.2112.2701
- *.[新增]DateTime类型扩展函数新增ToJsTime、ToUnixTime。
### 2021-12-14更新
### 2021-12-14更新
------
#### MyDbV4 V3.0.2112.1401
- *.[修复]修复MSSQL的ExecuteNonQuery函数可能因为报错导致软件崩溃的BUG。
### 2021-10-26更新
### 2021-10-26更新
------
#### MyDbV4 V3.0.2110.2601
- *.[修复]修复Replace忽略大小替换函数只会替换成空字符串的BUG。
### 2021-10-01更新
### 2021-10-01更新
------
#### ryControls V3.0.2110.0101
- *.[改进]ObjectListView的FindMatchInRange方法改为包含关系而不是开头匹配。
### 2021-09-15更新
### 2021-09-15更新
------
#### MyDb V3.0.2109.1501
- *.[新增]QuickWeb类的GetSize函数新增支持返回异常信息。
- *.[新增]MSSQL数据库操作新增对byte[]字段的支持。
#### MyDb_SQLite V3.0.2109.1501
- *.[新增]新增对byte[]字段的支持。
#### MyDb_MySQL V3.0.2109.1501
- *.[新增]新增对byte[]字段的支持。
- *.[新增]新增对byte[]字段的支持。
### 2021-09-12更新
### 2021-09-12更新
------
#### ryControls V3.0.2109.1201
- *.[改进]ObjectListView控件的AspectToStringConverter函数新增行数据参数。
- *.[改进]ObjectListView控件的行高默认到25像素。
- *.[改进]ObjectListView控件默认行选择而不是列选择。
@ -146,6 +225,7 @@
- *.[改进]ObjectListView控件的ShowGroups属性默认值为false。
------
### 2021-09-07更新
------
@ -158,27 +238,39 @@
- *.[新增]新增支持按不同版本号下载不同url升级包的功能。
### 2021-09-07更新
### 2021-09-07更新
------
#### MyDb V3.0.2109.0701
- *.[新增]WinHotReg类新增Clear和Count属性。
- *.[新增]RyFiles类新增CopyBigFile函数采用流读写可复制大文件。
- *.[新增]RyFiles类的ReadAllText和ReadAllLines函数支持指定默认编码。
### 2021-09-03更新
### 2021-09-03更新
------
#### ryControls V3.0.2109.0301
- *.[改进]RichTextBox2控件现在可以自由选择字符区间。
- *.[改进]RichTextBox2控件改用Courier New等宽字体。
### 2021-08-03更新
------
#### MyDbV4 V3.0.2108.0301
- *.[新增]新增内置HtmlAgilityPack组件。
### 2021-07-29更新
------
#### MyDbV4 V3.0.2107.2901
- *.[新增]新增支持计算文件MD5。
- *.[新增]部分DataProvider功能移植到DbExtension里,增加扩展性。
- *.[新增]UnixTimeToDateTime和JSTimeToDateTime新增支持long参数。
@ -187,7 +279,7 @@
#### ryControlsV4 V3.0.2107.2901
- *.[改进]优化减少大量IDE警告和消息。
- *.[改进]优化减少大量IDE警告和消息。
### 2021-07-14更新
@ -195,7 +287,7 @@
#### ryControlsV4 V3.0.2107.1401
- *.[新增]ContextMenuStripRichText控件新增支持RichTextBox2的OnlyInputText属性。
- *.[新增]ContextMenuStripRichText控件新增支持RichTextBox2的OnlyInputText属性。
### 2021-07-05更新
@ -203,12 +295,14 @@
#### ryControlsV4 V3.0.2107.0501
- *.[修复]修复Gdu窗体阴影边框为0时出错的BUG。
- *.[修复]修复Gdu窗体阴影边框为0时出错的BUG。
### 2021-07-01更新
------
#### ryControlsV4 V3.0.2107.0101
- *.[新增]新增Sheng.Winform.Controls部分控件。
#### RyWeb V3.0.2107.0101
@ -220,58 +314,83 @@
- *.[新增]支持忽略大小写的替换功能。
### 2021-06-13更新
------
#### ryControls V2.1.2106.1301
- *.[改进]点击窗口标题栏最大化时, 不覆盖桌面任务栏。
### 2021-06-12更新
------
#### Itrycn_Project2 V1.0.2106.1201
- *.[新增]新增加入皮肤功能。
- *.[新增]对话框全部使用皮肤。
- *.[新增]新增加入扫描模板,快速开发扫描功能。
- *.[改进]公共变量进行区分设置,更加规范。
### 2021-04-03更新
------
#### ryControls V2.1.2104.0201
- *.[修复]修复在win7上Gdu.WinformUI会报错的BUG。
ryControls V2.1.2104.0201
- *.[修复]修复在win7上Gdu.WinformUI会报错的BUG。
### 2021-03-13更新
------
#### ryControls V2.1.2103.1301
- *.[改进]改进Gdu.WinformUI在窗体FormBorderStyle为None时最大化会覆盖状态栏的问题。
### 2021-02-28更新
------
#### ryControls V2.1.2102.2801
- *.[新增]新增部分WinAPI的注释。
- *.[修复]修复Gdu.WinformUI在开发环境中有时无法拖动修改窗体大小的BUG。
### 2021-02-27更新
------
#### ryControls V2.1.2102.2701
- *.[新增]按钮的渐变属性支持全局定义。
- *.[修复]修复Gdu.WinformUI在开发环境中重新编译会导致窗体变大的BUG。
### 2021-02-22更新
------
#### ryControls V2.1.2102.2201
- *.[新增]新加入Gdu.WinformUI控件。
### 2021-02-11更新
------
#### MyDb V2.1.2102.1101
- *.[新增]新增Auto类增加 鼠标模拟操作和按键模拟操作。
- *.[新增]新增WinAPI命名空间,将windows自带的API集中在这个命名空间。
### 2021-01-23 dev更新
------
#### ryUpdate V2.2.2101.2301
- *.[修复]修复对于指定用户更新,其它用户偶尔也能接收到更新的BUG。
@ -285,47 +404,67 @@
- *.[改进]ObjectListView新增TopSpace属性,表示Title和Description之间的垂直间距。
### 2021-01-12更新
------
#### ryControls V2.1.2101.1201
- *.[更新]内置的ObjectListView从1.13更新到2.9.1版本,并对主要属性进行汉化。
- *.[修复]修复新版ObjectListView选中项有筛选结果时,筛选结果白色字体看不清的BUG。
- *.[改进]TextBoxEx2默认事件改为TextChanged2。
### 2020-12-29 dev更新
------
#### ryControls V2.1.2012.2901
- *.[新增]IconViewEx控件支持角标设置。
### 2020-12-27 dev更新
------
#### ryControls V2.1.2012.2701
- *.[改进]IconViewEx控件选中背景颜色支持渐变。
- *.[改进]支持设置IconViewEx控件选中字体颜色。
### 2020-12-21 dev 更新
------
#### ryControls V2.1.2012.1801
- *.[新增]新增IconViewEx控件可以显示图标
- *.[新增]rySearch控件新增ColorGradient按钮渐变属性。
- *.[修复]rySearch控件修复UseDefSkin属性无效的BUG。
- *.[修复]修复ButtonEx按钮渐变可能导致边角颜色不统一的BUG。
#### MyDb V2.1.2012.2001
- *.[新增]RyFiles和ElevatedDragDropManager类新增AdminDragEnable函数,表示在管理员模式下支持拖放操作。
### 2020-12-19 dev 更新
------
#### MyDb V2.1.2012.1901
- *.[新增]Hosts类AddHosts函数新增支持判断是否需要更新hosts文件(不写入)。
### 2020-12-18 dev 更新
------
#### ryControls V2.1.2012.1801
- *.[修复]修复RichTextBox2控件拖动滚动条会导致界面变花的BUG。
### 2020-12-10 dev 更新
------
#### MyDbV4 V2.1.2012.1001
- *.[新增]新增函数IsEng来判断字符串是否是英文

View File

@ -21,8 +21,8 @@ namespace Itrycn_Project2.Config
}
else
{
//Application.Run(new FrmStart(args));
Application.Run(new FrmTest2());
Application.Run(new FrmStart(args));
//Application.Run(new FrmTest2());
//Application.Run(new WindowsFormsApp2.Form1());
}
}

View File

@ -46,6 +46,7 @@
//
// panel2
//
this.panel2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.panel2.Dock = System.Windows.Forms.DockStyle.Left;
this.panel2.Location = new System.Drawing.Point(1, 57);
this.panel2.Name = "panel2";

View File

@ -15,23 +15,20 @@ namespace Itrycn_Project2
public FrmMdiMain()
{
InitializeComponent();
this.MdiForms.Add(new Itrycn_Project2.Form1());
this.MdiForms.Add(new FrmTest2());
}
private void FrmMdiMain_Load(object sender, EventArgs e)
{
RyWeb.QuickWeb web=new RyWeb.QuickWeb();
web.ProxyIp = "192.168.1.253:8883";
web.ProxyUserName = "dangyou";
web.ProxyPassWord = "88888888";
var http= web.Get("https://www.google.com");
Form frm = new Itrycn_Project2.Form1();
frm.Icon = Icon;
frm.MdiParent = this;
//frm.Dock = DockStyle.Fill;//完全填充到应用程序
frm.WindowState = FormWindowState.Maximized;
frm.Show();
this.ActivateMdiChildForm(frm);
//base.MdiBarCreated += new EventHandler((object sender2, EventArgs e2) =>
//{
// Form frm = new Itrycn_Project2.Form1();
// frm.Icon = Icon;
// frm.MdiParent = this;
// //frm.Dock = DockStyle.Fill;//完全填充到应用程序
// frm.WindowState = FormWindowState.Maximized;
// frm.Show();
// this.ActivateMdiChildForm(frm);
//});
}
}
}

View File

@ -278,9 +278,9 @@ namespace Itrycn_Project2
//var size= web.GetSize("https://oss-admin.blazingcats.com/Product/Package/100_llfz_101_llfzgw_1656930048.apk");
//size = web.GetSize("https://oss-admin.blazingcats.com/Product/Package/100_llfz_101_llfzgw_1656930048.apk");
//textBox2.Text = web.Get("https://apkpure.com/cn/animation-throwdown-epic-ccg/com.kongregate.mobile.throwdown.google/download").Html;
//ryCommon.ApkOp apkOp = new ApkOp();
//apkOp.AAPT_Path = "E:\\My Datas\\My Codes\\毕方项目\\CSharp\\ryProcessManager\\Bin\\Debug\\SysDb\\Tools\\ApkLook\\aapt.exe";
//var kk = apkOp.Read_Apk("C:\\Users\\李凤鑫\\Desktop\\com.epicgames.portal.apk");
ryCommon.ApkOp apkOp = new ApkOp();
apkOp.AAPT_Path = "E:\\My Datas\\My Codes\\毕方项目\\CSharp\\ryProcessManager\\Bin\\Debug\\SysDb\\Tools\\ApkLook\\aapt.exe";
var kk = apkOp.Read_Apk("C:\\Users\\zilin\\Desktop\\Measure X.apk");
// objectListView1.InsertObjects(0, new LogInfo[] { new LogInfo() });
//var en= ryCommon.TxtFileEncoder.GetEncoding(@"E:\My Datas\毕方项目\CSharp\ryProcessManager\Bin\Debug\SysDb\applist.lst");
//var hosts = ryCommon.RyFiles.ReadAllText(@"E:\My Datas\毕方项目\CSharp\ryProcessManager\Bin\Debug\UserDb\Hosts.txt");

View File

@ -28,10 +28,48 @@
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmTest2));
this.maskedTextBox1 = new System.Windows.Forms.MaskedTextBox();
this.button1 = new System.Windows.Forms.Button();
this.tabPage3 = new System.Windows.Forms.TabPage();
this.tabPage4 = new System.Windows.Forms.TabPage();
this.chromeTabControl1 = new ryControls.ChromeTabControl();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.tabPage2 = new System.Windows.Forms.TabPage();
this.imageList1 = new System.Windows.Forms.ImageList(this.components);
this.textBoxEx23 = new ryControls.TextBoxEx2();
this.textBoxEx22 = new ryControls.TextBoxEx2();
this.toolStrip1 = new ryControls.ToolStripEx();
this.btnGo = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.BtnSaveTo = new System.Windows.Forms.ToolStripButton();
this.btnSetText = new System.Windows.Forms.ToolStripButton();
this.btnFromClip = new System.Windows.Forms.ToolStripButton();
this.btnClear = new System.Windows.Forms.ToolStripButton();
this.btnCopySource = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
this.btnInsert = new System.Windows.Forms.ToolStripDropDownButton();
this.ToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.ToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.ToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.ToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.btnSave = new System.Windows.Forms.ToolStripButton();
this.btnLoad = new System.Windows.Forms.ToolStripButton();
this.BtnRestore = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.BtnTools = new System.Windows.Forms.ToolStripDropDownButton();
this.btnSetting = new System.Windows.Forms.ToolStripDropDownButton();
this.btnTop = new System.Windows.Forms.ToolStripButton();
this.BtnIndent = new System.Windows.Forms.ToolStripButton();
this.tp_prog = new System.Windows.Forms.ToolStripProgressBar();
this.BtnNewOpen = new System.Windows.Forms.ToolStripButton();
this.textBoxEx21 = new ryControls.TextBoxEx2();
this.richTextBox21 = new ryControls.Controls.RichTextBox2();
this.fhDateTimePickerEX1 = new RaUI.UI.Rili.FhDateTimePickerEX();
this.ryComboBox1 = new ryControls.ComboBoxEx2();
this.button1 = new System.Windows.Forms.Button();
this.chromeTabControl1.SuspendLayout();
this.toolStrip1.SuspendLayout();
this.SuspendLayout();
//
// maskedTextBox1
@ -46,6 +84,386 @@
this.maskedTextBox1.ValidatingType = typeof(System.DateTime);
this.maskedTextBox1.Enter += new System.EventHandler(this.maskedTextBox1_Enter);
//
// button1
//
this.button1.Location = new System.Drawing.Point(237, 294);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(202, 53);
this.button1.TabIndex = 31;
this.button1.Text = "button1";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// tabPage3
//
this.tabPage3.Location = new System.Drawing.Point(0, 0);
this.tabPage3.Name = "tabPage3";
this.tabPage3.Size = new System.Drawing.Size(200, 100);
this.tabPage3.TabIndex = 0;
this.tabPage3.Text = "tabPage3";
this.tabPage3.UseVisualStyleBackColor = true;
//
// tabPage4
//
this.tabPage4.Location = new System.Drawing.Point(0, 0);
this.tabPage4.Name = "tabPage4";
this.tabPage4.Size = new System.Drawing.Size(200, 100);
this.tabPage4.TabIndex = 0;
this.tabPage4.Text = "tabPage4";
this.tabPage4.UseVisualStyleBackColor = true;
//
// chromeTabControl1
//
this.chromeTabControl1.AllowDragTab = true;
this.chromeTabControl1.BackTabPageImage = null;
this.chromeTabControl1.Controls.Add(this.tabPage1);
this.chromeTabControl1.Controls.Add(this.tabPage2);
this.chromeTabControl1.Cursor = System.Windows.Forms.Cursors.Default;
this.chromeTabControl1.ImageList = this.imageList1;
this.chromeTabControl1.ItemSize = new System.Drawing.Size(200, 25);
this.chromeTabControl1.Location = new System.Drawing.Point(12, 34);
this.chromeTabControl1.Name = "chromeTabControl1";
this.chromeTabControl1.SelectedIndex = 0;
this.chromeTabControl1.ShowAddButton = true;
this.chromeTabControl1.ShowCloseButton = true;
this.chromeTabControl1.Size = new System.Drawing.Size(656, 320);
this.chromeTabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
this.chromeTabControl1.TabContextMenuStrip = null;
this.chromeTabControl1.TabIndex = 38;
this.chromeTabControl1.TabMaxWidth = 200;
//
// tabPage1
//
this.tabPage1.ImageIndex = 0;
this.tabPage1.Location = new System.Drawing.Point(1, 29);
this.tabPage1.Name = "tabPage1";
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
this.tabPage1.Size = new System.Drawing.Size(654, 290);
this.tabPage1.TabIndex = 0;
this.tabPage1.Text = "tabPage1";
this.tabPage1.UseVisualStyleBackColor = true;
//
// tabPage2
//
this.tabPage2.ImageIndex = 1;
this.tabPage2.Location = new System.Drawing.Point(1, 29);
this.tabPage2.Name = "tabPage2";
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
this.tabPage2.Size = new System.Drawing.Size(654, 290);
this.tabPage2.TabIndex = 1;
this.tabPage2.Text = "tabPage2";
this.tabPage2.UseVisualStyleBackColor = true;
//
// imageList1
//
this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));
this.imageList1.TransparentColor = System.Drawing.Color.Transparent;
this.imageList1.Images.SetKeyName(0, "3h3");
this.imageList1.Images.SetKeyName(1, "87g");
this.imageList1.Images.SetKeyName(2, "downxia");
this.imageList1.Images.SetKeyName(3, "downxing");
//
// textBoxEx23
//
this.textBoxEx23.BackColor = System.Drawing.Color.White;
this.textBoxEx23.EmptyText = "测试2";
this.textBoxEx23.Location = new System.Drawing.Point(419, 90);
this.textBoxEx23.LongTime = 2000;
this.textBoxEx23.MaxLength = 999999999;
this.textBoxEx23.MaxUndoRedoSteps = 50;
this.textBoxEx23.Multiline = false;
this.textBoxEx23.Name = "textBoxEx23";
this.textBoxEx23.OnlyNumeric = false;
this.textBoxEx23.PasswordChar = '\0';
this.textBoxEx23.ReadOnly = false;
this.textBoxEx23.SelectedText = "";
this.textBoxEx23.SelectionLength = 0;
this.textBoxEx23.SelectionStart = 0;
this.textBoxEx23.Size = new System.Drawing.Size(237, 40);
this.textBoxEx23.TabIndex = 37;
this.textBoxEx23.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
this.textBoxEx23.ToolTip = "";
this.textBoxEx23.WordWrap = true;
//
// textBoxEx22
//
this.textBoxEx22.BackColor = System.Drawing.Color.White;
this.textBoxEx22.EmptyText = "测试1";
this.textBoxEx22.Location = new System.Drawing.Point(88, 74);
this.textBoxEx22.LongTime = 2000;
this.textBoxEx22.MaxLength = 999999999;
this.textBoxEx22.MaxUndoRedoSteps = 50;
this.textBoxEx22.Multiline = false;
this.textBoxEx22.Name = "textBoxEx22";
this.textBoxEx22.OnlyNumeric = false;
this.textBoxEx22.PasswordChar = '\0';
this.textBoxEx22.ReadOnly = false;
this.textBoxEx22.SelectedText = "";
this.textBoxEx22.SelectionLength = 0;
this.textBoxEx22.SelectionStart = 0;
this.textBoxEx22.Size = new System.Drawing.Size(237, 40);
this.textBoxEx22.TabIndex = 36;
this.textBoxEx22.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
this.textBoxEx22.ToolTip = "";
this.textBoxEx22.WordWrap = true;
//
// toolStrip1
//
this.toolStrip1.ClickThrough = true;
this.toolStrip1.ImageScalingSize = new System.Drawing.Size(24, 24);
this.toolStrip1.ImeMode = System.Windows.Forms.ImeMode.Off;
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.btnGo,
this.toolStripSeparator1,
this.BtnSaveTo,
this.btnSetText,
this.btnFromClip,
this.btnClear,
this.btnCopySource,
this.toolStripSeparator3,
this.btnInsert,
this.btnSave,
this.btnLoad,
this.BtnRestore,
this.toolStripSeparator2,
this.BtnTools,
this.btnSetting,
this.btnTop,
this.BtnIndent,
this.tp_prog,
this.BtnNewOpen});
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Size = new System.Drawing.Size(839, 31);
this.toolStrip1.SuppressHighlighting = true;
this.toolStrip1.TabIndex = 35;
//
// btnGo
//
this.btnGo.Image = ((System.Drawing.Image)(resources.GetObject("btnGo.Image")));
this.btnGo.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btnGo.Name = "btnGo";
this.btnGo.Size = new System.Drawing.Size(105, 28);
this.btnGo.Text = "一键处理(F1)";
this.btnGo.ToolTipText = "使用本功能将自动进行排版、锚文本、复制到剪切板。";
//
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(6, 31);
//
// BtnSaveTo
//
this.BtnSaveTo.Image = ((System.Drawing.Image)(resources.GetObject("BtnSaveTo.Image")));
this.BtnSaveTo.ImageTransparentColor = System.Drawing.Color.Magenta;
this.BtnSaveTo.Name = "BtnSaveTo";
this.BtnSaveTo.Size = new System.Drawing.Size(96, 28);
this.BtnSaveTo.Text = "保存回任务";
this.BtnSaveTo.Visible = false;
//
// btnSetText
//
this.btnSetText.Image = ((System.Drawing.Image)(resources.GetObject("btnSetText.Image")));
this.btnSetText.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btnSetText.Name = "btnSetText";
this.btnSetText.Size = new System.Drawing.Size(84, 28);
this.btnSetText.Text = "写入文本";
this.btnSetText.ToolTipText = "把剪贴板里的内容当成文本粘贴到当前编辑器中。";
//
// btnFromClip
//
this.btnFromClip.Image = ((System.Drawing.Image)(resources.GetObject("btnFromClip.Image")));
this.btnFromClip.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btnFromClip.Name = "btnFromClip";
this.btnFromClip.Size = new System.Drawing.Size(84, 28);
this.btnFromClip.Text = "写入源码";
this.btnFromClip.ToolTipText = "拷贝剪贴板里的代码到编辑器中。";
//
// btnClear
//
this.btnClear.Image = ((System.Drawing.Image)(resources.GetObject("btnClear.Image")));
this.btnClear.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btnClear.Name = "btnClear";
this.btnClear.Size = new System.Drawing.Size(84, 28);
this.btnClear.Text = "清空内容";
this.btnClear.ToolTipText = "清空内容\r\n\r\n如果原先载入或保存了一个记录则清空内容会新开一个记录。";
//
// btnCopySource
//
this.btnCopySource.Image = ((System.Drawing.Image)(resources.GetObject("btnCopySource.Image")));
this.btnCopySource.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btnCopySource.Name = "btnCopySource";
this.btnCopySource.Size = new System.Drawing.Size(84, 28);
this.btnCopySource.Text = "复制源码";
this.btnCopySource.ToolTipText = "将编辑框中的源代码复制到剪切板";
//
// toolStripSeparator3
//
this.toolStripSeparator3.Name = "toolStripSeparator3";
this.toolStripSeparator3.Size = new System.Drawing.Size(6, 31);
//
// btnInsert
//
this.btnInsert.AutoToolTip = false;
this.btnInsert.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.ToolStripMenuItem1,
this.ToolStripMenuItem1,
this.ToolStripMenuItem1,
this.ToolStripMenuItem1});
this.btnInsert.Image = ((System.Drawing.Image)(resources.GetObject("btnInsert.Image")));
this.btnInsert.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btnInsert.Name = "btnInsert";
this.btnInsert.Size = new System.Drawing.Size(69, 28);
this.btnInsert.Text = "插入";
this.btnInsert.Visible = false;
//
// 插入表格ToolStripMenuItem1
//
this.ToolStripMenuItem1.Image = ((System.Drawing.Image)(resources.GetObject("插入表格ToolStripMenuItem1.Image")));
this.ToolStripMenuItem1.Name = "插入表格ToolStripMenuItem1";
this.ToolStripMenuItem1.Size = new System.Drawing.Size(124, 22);
this.ToolStripMenuItem1.Text = "插入表格";
//
// 插入软件ToolStripMenuItem1
//
this.ToolStripMenuItem1.Image = ((System.Drawing.Image)(resources.GetObject("插入软件ToolStripMenuItem1.Image")));
this.ToolStripMenuItem1.Name = "插入软件ToolStripMenuItem1";
this.ToolStripMenuItem1.Size = new System.Drawing.Size(124, 22);
this.ToolStripMenuItem1.Text = "插入软件";
//
// 插入视频ToolStripMenuItem1
//
this.ToolStripMenuItem1.Image = ((System.Drawing.Image)(resources.GetObject("插入视频ToolStripMenuItem1.Image")));
this.ToolStripMenuItem1.Name = "插入视频ToolStripMenuItem1";
this.ToolStripMenuItem1.Size = new System.Drawing.Size(124, 22);
this.ToolStripMenuItem1.Text = "插入视频";
//
// 插入按键ToolStripMenuItem1
//
this.ToolStripMenuItem1.Image = ((System.Drawing.Image)(resources.GetObject("插入按键ToolStripMenuItem1.Image")));
this.ToolStripMenuItem1.Name = "插入按键ToolStripMenuItem1";
this.ToolStripMenuItem1.Size = new System.Drawing.Size(124, 22);
this.ToolStripMenuItem1.Text = "插入按键";
//
// btnSave
//
this.btnSave.Image = ((System.Drawing.Image)(resources.GetObject("btnSave.Image")));
this.btnSave.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btnSave.Name = "btnSave";
this.btnSave.Size = new System.Drawing.Size(60, 28);
this.btnSave.Text = "保存";
this.btnSave.ToolTipText = "保存当前源码和记事本到数据库中";
//
// btnLoad
//
this.btnLoad.Image = ((System.Drawing.Image)(resources.GetObject("btnLoad.Image")));
this.btnLoad.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btnLoad.Name = "btnLoad";
this.btnLoad.Size = new System.Drawing.Size(60, 28);
this.btnLoad.Text = "载入";
this.btnLoad.ToolTipText = "从数据库中恢复源码和记事本。";
//
// BtnRestore
//
this.BtnRestore.Image = ((System.Drawing.Image)(resources.GetObject("BtnRestore.Image")));
this.BtnRestore.ImageTransparentColor = System.Drawing.Color.Magenta;
this.BtnRestore.Name = "BtnRestore";
this.BtnRestore.Size = new System.Drawing.Size(84, 28);
this.BtnRestore.Text = "断电恢复";
//
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(6, 31);
//
// BtnTools
//
this.BtnTools.Image = ((System.Drawing.Image)(resources.GetObject("BtnTools.Image")));
this.BtnTools.ImageTransparentColor = System.Drawing.Color.Magenta;
this.BtnTools.Name = "BtnTools";
this.BtnTools.Size = new System.Drawing.Size(69, 28);
this.BtnTools.Text = "工具";
//
// btnSetting
//
this.btnSetting.Image = ((System.Drawing.Image)(resources.GetObject("btnSetting.Image")));
this.btnSetting.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btnSetting.Name = "btnSetting";
this.btnSetting.Size = new System.Drawing.Size(69, 28);
this.btnSetting.Text = "更多";
this.btnSetting.ToolTipText = "点击来查看更多设置和功能。";
//
// btnTop
//
this.btnTop.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
this.btnTop.CheckOnClick = true;
this.btnTop.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.btnTop.Image = ((System.Drawing.Image)(resources.GetObject("btnTop.Image")));
this.btnTop.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btnTop.Name = "btnTop";
this.btnTop.Size = new System.Drawing.Size(28, 28);
this.btnTop.Text = "窗口置顶";
//
// BtnIndent
//
this.BtnIndent.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
this.BtnIndent.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.BtnIndent.Image = ((System.Drawing.Image)(resources.GetObject("BtnIndent.Image")));
this.BtnIndent.ImageTransparentColor = System.Drawing.Color.Magenta;
this.BtnIndent.Name = "BtnIndent";
this.BtnIndent.Size = new System.Drawing.Size(28, 28);
this.BtnIndent.Text = "缩进";
this.BtnIndent.Visible = false;
//
// tp_prog
//
this.tp_prog.Name = "tp_prog";
this.tp_prog.Size = new System.Drawing.Size(100, 28);
this.tp_prog.Visible = false;
//
// BtnNewOpen
//
this.BtnNewOpen.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
this.BtnNewOpen.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.BtnNewOpen.Image = ((System.Drawing.Image)(resources.GetObject("BtnNewOpen.Image")));
this.BtnNewOpen.ImageTransparentColor = System.Drawing.Color.Magenta;
this.BtnNewOpen.Name = "BtnNewOpen";
this.BtnNewOpen.Size = new System.Drawing.Size(28, 28);
this.BtnNewOpen.Text = "新开一个排版助手";
//
// textBoxEx21
//
this.textBoxEx21.BackColor = System.Drawing.Color.White;
this.textBoxEx21.EmptyText = "ddd收到东方大道";
this.textBoxEx21.Location = new System.Drawing.Point(182, 371);
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(228, 45);
this.textBoxEx21.TabIndex = 33;
this.textBoxEx21.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
this.textBoxEx21.ToolTip = "";
this.textBoxEx21.WordWrap = true;
//
// richTextBox21
//
this.richTextBox21.EmptyText = "";
this.richTextBox21.Font = new System.Drawing.Font("Courier New", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.richTextBox21.Location = new System.Drawing.Point(458, 274);
this.richTextBox21.Name = "richTextBox21";
this.richTextBox21.OnlyInputText = false;
this.richTextBox21.Size = new System.Drawing.Size(204, 134);
this.richTextBox21.TabIndex = 32;
this.richTextBox21.Text = "";
//
// fhDateTimePickerEX1
//
this.fhDateTimePickerEX1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(213)))), ((int)(((byte)(216)))), ((int)(((byte)(223)))));
@ -76,22 +494,19 @@
this.ryComboBox1.SelectedItem = null;
this.ryComboBox1.Size = new System.Drawing.Size(238, 36);
this.ryComboBox1.TabIndex = 26;
//
// button1
//
this.button1.Location = new System.Drawing.Point(237, 294);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(202, 53);
this.button1.TabIndex = 31;
this.button1.Text = "button1";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
this.ryComboBox1.ToolTipText = "";
//
// FrmTest2
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(839, 619);
this.Controls.Add(this.chromeTabControl1);
this.Controls.Add(this.textBoxEx23);
this.Controls.Add(this.textBoxEx22);
this.Controls.Add(this.toolStrip1);
this.Controls.Add(this.textBoxEx21);
this.Controls.Add(this.richTextBox21);
this.Controls.Add(this.button1);
this.Controls.Add(this.fhDateTimePickerEX1);
this.Controls.Add(this.maskedTextBox1);
@ -99,6 +514,9 @@
this.Name = "FrmTest2";
this.Text = "+++";
this.Load += new System.EventHandler(this.FrmTest2_Load);
this.chromeTabControl1.ResumeLayout(false);
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
@ -110,5 +528,39 @@
private System.Windows.Forms.MaskedTextBox maskedTextBox1;
private RaUI.UI.Rili.FhDateTimePickerEX fhDateTimePickerEX1;
private System.Windows.Forms.Button button1;
private ryControls.Controls.RichTextBox2 richTextBox21;
private ryControls.TextBoxEx2 textBoxEx21;
public ryControls.ToolStripEx toolStrip1;
private System.Windows.Forms.ToolStripButton btnGo;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
private System.Windows.Forms.ToolStripButton BtnSaveTo;
private System.Windows.Forms.ToolStripButton btnSetText;
private System.Windows.Forms.ToolStripButton btnFromClip;
private System.Windows.Forms.ToolStripButton btnClear;
private System.Windows.Forms.ToolStripButton btnCopySource;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
private System.Windows.Forms.ToolStripDropDownButton btnInsert;
private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem1;
private System.Windows.Forms.ToolStripButton btnSave;
private System.Windows.Forms.ToolStripButton btnLoad;
private System.Windows.Forms.ToolStripButton BtnRestore;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
public System.Windows.Forms.ToolStripDropDownButton BtnTools;
private System.Windows.Forms.ToolStripDropDownButton btnSetting;
private System.Windows.Forms.ToolStripButton btnTop;
private System.Windows.Forms.ToolStripButton BtnIndent;
private System.Windows.Forms.ToolStripProgressBar tp_prog;
private System.Windows.Forms.ToolStripButton BtnNewOpen;
private ryControls.TextBoxEx2 textBoxEx22;
private ryControls.TextBoxEx2 textBoxEx23;
private System.Windows.Forms.TabPage tabPage3;
private System.Windows.Forms.TabPage tabPage4;
private System.Windows.Forms.TabPage tabPage2;
private System.Windows.Forms.TabPage tabPage1;
private ryControls.ChromeTabControl chromeTabControl1;
private System.Windows.Forms.ImageList imageList1;
}
}

View File

@ -2,6 +2,7 @@
using ryCommon;
using ryControls;
using RyHardWare;
using ScintillaNETV2;
using System;
using System.Collections.Generic;
using System.ComponentModel;
@ -13,6 +14,7 @@ using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using VPKSoft2.ScintillaLexers;
namespace Itrycn_Project2
{
@ -25,9 +27,13 @@ namespace Itrycn_Project2
private void FrmTest2_Load(object sender, EventArgs e)
{
RyFiles.CopyBigFile("E:\\My Datas\\开发软件\\开发辅助\\SuperDesign.exe", "E:\\My Datas\\开发软件\\开发辅助\\SuperDesign2.exe");
//ctlTreeView1.LoadFromXMLText("<root><list Value=\"红包活动\" Tag=\"&lt;root&gt;&lt;list id=&quot;Setting&quot; keys=&quot;N0&quot; pwd=&quot;&quot; user=&quot;&quot; /&gt;&lt;/root&gt;\" ImageIndex=\"11\" ImageKey=\"\" /><list Value=\"生日提醒\" Tag=\"&lt;root&gt;&lt;list id=&quot;Setting&quot; keys=&quot;N1&quot; pwd=&quot;&quot; user=&quot;&quot; /&gt;&lt;/root&gt;\" ImageIndex=\"4\" ImageKey=\"\"><list Value=\"亲人生日\" Tag=\"&lt;root&gt;&lt;list id=&quot;Setting&quot; keys=&quot;N5&quot; pwd=&quot;&quot; user=&quot;&quot; /&gt;&lt;/root&gt;\" ImageIndex=\"4\" ImageKey=\"\" /></list><list Value=\"执行任务\" Tag=\"&lt;root&gt;&lt;list id=&quot;Setting&quot; keys=&quot;N3&quot; pwd=&quot;&quot; user=&quot;&quot; /&gt;&lt;/root&gt;\" ImageIndex=\"9\" ImageKey=\"\" /><list Value=\"日常提醒\" Tag=\"&lt;root&gt;&lt;list id=&quot;Setting&quot; keys=&quot;N2&quot; pwd=&quot;&quot; user=&quot;&quot; /&gt;&lt;/root&gt;\" ImageIndex=\"5\" ImageKey=\"\"><list Value=\"信用卡还款提醒\" Tag=\"&lt;root&gt;&lt;list id=&quot;Setting&quot; keys=&quot;N4&quot; pwd=&quot;&quot; user=&quot;&quot; /&gt;&lt;/root&gt;\" ImageIndex=\"7\" ImageKey=\"\" /></list></root>");
//ctlTreeView1.Nodes.Add("nokeys", "未分组的提醒", 0);
RyImage.LoadPic("https://m.fhyx.com/img/favicon.ico");
//MessageBox.Show(RedistCheck.IsInstall_NET35()==true?"安装成功":"未安装");
ryComboBox1.Text = "gggg";
var ssss= HardWare.GetDiskListInfo();
var ssss = HardWare.GetDiskListInfo();
//chromeTabControl1.TabPages.Add(new ChromeTabPage("ddddddd") {CloseButtomVisible=false });
}
private void maskedTextBox1_Enter(object sender, EventArgs e)
@ -38,10 +44,11 @@ namespace Itrycn_Project2
private void button1_Click(object sender, EventArgs e)
{
ryCommon.ApkOp apkOp = new ApkOp();
apkOp.DeepAnaly_On = true;
apkOp.AAPT_Path = "E:\\My Datas\\My Codes\\毕方项目\\CSharp\\ryProcessManager\\Bin\\Debug\\SysDb\\Tools\\ApkLook\\aapt.exe";
var Files = new List<string>
{
"E:\\My Datas\\Documents\\WeChat Files\\zilinwx\\FileStorage\\File\\2024-02\\3.跳一跳助手.apk",
"C:\\Users\\zilin\\Desktop\\1.apk",
};
for (int i = 0; i < Files.Count; i++)
@ -63,5 +70,9 @@ namespace Itrycn_Project2
}
}
}
private void scintilla1_UpdateUI(object sender, ScintillaNETV2.UpdateUIEventArgs e)
{
}
}
}

View File

@ -117,6 +117,446 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="imageList1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>136, 14</value>
</metadata>
<data name="imageList1.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABm
HgAAAk1TRnQBSQFMAgEBBAEAASABAAEgAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
AwABIAMAAQEBAAEgBgABIP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8AIgABOgF8Af0B/wEx
AXsB+gH/ATMBeAH6Af8BMgF8AfwB/wEzAX4B+wH/ATgBfAH6Af8BNQF8AfwB/wE0AXsB/AH/ATQBewH8
Af8BNQF8AfwB/wE2AX0B/QH/ATQBewH9Af8BMAF+AfcB/wE0AXkB+QH/AVIBigH5Af8B2QHlAfgB/wMW
AR0BUgFeAWgBwQEcAXsBzQH2ARkBfAHaAfgBGgF8AdoB+AEZAXwB2gH4ARkBfAHaAfgBGQF8AdoB+AEZ
AXwB2gH4ARkBfAHaAfgBGQF8AdoB+AEZAX0B2gH4ARoBfgHaAfgBGgF6AdoB+AFBAWwBnQHmAzwBZgFl
AbcBKQH/AWgBuAErAf8BagG5ASoB/wFoAbYBKwH/AWYBuAErAf8BZQG5AS0B/wFlAbgBJgH/AWgBtgEt
Af8BYwG5ASoB/wFlAbkBKgH/AW0BtwEtAf8BZgG4ASwB/wFmAboBKAH/AWUBugEqAf8BYgG3ASgB/wFp
AbgBKwX/AfwC/QH/AfoB/wH+Af8B/QH+AfoB/wH2AvwB/wL+AfsC/wL+Af8B+wL9Af8B/gH7Af0B/wH9
Af4B/AH/Af4B/wH+Af8B/AH/AfwC/wH8Av8B+wH+AfsB/wL9Av8B/QH+Af0B/wE0AXgB+wH/ATMBeQH6
Af8BPQF4Av8BQAF0AfsB/wEzAXIB+AH/ATQBeAL/ATgBdgH+Af8BNwF1Af0B/wE3AXUB/QH/ATcBdQH9
Af8BNwF1Af0B/wE4AXcB/AH/AT4BcwL/ATQBeQH+Af8BJwFyAv8BUgGMAfkB/wFVAWEBbQHIAQEBiQL/
AQEBfgL/AQEBlAL/AQABkQL/AQMBjQL/AU0BowH1Af8BhQG8Ae0B/wGUAcMB6gH/AWQBqQHxAf8BCgF1
Af4B/wEAAWQC/wEBAWsC/wEBAZAC/wEBAZEC/wEvAXcBsgHvAWgBugErAf8BZwG3AS8B/wFiAbcBJQH/
AWYBuQEsAf8BYwG1ASwB/wFiAbcBIwH/AWABtAEgAf8BWwG0ARkB/wFeAb0BGAH/AWcBuAEwAf8BawGy
ASwB/wFpAbgBKQH/AWkBuAEpAf8BagG5ASgB/wFnAbcBKAH/AWQBuQEsAf8B0QHvAv8BZgHRAf4B/wFu
AdUB/AH/AXkB1QH+Af8BcQHdAv8BawHVAf4B/wFxAd0B/AH/AfMB+gH+Av8B/gL/Aa0B6wH9Af8BZAHW
AfsB/wFwAdcC/wFxAdUC/wFtAdkC/wFvAdUC/wGaAeEB/AH/AUMBcwH3Af8BNgFyAfoB/wE7AXIB/QH/
ATcBdAH5Af8BMgFyAfwB/wEwAWkB/QH/AS4BawH8Af8BLwFsAfwB/wEvAWwB/QH/ATABbQH9Af8BLwFs
Af0B/wE0AXUB+wH/AToBcwH7Af8BOAF1AfkB/wEwAXMB+wH/ATcBcAH8Af8BJgGHAcMB8wEBAY8C/wEB
AYYC/wEAAZkC/wFSAbEB9QH/AcYB3QHlAf8B5wHrAeEB/wH0AfAB3wH/AfUB8AHfAf8B7QHuAeAB/wHa
AeYB4gH/AYcBtwHuAf8BAwFjAv8BAQGVAv8BAAGYAv8BFAGEAeEB+gFpAcABKQH/AWYBvAEtAf8BYwG4
AS8B/wFjAbcBIwH/AWQBsQEiAf8BiwHGAV4B/wGpAdoBiwH/AbEB3QGZAf8BmQHQAXIB/wFwAbsBOAH/
AVkBsgEYAf8BYwG3ASgB/wFkAboBKgH/AWcBtgEtAf8BagG3AS4B/wFkAboBJwH/AfEB/AH7Af8BVgHP
AfcB/wEDAb4B+AH/ARIBvgH6Af8BEgG/AfoB/wEQAbgB+wH/ARIBvwH6Af8B8QHrAdUC/wHjAbQB/wF7
AdwB/QH/AQoBtwH8Af8BFgG8AfwB/wEYAb4B+AH/AQkBvAH5Af8BIwG7AfMB/wHTAfQB+wH/ATYBbwL/
ATQBcgH8Af8BNwFsAfwB/wEzAWwB+QH/ATcBawH0Af8BTAF+AfUB/wFIAXsB+QH/AUcBegH4Af8BSAF7
AfkB/wFHAXoB+AH/AUYBeQH3Af8BIQFfAf4B/wFBAXEB9QH/ATwBcgH6Af8BQgFrAv8BNQFvAf0B/wEu
AYMBsAHvAQEBkwL/AQABhQL/AVQBvAH1Av8B9AHfAf8B5gHrAeQB/wHfAeYB5QH/AYsBxQHvAf8BggG+
AfAB/wHCAdkB6AH/AfUB8wHiAf8B6AHwAeMB/wG2AcwB6gH/AQABngL/AQEBqQL/ARkBkQHaAfgBaQG7
ATIB/wFlAb0BKgH/AWkBwQEtAf8BZQGyAR4B/wHdAfcB2QH/AfsB/wH8A/8B/gH/Af0B+gH+A/8B/AH/
AfgC/QH/Aa8B2wGUAf8BVwGsARcB/wFiAbwBMwH/AWYBvgEmAf8BZgG1ASYB/wFmAbgBKwL/AfgC/wHg
AfQB/QH/AQsBsgH7Af8BJAHCAf4B/wEkAcIB9wH/ASQBxAH2Af8BJAHWAv8B2wG3AWQB/wHsAZcBAQH/
AX0B3gHsAf8BDQG8AfsB/wEvAcYB9gH/ARsBwwH4Af8BDwG/AfkB/wHVAfAD/wH9Av8BOgFqAf4B/wFA
AWwB+QH/ASsBYwH+Af8BbQGQAfUB/wHiAfEB+wH/AfkB/AL/AfsB/AH+Af8B+gH7Af0B/wH7AfwB/gH/
AfoB/AH+Af8B+QH6AfwB/wGzAcYB+AH/ASwBXAH8Af8BOQFpAfsB/wE4AWoC/wE8AWwB+QH/AS4BgwGw
Ae8BAAGiAv8BCQGcAf4B/wHOAeQB6QH/AesB7QHmAf8BjQHDAfAB/wEXAasB/QH/ASwBsAH6Af8BCQGk
Af4B/wERAZ0B/QH/AVYBpgH2Af8B2gHmAegB/wHzAfUB5QH/AWEBsgH1Af8BAQGCAv8BGQF8AdoB+AFm
AbsBKwH/AWcBvQEuAf8BWgG1AREB/wGyAeABmQH/AesB8gHmAf8B6wHyAdgB/wHoAfYB5QH/AboB3QGh
Af8B5gH2AdwB/wP+Af8C/QH8Af8B0gHvAcEB/wFVAaoBFAH/AWMBtQEqAf8BawG7ASgB/wFlAbgBKwH/
AfwB/gL/AfoB/QH7Af8BqQHnAv8BGAG+AfoB/wEWAcAB9wH/AY4B5AH9Af8B5gHfAa0B/wHaAZQBGQH/
Ad8BlgEaAf8B4gHAAW0B/wHgAfwC/wEmAcUB+wH/ARoBwAH+Af8BbwHUAfkB/wH6Af8B+wH/AfoB/AH+
Af8BPAFnAf4B/wE0AWEB/QH/AU4BbQHyAf8B3wHnAfQB/wHhAeYC/wHdAeUB/gH/AeEB6QH2Af8B4gHm
AfwB/wHcAeAB+AH/AeIB5gH4Af8B+AH5Af0C/wH+Av8BgwGlAfkB/wEwAVgB/gH/ATgBZwH4Af8BNwFn
AfwB/wEuAYMBsAHvAQABpAL/AWgBygH1Af8B9gHzAegB/wHYAecB6wH/AQ0BkQH+Av8B+QHlAf8BdwHN
AfQB/wF9AdMB8wH/AvIB5wH/AdgB5gHrAf8B1gHmAesB/wHYAecB6wH/AbwB3AHtAf8BAAFpAv8BGQF5
AdoB+AFoAbgBLwH/AWQBwAEmAf8BWAGrAQkB/wHnAfQB3AH/AcEB2QGfAf8B9gH/AfYB/wHYAe4B2wH/
AUoBqgECAf8BSgGqAQIB/wHGAekBtgL/AfwE/wH8Af8BsQHRAZgB/wFVAbEBGAH/AWQBugEuAf8BaAG4
ASkD/wH7Af8B/AH9AfwD/wH8Af8BWgHSAfsB/wEnAcEB8gH/ASgBwQHgAf8B+gGRAQQB/wHfAZoBJgH/
Ad0BmAEjAf8B5wGYARYB/wFAAccB3QH/ARQBwwH9Af8BBAG6AfUB/wHkAfcD/wH7Av8B+AH/AfoB/wE7
AWQB+gH/AUABZQH7Af8BPgFkAfcB/wE4AWEB+QH/AVEBcgH1Af8BUwF3AfwB/wFZAXkB9gH/AVEBdgH5
Af8BWgF4AfcB/wFJAWsB+AH/AbQBwwH3Af8B/gH/Af0B/wG2AcAB+AH/ASwBVQH9Af8BPwFkAfgB/wFC
AWMB/QH/AS4BgwGwAe8BAAGmAv8BrQHdAfEC/wH4AesB/wFYAbsB+QH/AWYBtwH3Av8B+wHpAf8BYAHI
AfgB/wFiAc8B9wH/AeIB8AHsAf8B3gHrAe4B/wHdAekB7gH/Ad4B6QHuAf8BuAHaAfAB/wEAAXYC/wEZ
AXsB2gH4AWsBvAExAf8BYQG6ASsB/wFpAb8BIwH/AcMB4wGoAf8B8QH4Ae8B/wH7Af4B/AH/AZkB0wFy
Af8BWgGzARoB/wFkAbUBJgH/AWEBsQEiAf8B2QHvAcUB/wP9Af8B9QH/AfMB/wFrAboBMAH/AWUBugEm
Af8BZgG2AS0B/wH+Av0C/wH+Av8B+QH+AfwB/wHZAfMB/gH/AREByAH+Af8BiAGgAWMB/wHDAZIBGwH/
AeIBowEuAf8B6wGyAUMB/wHRAZMBGQH/AbkBkAEgAf8BLgG9AeAB/wHFAfAB/QH/Af0B/wH8Af8B+gH/
AfoB/wL9Av8BPAFhAv8BQgFbAf4B/wFFAVsC/wE5AVgB/QH/AfUB+AH8Av8B/AH+Av8B/QT/AfsD/wH7
A/8B/QL/Af4B+QH/AfcB+gH+Af8BWgFtAfYB/wEzAVcB+wH/AT8BYgH4Af8BPQFfAf0B/wEvAYMBsAHv
AQABqAL/AcUB5QHyAv8B+gHuAf8BQwGzAfsB/wF6AcgB+AL/AfcB7wH/AXUB1AH4Af8BAAGmAv8BAAGp
Av8BAAGYAv8BAAGQAv8BAAGRAv8BAAGLAv8BBQGOAf4B/wEaAXwB2gH4AWgBugErAf8BZwG+ATMB/wFc
AbQBJQH/AZEBzQFhAf8B8wH3AfgB/wH6A/8BiwHFAVgB/wFbAbYBGQH/AWYBugEyAf8BZAG1ASkB/wFY
AbIBEwH/AfIB+wHwAf8B/QP/AY0BygFdAf8BaAG3ASoB/wFlAbgBKgH/Af0B/wH7Af8B/QH+A/8B+wP/
Av0B/wG6AdYBqwH/AbkBiQESAf8BxwGNAQsB/wHUAcYBjwH/Af0B/gH6Af8BvQGPARoB/wG/AY4BIAH/
AbIBswFsAv8C/QH/Af0B/gH9A/8B+gH/Av4B/QH/AUEBWwH6Af8BQwFdAfsB/wFDAVoB/QH/AToBVgH5
Af8BuQHEAfgB/wHFAdEB+wH/AcMBywH4Af8BxAHMAfoB/wLHAv8BvAHGAf0B/wHqAeYB+gH/AfkB/AH+
Af8BhgGOAfcB/wEzAVEB+wH/AUQBXQH4Af8BQwFZAfwB/wEzAYUBsAHvAQQBmwL/AaIB1gH3Af8C/QHy
Af8BuwHdAfYB/wFCAaEB/AP/AfEB/wHvAfQB8wH/Ac8B6wH0Af8BzQHsAfQB/wHQAe4B9AH/AbgB6AH1
Af8BQAHCAfwB/wEHAbMC/wENAbAB/gH/AR0BlgHaAfgBaQG/ASgB/wFmAboBLAH/AWUBvwEsAf8BYgG1
ASAB/wHdAfEB1QH/Af0B/wH7Af8BiQHHAVUB/wFeAbgBHgH/AWkBvgEnAf8BYwG6ASwB/wFKAawBBwH/
AccB4wGzAf8B/gH/AfsB/wGWAc4BbgH/AWMBtwEkAf8BZwG6ASoC/wH9Av8B+wH+Af0B/wH4Af8B/AH/
AfoB8AHWAf8B3gGVARAB/wHRAZIBFwH/AacBmAE9Af8BMAHJAe4B/wE8AdMB/gH/AWIBrAGPAf8ByQGQ
AQ8B/wHhAZgBGQH/AfYB5wHLAf8B/AH9AfwD/wH7Af8D/QH/AUYBXQH1Af8BRwFVAfwB/wFEAVwB9gH/
ATwBWwH3Af8BJQFDAfYB/wETAS8B+wH/ASQBPwHzAf8BHwE7AfQB/wEpATsB8gH/ARMBKwH2Af8BkQGr
Ae0D/wH9Af8BwQHFAfYB/wEyAUgB+gH/AUkBVwH3Af8BSQFWAfsB/wE0AYgBsAHvAQkBoAL/AUcBtQH8
Af8B+gH7AfYD/wH0Af8BUQGmAfwB/wFeAb4B/AH/AfoB/QH1A/8B9AP/AfUC/wH+AfUD/wH0A/8B9AH/
ARUBuAL/ARYBsQH+Af8BIwGYAdoB+AFiAbwBIwH/AWsBuwEuAf8BYgG7ASUB/wFYAbYBGAH/AakB2AGJ
Af8B/QL+Af8BoQHXAX0B/wFZAbcBFwH/AW8BvwEsAf8BZQG9AS4B/wFSAbABCwH/AbgB3AGcAf8B+wH/
AfwB/wGFAccBVgH/AWMBvAEmAf8BZwG2ASsB/wHzAf4B9gH/Af0B/gH9Af8B+wH/AfsB/wHmAbgBYwH/
AdIBnwErAf8B2gGVAR0B/wEXAb4B/QH/ASABxAL/AScBwAL/ARYBwgL/AdYBmwEgAf8B3QGWARsB/wHQ
AY8BDgH/AvoB6gL/AfwC/wH9Af8B+gH/AUMBVAH6Af8BSAFSAfsB/wFIAVIB/QH/AUUBUQH8Af8BOgFF
AfcB/wKlAfYB/wLyAv8B9QH2AfwB/wH2AfcB/AH/AfQB9gH8Af8B/AH+Af0B/wHxAfQB/QH/AWEBbgHx
Af8BPAFKAfgB/wFKAVEB+gH/AUYBVAH5Af8BOgGJAbAB7wEcAakC/wEFAZgC/wG8AeAB+gH/AfoB+wH5
Af8B4wHyAfgB/wFqAcEB/QH/AT0BuQH+Af8BUQHAAf0B/wFPAcQB/QH/AU0BzQH9Af8BTAHKAf0B/wFE
AcYB/QH/ARsBuQH+Af8BIQG2Av8BLQGaAdoB+AFoAb8BLQH/AWgBuQEtAf8BaQG+ASwB/wFiAb0BJAH/
AWgBtgEoAf8B6gH4AewB/wHYAfQB0gH/AVoBtQEhAf8BZQG6AS0B/wFrAbwBLQH/AU8BrwEOAf8BxgHj
Aa8B/wHyAfsB8AH/AWcBtwErAf8BYQG2ASwB/wFpAbkBKgH/Av4B/QH/AfwB/gH8Af8B8AHYAacB/wHZ
AZQBFwH/AdkBlQEVAf8B7AHSAY8B/wGnAfUB7wH/ARkBvwH3Af8BGwG+AfwB/wFoAd0B9QL/AfsB5AH/
Ad0BnwEqAf8B3gGWARUB/wHmAb0BbgH/Av0C/wH8Af8B/gH/AUQBRgL/AU0BUwH3Af8BQAFMAfgB/wE6
AUcB+gH/AZwBpgHzAf8B+AH6AfwB/wHwAfQB+QH/AfAB9AH5Af8B8QH1AfoB/wHwAfQB+QH/AewB8AH1
Af8BfAF9AfgB/wE1AT0B9QH/AUUBVAH7Af8BSAFRAfUB/wFBAVAB+QH/AT4BjAGwAe8BJwG1Av8BMAG6
Af4B/wEuAbIE/wH7Af8B/gH9AfsD/wH6A/8B+gP/AfoD/wH6Av8B/gH6A/8B+gH/AfEC+wH/AVABvgH+
Af8BJQGpAv8BNwGXAdoB+AFnAbwBKgH/AWoBvQEwAf8BZgG8ASgB/wFnAbwBKwH/AVcBsgEPAf8BtAHb
AZcB/wH7Af4B/AH/AYYBxgFTAf8BYQG3ASMB/wFeAbgBKgH/AUUBrAEKAf8B6wH5Ae0B/wGGAcIBUAH/
AVsBsAEXAf8BbAG9ASsB/wFmAbYBLwL/Af0C/wH8AfIB4QH/AdYBiAENAf8B3gGbAR8B/wHcAaIBJAH/
AdwBmQErAf8B8QGnASsB/wFgAc8B8gH/AQEBwwL/Ad8BxQGLAf8B3QGTAR0B/wHhAaEBLQH/AdwBnwEp
Af8B2AGRARYC/wHvAd4B/wH9A/8BTwFKAfgB/wFGAUsB9wH/AkgB/QH/AUkBSgH7Af8BUgFTAfgB/wFG
AUcB+wH/AUgBRgH6Af8BSAFGAfoB/wFJAUcB+wH/AUcBRQH5Af8BRgFEAfgB/wE+AUAB9wH/AUoBSwH9
Af8BSQFKAfoB/wFIAUsB9gH/AUcBSAH+Af8BRAGSAbwB8QExAboC/wE4Ab4C/wEzAbgB/gH/ATkBuQH+
Af8BoAHdAf0B/wHfAfMB/QH/AfoC/QH/Af4B/wH9Af8C/gH9Af8C/gH9Af8C/gH9Af8B/QH+Af0B/wHa
AfAB/QH/ARkBogL/ATkBmQHaAfgBZwG8AS0B/wFnAbsBLQH/AWgBuwEwAf8BZwG7ASwB/wFqAbwBMwH/
AV0BugEbAf8BqQHZAYUB/wHaAe0BzQH/AX4ByQFYAf8BfAHJAVIB/wHlAfUB0AH/AZkB0AFxAf8BWQG1
ARkB/wFpAbwBLQH/AWUBtQEwAf8BZQG6ASgB/wL9AfoB/wHeAa8BWgH/AdEBkgENAf8B2gGWARkB/wHQ
AZUBFwH/AdYBkAEOAf8B2wGRAQ8B/wHWAfQB7wH/AbIB7wH9Af8B7gHGAXoB/wHYAYsBBwH/AdUBlQET
Af8B1gGUAR8B/wHVAZIBDwH/AdYBkQEnAf8B9AHtAdcB/wFqAWAB+gH/ATwBNQL/AV0BSgH9Af8BTQFE
AfoB/wFOAUUB+QH/AU0BSAH7Af8BSQFGAfoB/wFKAUcB+wH/AUoBRwH7Af8BSgFHAfsB/wFLAUgB/AH/
AUwBRgH4Af8BUQFDAv8BTAFKAfcB/wFMAUkB/QH/AVEBSQH4Af8BRAGYAcMB8wE6AbwC/wFBAcAC/wFG
Ab4C/wFOAcAB/gH/ATsBuAH+Af8BNQGvAf4B/wFeAb4B/gH/AWgBwgH+Af8BZgHGAf4B/wFkAdIB/gH/
AWEBzwH+Af8BXQHOAv8BWgHAAv8BPwGxAv8BMwGbAecB/AFoAb0BKwH/AWgBvgEsAf8BZQG4AS0B/wFn
Ab4BKAH/AWYBtQE2Af8BbQG+ATQB/wFYAbABHAH/AWIBuQEkAf8BqwHaAY4B/wGkAdgBgAH/AVcBrgEW
Af8BXQG4ARcB/wFnAb8BLwH/AWcBvQEpAf8BYAHBASoB/wFlAbcBKAH/AfQB6QHVAf8B4wGtAUoB/wHk
AbEBUwH/AekBswFYAf8B7QG6AVIB/wHdAbQBVwH/AeIBtwFWAf8B/gH5AfQB/wH9Af4B+gH/AfEB1gGi
Af8B1wGwAVQB/wHmAbcBXAH/AfABswFVAf8B5QG1AVUB/wHjAawBUQH/Ae4BzwGTAf8B1wHdAfoB/wFH
AT4B9gH/AT0BNgH2Af8BTAFFAfcB/wFKAUIB+wH/AU8BQgH8Af8BTQFEAfoB/wFMAUMB+QH/AU0BRAH6
Af8BTQFEAfoB/wFMAUMB+QH/AU4BQwH5Af8BSwFEAfgB/wFIAUQB+wH/AUoBRAH8Af8BSwFDAfoB/wFC
AkMBdQFBAbsC/wFIAb4C/wFPAcAC/wFVAcIC/wFZAcMC/wFcAcAB/gH/AVcBvgH+Af8BVgG9Af4B/wFV
AcAB/gH/AVIBxgL/AU0BwwL/AUgBwgL/AUIBuQL/AUUBtwL/AVgBZQFtAcUBZAG9ASYB/wFkAboBKwH/
AWUBvQEoAf8BZAG9AScB/wFmAbwBLwH/AWIBvwEjAf8BZgG9ASsB/wFlAbkBJAH/AV4BtwEbAf8BWgG2
ARkB/wFlAbsBKQH/AWUBuwEvAf8BaQG9AS8B/wFkAbsBKwH/AWMBvAEuAf8BaAG6ASwB/wH6Af0B/AH/
Av4B+wH/AfsB/wH8Af8C/gH9Af8C/AH6Af8B/QH/Af4D/wH9Af8C/AH+Af8B+QH9Af4C/wH9Af4B/wH9
Af8B/QH/AfwB/gL/Av0B/gH/Af0B/wH7Av8C/AH/AfwB/gH8A/8B+AH/AdoB2QH3Af8BaQFdAfUB/wFO
ATwB9wH/AUUBPwH4Af8BTgE/AfcB/wFNAT8B+QH/AU4BQAH6Af8BTQE/AfkB/wFNAT8B+QH/AU4BQAH6
Af8BTAE9Af4B/wFKAUIB8wH/AVEBPgH3Af8BVgE9Af0B/wFOAUIB9QH/BAADQAFuAVkBggGgAekBWgGZ
AbsB8QFcAZQBsAHvAWIBlAGwAe8BZgGcAbAB7wFnAZ0BsAHvAWcBnAGwAe8BZwGZAbAB7wFkAZEBsAHv
AV8BkQGwAe8BWQGOAbAB7wFZAZUBsQHvAVYBWwFdAbUDGAEgAWcBvgEuAf8BagG/ATMB/wFoAbwBNAH/
AWoBwQEwAf8BZQG4ATQB/wFqAb8BMwH/AWoBugE3Af8BbAHAATIB/wFlAbkBMQH/AWkBvwE1Af8BaAG+
ATIB/wFrAcABLQH/AWgBwAEtAf8BaAHCATEB/wFwAbkBNQH/AWwBwAExAf8B9AH/AfwD/wH+Af8B/QH8
Av8B/AH+Af0B/wH0Af0D/wH9B/8C/gL/Af4B/Qb/Af4C/wH5Af8B/gP/AfgB/wH4Af4D/wH9Av8B+QH+
Av8BQgFNAT4HAAE+AwABKAMAAUADAAEgAwABAQEAAQEGAAEBFgAD//sAAYAFAAs=
</value>
</data>
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="btnGo.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADUSURBVFhH7ZaxDcIwFESzgflMwAiMwAiMwEZJYZOSbAQF
EopdZATYAGSngVMUg2L/LyQ/6Zo4XzndOZarqlD4d1Q7bLzwORuqdTsyt7sybo9rLHgD66N7epFxNa5n
593AaMKeWStBA6MJxkqmDPxcCQ6m1FeV4FBqRSvBgVwiY0+qHlb4fTYDXqES3W/FDHiFSnR/kDPQXB9i
BsjYi1gFpG0nsglD5FK/YYg8dhAtYfYo1q7B95MzZSAaeUrQQPbIkY8LCUfkSLiScUaOiF9KC4WlvABA
jC6/gW/x3AAAAABJRU5ErkJggg==
</value>
</data>
<data name="BtnSaveTo.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFWSURBVFhH7ZfRTcMwFEW7getOwAiMwAiMwAhsQDdIJWL3
EzZoNygj8IGEbH9kBNig1XNwam6cyK8xHxW50v1I4nffaRPbyWIx60eiNrdS251U5jDdrhLb5gZ7jEoq
s19pdyxlqT6/RG0esM+gukLt3qRya1nbVww9h9t3Pya4dptf1zYf3+E4G+Ic4NZ0LLbuDhvjmKF6UTVL
AmFBYPgUAF/PhegFTAQgsSAwoAQAqQeh3H18vRMGlAIgxRB+dlTNEsf0AkoCkKhpGJO8FRgwCvBsm5W2
T8G08GB9SjTFB8dgAK2M2DjHVIfZQSwAEv1VfmHKdSo4EhugtGaA6wPwD2Fvr2dY2108K1gAl05DNK0Z
oQcPIFqI6Bzb0ftE6HExAI7NUap+BpgBrgXAHNo93r6Ec/Hen+tUffseMQBQ+sNkzELbR+zffpops+/2
9r9y6tf/a50AFjloxuey+jUAAAAASUVORK5CYII=
</value>
</data>
<data name="btnSetText.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGdSURBVFhH7ZbRbcMgEIa9AaETdISO0BE8QkfoCNnAkeJz
XrtBvUG6gfNQKQIenA3SDVodGMc5g4wNzZN/6RTnfHAfBg6ybNWqCbFSvPBKfj5V6neJcThfsQ/ab7A4
iAsHUbODep1rHOQpCgIbYQfs0D7TdyHilfrSVsqPRRA4CgSg/lBZgP55LkQ0AIjaArCi3eCUaIii3dBY
p2IBWCnezBoQR2Oy6f7XNNapWAAUQnBQ294G0zKpFABUFoL6MwYqv32q0Scj/nCji84LgE5aRFIYbsG7
PA8HIMkmAZwvdUN5sr86DtQWC5RvRS8GoA3vfJgUzwYQF72vB21c8ckB0BAAR84q+R4ST5PFA4DK9ehL
tQuJp8miADCpmQLZmM7MevDFJwXwLsLd948rnvZjpacQVD70aY0A4HzFQjIAaGxhuvnEke9l64r3AXhF
AVIZLUReddtLH5+92c899M0xvEmRUqwPp2CoRx5GLlmA4AtEgGYBoHCVc1BFCgg9zXvZIgR955U+prut
lsJw9IsGY0rw+Oo9y5YkXvXf+gPoF6BdWsh1IQAAAABJRU5ErkJggg==
</value>
</data>
<data name="btnFromClip.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEhSURBVFhH7VTLcYMwEHUHWK7AJbgEl5AS6CTuIMxEkq8p
IR2EDuxDLtIecAnpwJm3YkE4Ihku5LJvZmelx34eAu1mo1AoFIr/RnWm487H5zmusqHG+tEQU527/bC3
4TDk9znwqV6Kg8/7MIyj087TfY4zlhrjqTUuXsHBY4/iSSjdmbfUjPnhxpynFnuJg8/79MG/CxCUikwE
uHhJHN6259YSIG9cvXTbdPzjSc3lDpBmJcvjSkUyAe/8zNGTsfFNmi8SAD+Yp3aZADqZ5vOL/xcXbixi
qYC/uFKRiQA0fI0dx9hQry8g+5S4kqsLkLXklQTgphgXPsR4TuAhCjw2+8l1+9RoHCYjR0fcAF7L8MGc
yAaRnFJuxRNRKBQKxdr4Bq/Wr5GTqhOjAAAAAElFTkSuQmCC
</value>
</data>
<data name="btnClear.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB+SURBVFhH7ZTBCYAwDEW7QVsX0g3rodZxdA3NwVGUXP/F
EgJVmgfvmEcgEOcMwzD+QMw0x+XYNMR2FbHQPhS6NcR2Fc0X6BOfrhCWc9SQW9h/xa804f2kcgv7r7Rf
IF2BB1WUnKBf8H5S+XlhuwoMSRUvwIMqZpqxbRiG8Ukeq7O5NrGxSTwAAAAASUVORK5CYII=
</value>
</data>
<data name="btnCopySource.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFcSURBVFhH7ZbRTcNADIa7weU6ASOwAd2gHYER2IBu0ErN
JY9dgRHYAB6Q0NkPyQawAZUTXWj/oMRxERJSPskPTvI51t1JvsViZkaJ21VZFuhOE+j+Cq6gh2XBX5rw
4f1jWdAj1rgKl8dbH+KTL/h5MEKsvxuhI9b5E1zgjd+/fUoTLo/3+F6NK6ubLOe1LOdYyN7LOencwJtm
FQ5UXVZVMmXPuyU/UCVblWqk5+fPVLiSV11R2ffA2/Gg19REqiNnommg5NXlH0bwOe/bn/MW3w2RDmD6
ob0Bo4ge5mqsInqYq7GK6GGuxiqih7kaq4ge5mqsInqYq7GK6GGuxiqih7kaq4ge5mqsInqYq7GK6Mkc
afKpwwgLaUFPxrOMdPxuFCykxer1sE/DdiRf3YAUkEJtE3TE289P4QO9tN/HGuuZMN2IQqwnH7gh5ADJ
pbJ/++mHrNr5nXDm33ACgBFBl/VpaDYAAAAASUVORK5CYII=
</value>
</data>
<data name="插入表格ToolStripMenuItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAB3RJTUUH3QwGFQQeBmGOcAAACJ9JREFU
WEeVlmlsXFcVx08kloIdkEBEQqISEgIhREPFRyQ+wyckChKUhsZ29qaBAmqEFChJGxKaNHviJHazNKgv
hS5ZJomdxXH2eJmxx7O98Wyemffe7J7xeMbjPX90zrw3Hjv5gqWf5r7tnnP/53/uNf03kKPDgwm6Hi3Q
9egYXY0U6FIoT58GRuk//hwpviyd82bpjDtDp90ZOuWq8n4d7XW0DaUXcKbppDNNJ4QUHWcGU3TEbtDm
T+y0806IJPheu/7iMWey9agzoRwZTCiHBhPKwYGEcmDAUPY7DGWf3VDesxvKXruh7Ok3lHdN/tVnodfY
3acpu3s1ZVcdO03e6amy/VGs9S83/C9uuxchWflRZ6LVna3AlamgLzmBe1oJnZEiLgbG8JGax1n3KNqd
OZwczOH4EloHmKxwzOSoI1PjsH0xh+wZnHAksf7DR627uoaJro0UiFfsTFfQl6igO1bGpeA4znkKODIw
it09WWy7l8afbifxh1sJbDF5/VYCm28awmsmm25U2XjdwIbrBtZ3VlnXaWBtp4E1nbqw876B5g/uK291
+og+C44Sy/xQL+NuvIyb0RIuBIo46y7gkCOHnY8z+OvdFP7YtRBwadCNS4JyQEYCduho6dDRfE1Dk8m2
bg2rTt9T3rR5iT5Uc7THrissuS00LnwyXMQpVx4H+nPY8TCNN+8kZcVLV1gfkFe4thZQQ3PHQsDVVzW8
elXD769oWHVFw59vxvGb9jvKlgtuEufu6tOUj9SCyP5vbwHnvAW0OUexty+Lv9+vys+rXCynsbC6Dv2Z
wayAr9g0/M6m4WWbht9e1rCpI4qXTnQraz92ER1zpOjtnrhyxplDmyOLdkdOaHPkcLAngx3dCWy9oeGN
Th1bOnS8fo3RsPmahg22KDZdidfYcCWO9bY41l2OoeXCCNZejmPtpThaLsXQfCmGpotRNF2IYrMtgl8c
61Jazg8S3YwVaE+/rujFSRQrMyhNzQnjk7MYn5pDWE8hpKWQn5jFaHl6EYP+MJL5MnLlaeRKU8ia6Lki
BnwhZMankC5WkB6rIDU2gWSBKWM4VcQr7d3KmYdBom5tjN7t15XRyjTm5+bw5MkTPJmfF4AnSKVTSKfT
cp+f15ifQygcxmSlItdzs7PC7OwsyuUyQqEQZmdnMD09jenpKUxPTWFychJTkxUkCiW83HZbUXpDRLfj
Y7SrT1dyE9OYMxOYn58XeJxKpZAyE+DnFvycE6hUKnLNgS04gWAohJmZGUxNTQkcnN/lhPXRcfzsYKfy
/n0/UVe8QP/s05VYNo9gMIRQKCzwBBzAMTgIr6oiPDIi9+p53NuLCN8PhhAIBmt4fT709ffLM//wsKD6
/YLf74cvlsSP37moHLzpJuqM5ulvj2KKUSjJallui0wmIx+HIxFksllRQmBVUikMOodq46QJj+PxOIZc
LvneSCQWMAwhYGSxcvtnyr4bLqLz/iyt6gwo0dHisxPwmwlkMrVgFk7nUC1wjWQSsXgcTpdL5uCAumFA
03XENQ2aptUS2H/DTfSBL00vXfErgWQOgUBgQeJgUKR1DAyIpOFwGIHAgszM454eRCIRGQ8HAlWGA/B4
vOjt65dvfD5V8Hp98Hi98Kk+KcGPdixJYCRXlOwXZGYVMlD9wwiFI0hnMvJcMFc76HTKdYJJJASWeiQa
FXVYJU2rrjwe10SZqgK5xQr80qYqxnhF2sjqgEVdkErJteVydjfDCrHjudXq3T42NiZKsOtL5RLGSyWM
j4+jWCyiVCohmi3ihe2f1ilgU5V4oYxyqYSJiQmhXK7+xmIxWQVf88c8kYXXpyKfz0tAplAoyDWr4/H6
5JrNy/5hBXkh2WwGkXQBK+sT+BV7IJUTwy3glw7ot9ulplx/VfXX8Kl+PHj4SFSQGvt8UmfGOTQkLcrf
uNzuGtwZHo8H3md5gLsgk0lXMzbJZrNiLO7nXC4nqxDMLrHqLG1o+SCZRDQWkyTYS+x+rjvDXjB0HcHE
Eg9wApHsWG0CC57Up6qyrbKs9f2s67p0iLSYmCwusNG4i+SZrkvy3CncytwV0ZGRp9uQSzCcyMLr9Uqr
CB7+9aGnpxdDLrck4vZ44GLcjBv37j+QcrG0Q0MuWTXDZXvw6JGUhROxsDsccDqd8EQTS0pgUxVtjI1X
Ng1Yro1jsbishMdVNy8YkQNYJhQDLjKhV8ZcxpoR02mM5nJPm9Bqw5np6UWtxr9WWayDxTpUGF79WLEo
yVptxrBPODlOjL3DSCKZDAr5/DPa0PSAoRtmjc19O5GQiXin47FlJK4ztydLzRsMbzxca6vO3CX8LBqN
1u2Q1c7iA+4pD3ACoXQeIyMjghhHxlE5cHhCniwcjsgEcmKGw+jp7ZN3aqdhoLols/y109Bsa+s05O3e
r6Wxcmkb8lacqttmrZOt2gVhGVvut7A7BmqHDCvC7cfwOcKmY8VEFVMZTpoX8kwFwpmCTFI/EY/Z3Xwe
sBm5naSlzMnkMJL/B3j11YOoehh50NvbVz2MVFXgXdPj81VLwQrwcXzdRXTGnZA2DKVHERgelhfqcbvd
tQCyO/pVqGoVbqlIOAKfz2fiFfib6ndcDg+8Xo8kxfhVVRLgNjzc7ScCQD//2HX8SK+Gt+8EsaPb5HbA
JIjtXYEqt/4PbgbwD2F4EXx/61Uvnt96/gSZf59fsenwT1a8cfb08s2nLix/rf3S8o0nbcs3HL/auO5Y
R+PaI9cb1xy+1dhysKux+UB3Q9P+Ow2r991rWP3e/YZX9z6owdd8v2nf3YamA92NzQe7GlsO3Wpcc+SG
zLO+9WrjhhO2xk08f9uZL/36rZ8S0ZeJli37HBF9gYieI6IGIvoqEX2diFYQ0TeJ6FtE9G0i+g4RfZeI
vk9EPyCiHxLRC0S00vzla77Pz79nvs/fPW/O8w0i+hoRfcWM8xzRsi/+D4enr89mw6hLAAAAAElFTkSu
QmCC
</value>
</data>
<data name="插入软件ToolStripMenuItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsMAAALDAE/QCLIAAAAB3RJ
TUUH3QkZFQcDjtB50wAAA0ZJREFUWEftlEtPE1EYhvsX+DO9QAwm6EYXkkgUdekFYoiRBZhodGnUjSs3
Lqqp0KncKyiK1KCAaRFaOtMW6A0thcqlBaYddKadvuYbSjWl2sFAjQkneZLpOXO+9+k5Z47GwHAVBoZr
NTBc2MBwsoHhcMBQBmW1ULYm97BZ5MWDhjJbSYBsCgfLRZgEyrHsv0MmgcLOsnIo8P8I6Akzh0oLhyrL
9nOeIu+rRZUABRzv8uH2eAQ9gTiswQTuTyziqi2MhuEQ6vrncLTDA51599xSlBSg8GNdPnT51yCkZew0
Sc4iJclISjIWUyJehBJoHA6hskiNP1FawMzhzngEW7+EU0uJacT4LXzlt/BNSit9C7yIm2Nf9iRRUoCK
WQNr+eCMnMVIaBnXBtw41/EJ9c8n0DLIwhlN5CVoJdRuR0mBKoZDf/CnQCiewvleN67bgrDHknjzeR31
Vi+aBr2IC6LyzkAorpyJwlrFKCmgN7O493EeYmZ7C7hlHqd6vWh5F4AnlsD6loixRR6dc6vKtlBbSorK
wVTzdagQ4ND4eg58rrggZfCY/YqTnSxqLZO43OfEw9E5zCxvIJvdXqWkmEHjUFCZW1ivEFUCV974wYsZ
pTitRGRDwPRKCm2+Fdz6MI8THW5c6HbCv8rnBa4OBfZJgOFwus+LRf6bUnwymkDTwDTcS+vK73QWeOSK
odrihm0+npd84FjYHwGi2sLCOhtTivvWBNRZfWgYYPHWH8Nb/xIaX3lxpn8WM3Fhew9yB5FuzMJahagS
0JlZXHnpRWQ9pRQfjfJotgVR3+3C2W4Xmm0BvI9uIi3nDgEAq39V1X2gSkChzYUbQz8l6GJaFiSFX29I
ZUxK4/YInQF2d50C1AvQeXjmxCWrC32eBUQ3BCS/SwpS7hOlJohpdLALqLFM75pfjD0JELq2aRwxTaCW
ceBi7xQarE7cHZlBjyeCLjaCW0Me1LRPqvr3xJ4FdqAAkiG0pknonzqgfzoBrcmpOpz4a4H94lBAY9jD
fu07ZhYanWlKNjD/QoIFZWu0TxxhnWkK+na3YlQOKIsyKVujNdpbtUb7pvaJgzrKB2Ua7a0kUJGTCGuN
dllrtNPgQUIZlEWZFT8A1O1Cby1rq5QAAAAASUVORK5CYII=
</value>
</data>
<data name="插入视频ToolStripMenuItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAB8AAAAfCAYAAAAfrhY5AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAB3RJTUUH4AgGCR0RVYbSXgAAA4hJREFU
WEetl01IVFEUxw8GwZAQQavKqEWrwFZBhRERREZEuyhPQZZ9komtclsrRSkq22TpVMs+FzVHxzINoY+p
kNQpiNScrNSKLMePmTlx5l3fvHfnOr1RL/x5M/ed8/+d+979mAHw0pCy16yb23AeIK0EpJ2AVA5IFwHp
srrKd+mX+xI3iyLcUB8g7QCkm4DUA0gTgMQGSb/cv6XiJS/LItzgtYB0G5BGDbBMkvg7Kt9jAanAHEAq
BqQ+g3E2+gxIB5VfhgLc4FJA+mMwm4nER/wyFJCCl8wheEriJ74GeAq8HpAihuS5kPiKv1aA1SGz854h
iaEokL10D0v37VWgjVqWh3tWFwXYd6CJ80qf8vJT3iXxvuImUxHiLxw1euuDbAyyjl3g/DPtfD/0nT8N
jnLvUNSzJF7y8ivaTQXIPmBtRAouO9MnZ1DOvkZuaIuwqUUn4jw+Gde705q/LZL00eDCEZ4Nl63RtXMt
OBjk+tYIl90M85OuYdtwIpbgk/5u3lnzmp92/+BYPOECSpP4Un8317X0J300uHCEZ8NPaQHJpOutES6/
FeaW7h+28eh4nAvOvmDY/YgXHXnMJ+q7+P3AXxdc4stuhPmqGS4Sng0/rwf4ioNMHUP85ecY/47GXPBN
514w7JVZTcnrqtNtfIF6+c+YFSfxkZ9jyXzx0b0B6YITXqsHSMW1wT7eXhXiOy+/meFT8XsCnHsoyM8/
/krG3H31jbdVhvhiYy/nmkcuPBterQdkM/IVZa1c/bCHR1Sch5HXOOHH9YBM73yjeucLS5q5pK6TO/tH
7PvSPLzzE074VkCK6nDTbJ+MJfjotS4urAolRzaD2S4c4dnwPED66AyS9el/Zl7nMrFkrf+v+Z994Zz9
aetcOMKz4XLc1bmCigK8pqKdAx2DaTtYn2FX0yV5km/Y4YRjHa8KLtoMSL/dBViPX9+7vSj5uGVCusEj
gLTFZjoOl/mAVK8F208ha+kelhoUJ+1IFa0GpLAhaS70Qfk7Rp1ewFFAihuSZ6MhQNplBrvhVYbk2WgA
kIoc/tOCNwDSV4PBTPUOkAq9gJcAUrPBQJQw9GXSMCBdAaRV04NT8KWA9MBgIkvvkfoNXwlIb1SfXox8
l/636pyQH4oe/jZZN5cB0mF1tMr/r0vqzC0ApAUOk8WAtA6QEJCOqckp132qX+47n6ZO05oePFfy0P4B
1QMkyN45p5MAAAAASUVORK5CYII=
</value>
</data>
<data name="插入按键ToolStripMenuItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACoAAAAfCAYAAACRdF9FAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAB3RJTUUH4AQZFiUzTYlhxAAABNRJREFU
WEfNVklMJVUUJU7dRjcmHY0xtm50486dC03cyZQwJc30IMLjAQ2IhEHp/swQhjDP87xkHoSEIIjMvA/p
duGqNRrbOMe4cmOeOTd1y6L6g3Tbv/2VnFSd++679/xb51V+UJDrUlLcg4C8LHFvKyl6rLs7JTAuS2iW
ksIoKa4H7FQtYRmW0JtuGzwKXOiykt9SUvympPhFSTFh2aDXT+hTUpQqKV59EKGPKSlSlRS3lBTfKynu
+hE/W2/vUyXFC/crlHFFSXHVj3hZSfGakmLcEht/YaG4XGKfUFJc8iOeVFJ4LKFpFxbqEPiskuIDJcWq
kuJzJcWWn7CrpPhDSfG1kuKN+xUKj1YrKf5SUvyqpPjOh7ceFlB7Q0nx3oMcpheVFHeUFF8qKd60vOT2
18PEM067nXlprW3cvFEQJFMSsBm/9jOREP3Ux0UfUtwf8NwoDGptaQjyer2ndDhxj0it9eUffvzpUqnn
o9evZ7x/NyszZbu/r+u527e/uKy1fvoRAz3/EWs9PK61ztRab2qtN/b39/eWlxb/XF355Pejo6MtK/5/
IMvSZgt9SWt9R2ttvF6vOT4+NicnJwTmjItwZ8wXRx9nL3cdR85XljZb6FWt9TdI2NraMtPT02ZqasrM
zs6azc1NuoPPzMwQn5+fJ468jY0Ns7i4aPP19XWbA2tra2Z5edleR30Wj72Iz83NUV3Ud+ZAk6XttFD8
moGBARMZGUmIjY017e3tdAePjo42LS0tJiUlxURERJioqCjT3NxsUlNTiSOnsbHRSCmJAxUVFSYvL89e
R32eXH9/P8Xj4uKoz7Vr107lnCu0p6fHhIWFESCsqamJ7hyrq6szSUlJJjQ01ISHh9sca24eEhJiPB6P
ycnJoXzEUJ+F9vb2UtzZB5xzzhU6ODhIGzAt/NKOjg4THx9PPCYmxrS1tdHEnBN2ckw4LS2N8hGrqqoy
+fn59IwYpuicKGIJCQnUB/1QAxrOFQpfrK6uUjMU6evrMyMjI6a1tdUMDQ2Zrq4uMzo6SmJRrLu72wwP
D9scE0IemmIvgNeIfZgYsLS0ZHt0YWGBrNLZ2Um+Rh/0XllZ+XePoiF+fWVlpSkoKCAPOSfF/uVJsfeq
q6vtfPDi4mLiPGkGT+s/TZQ9GhwcTN7Kzs4mn7E3hRDkIfYer/viubm5JjMz094POP3HvRCDWEwW9wt7
dHJykgRhI6aWmJhIhwOvsbCwkDjW8ZpKSkpsjtdaXl5OHKipqaG3wuuoAUxMTNhCx8fHaS0jI4MsBK8n
JyfbOWcKZd/gk4IJQiyKoWlDQ4Opra2lIvX19QTEy8rKSCA49oyNjZFo5IKzh0tLS6ku6rNH8T3mvXhG
PWfOmULxK3Ag+FXxd5I/T/j8QDB/njgG8B6sYypsEQh0fp5Qnyfq/DxxH3DOOVco/IEGvrwDsFc5xw3n
utPreEbM7VHEnH2cOecKhUfT09MJmAROIO7gOBzgRUVFdo4T8BpOMk68UoqA0wyv4hk5qM9CuRcOHj6D
3IdzfAl9RWv9Lf4IHB4emp2dHbO9vU13X3x3d5e4G7y+t7dnxw4ODmzO6/ynBM+Iox73ceVA0ymhV7TW
Xi4QQLiltX7eKRR4R2vdqrXuChC0aa3fZX1OoQGNvwFt90xzygHqygAAAABJRU5ErkJggg==
</value>
</data>
<data name="btnInsert.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAALcSURBVFhH7VZbTxNBFObflERN1Gokakx9wGjUhBJIgVKB
3mjplt6AhYKABItctPbJFwkg1EJFbvWGgRpsKo+8+D/8CZ+Z2Z1hdlYbHiQhsV9yMrOzs/N9c86Z2VNT
U0UFqC/K6J8rITFzgOhUEZHUPpTJPYQmdhEY+wT/4w/wJnfQpW6io38DjxLrcMbzaI2soiWcRXNwBU2B
N7D7F2D3L6JRMLtvATKfCWr60Kamy+OnY4c2ma8KE0jcaeyniuhN7SP8dA/KxFf0PNlFcOwzukc/wjei
5YF7aBtd6hY6+t7DlVhHe2wNzsgaWiM5OJQsmnuWaT40di/SnCB5IPOZcLo5UDrDOWCxKmnLpZ5Nt7p1
pKZ/YPClZmq6jEHyrI/RZ+Edm8vG+fs06bM5+ru58pHMy1F7RcGDjleotSpo8LyWSIyLm0UJ8/S+LJbN
Oya0hhYIGSG2kNaq0En+kQIu3lJx7e44YtNFvhtxYVGE2HJhhm80Y98Ydhyf/mbYDSMgxHdaMzhXF0Nb
NPd3bwjEYtjEcMnrCx5Q0Dd7gMTsAW2ZsefE7HfcfJiiHvIO73AXiovLhLwVyEUBZNzgAUc4C99wAd5k
QWt1cw9u4fr9SVy4kUCDbx7B8S8GD1UiFcdZbjDxf84BIQ/IxWH3zePy7SSu1o9SgZRcIhJFsIW5OCkU
cti4ABlERL0jg/N1cdjsM3DF3yH6rFhx52KCifM0UqMQ1pd5OcgdYLF2/7rnzPwkIRh4XjIuIpnB3ZKA
YxGaEG6V7oEzA09yB8SIFzxD2+hUN9E5sEGLD1d8Hc5YHm20+HgLR2gFzcFlw8+GFiK+4z4vRvRxmc8E
8sMw/0T+lVULkhPAFc/TI9hOLJaHM7aGtuiqFvfeHFrCOThCerERJMXGkl6ACjmgx1scY63MZ8LpFiTV
HDgBSGy5BbU4k8KyKbDEz7t4zlnfcN7F809yQZgv85lQzYH/Ar8B2KDRtXRTvy0AAAAASUVORK5CYII=
</value>
</data>
<data name="btnSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFWSURBVFhH7ZfRTcMwFEW7getOwAiMwAiMwAhsQDdIJWL3
EzZoNygj8IGEbH9kBNig1XNwam6cyK8xHxW50v1I4nffaRPbyWIx60eiNrdS251U5jDdrhLb5gZ7jEoq
s19pdyxlqT6/RG0esM+gukLt3qRya1nbVww9h9t3Pya4dptf1zYf3+E4G+Ic4NZ0LLbuDhvjmKF6UTVL
AmFBYPgUAF/PhegFTAQgsSAwoAQAqQeh3H18vRMGlAIgxRB+dlTNEsf0AkoCkKhpGJO8FRgwCvBsm5W2
T8G08GB9SjTFB8dgAK2M2DjHVIfZQSwAEv1VfmHKdSo4EhugtGaA6wPwD2Fvr2dY2108K1gAl05DNK0Z
oQcPIFqI6Bzb0ftE6HExAI7NUap+BpgBrgXAHNo93r6Ec/Hen+tUffseMQBQ+sNkzELbR+zffpops+/2
9r9y6tf/a50AFjloxuey+jUAAAAASUVORK5CYII=
</value>
</data>
<data name="btnLoad.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGOSURBVFhH7ZbdUcMwDMc7AbaZgBHYAEZghG4AI7BBcpc4
fe0IbAAbhDt6l9p+CBukGwCSm95FsU0+nD7ld6eHKB+Wpb/kbDYrKw5YUnMu9UMsY7v6jq7hhEnzJDJd
3xbmJ7YJWTXwfbrmBVw8PZyCD82A7cwjfj9X9/QeIgrzwXK1pf6YiNykQppX6kcgTRAl9ccEFoeNdpyY
GqlLW6d+7axfl97UjcAZAIgOUg+B+AxfzHTdeXECzgBghx2HA2hLW6KB7eTBGQAqc0DthdSfrNAv1D8G
dwCg/gEBYJvKqhFSvU+1m0x98eJo7LVJMKPB1iCAEHEXUUy9gbjho9teWq4AZB31B2lAgSU1pw8tie0u
9Y0XKLCFRrAPLH2u9/2LKwDZxsOpFb8VV9XQB5cCddemvyV4UkWmnb5dZ673UIqOcwFw9+nhRP3nQaNL
6o/NeQj1506seR/i8lPia3mYTnPnfQhb5kC32eFQNUuIkUv9bA++fzLcioT+lMw1aLtRG4NI6Y/JZPPV
fGXlj1+IiPN7K3bF9gAAAABJRU5ErkJggg==
</value>
</data>
<data name="BtnRestore.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEySURBVFhH7ZXtDUExGIVtUDWBEYxgBBswgg3YwE209/50
R7ABG/BDIm0l1wZsQN5bDQ7xWa9EPEn/3K/Tc3raW6n8+VVE5pp4jQ2pXPKVCYhBUZXajmTqpnjv4xzE
Z7XU7djdC2UaQZzdvRdfbkic3b1QphOE2d1L7fqn4qzupbI5irO49003ExRncS+yoh6ajkNqM8bno4JN
x0GpVNNVmxLCd9+Gmn5LHIdPyfZo0vitl6C2S23nKPTIkENb0NEcpR/UAZHa7rOTod0RfWnKyZRLY8Yo
eCauXR/fjcq1w6gUThbbKLHfwm/Ly3JSKtEjvwatLYpTR/C5j3DxE9JmHW3b3cMfx8fo2SIPnDafLfKA
0K7lXds5W+SBMno62ZTNWSMP0J6n8uF1Fsgxe+R/uNgD4zSGvcKMqv0AAAAASUVORK5CYII=
</value>
</data>
<data name="BtnTools.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIjSURBVFhH7VftbcIwEM0GSZigI3SDsgHdoIzQDcoGjdQ4
/O0GZQPYgP5AqmJXgg1gA6pn55yLaxwHFapKfdJJwWefn31fJkmSJEmFus+FXI8qdbyG5C9yO6rkE/bW
m7sTriW5ULMkF/Jd/6jUKp2r8cUFt12plSEg1wmxgVJfyRXAb/13CMzV+G8TSMv6NmbsFM4mkJb11KSQ
OsKPdrySjxiDLqs+H7qrvmMwAZyONibRKdQA312dXKfP26xrpQXsmXn1rpeA3lx87K3xYnM4RYB0sSS0
vo8A5ayeAxfYHPYQQC0p62lLol52rXkQIsB9BT9jrI8A/33KbgehibmoF81JdnbMEqiXqOcQ890SaNbu
mnkLa9CHMAFTpun0eoy5xJUOgVIV7hhHOt/e6I8QAZ+O4sAn0Nl5PNUctFnQ0wtCuj4ECcTWgZCuD52G
4+piCdhAKlVBY/Adgs4n1q86BuSrXuuJgQEEmvQSH3sqKjzPXSEbmEvFiwcwIZoATkR6ynsY14Eo1IwL
7w02A4rNgd8KIZoAMKioOMZ5seIYRMBcZ/NsgysCbZf3Daxx9YRBBAAdeNSEPEFFsFUSVx9qREMJAG69
96Et0/6rJ/wTOI9AT3MBLkuAjF+MACskPvwoAd4n2MNhmZVqkgl55xP688r7gouWpHxz11sp1cQ+YFAr
eKWLkdDp6AUVK9aWqeem2oVEF5iAq/QfT/YyPiW4ddr8C86KttQi5Qi1AAAAAElFTkSuQmCC
</value>
</data>
<data name="btnSetting.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFdSURBVFhH7ZJBboMwEEVRkotUFexaJTQxdFEhoRoLtQE2
pCndVAk9h0+RRa6AOFckJO5A9Q0mrWlCD+AnzWa+7D/zbcPQaDQajeYKnufNUGpf4nl8hlL7krHzl0nT
qfXwmFi2W5oLp7DmTojeWU6nwfsuodm+pFle0OwrRO+nToI4WbGodIK4cGjySx8F5jf3bm3ZbtPWsrJs
4ktdmL/lNc3yBuVtdhXd5r0Oc4eFtcPiBrVkLxWh616/CiLD5mfzrubuESkg8m5zYS7rebs7YkucF5t3
5rJWLBK66jcAF4jYlQHMhXswDGOCS9rYlQGy/YFzLnQRuzIACaKDwflE9fsTvHkbe2t+e+eeTJs8SR1v
LmLvzP3N54l95L2ON0fs/QD+64mwuNfHwSe0iY/YsbkwVz4Z3hyxY3OYDz4hXfuIHZvD/F/xD2gPXYwN
lyJ2tS8Rpld0jUaj0WjAN2hurzyqslncAAAAAElFTkSuQmCC
</value>
</data>
<data name="btnTop.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEpSURBVFhH7ZbdbYMwFIWzAZgJMkI3aDfICtkgI4QNygOm
Y6QbNBskD5Uq2w9kg3aDVsfI1Lr2BR6C1Ur+pCOhey8+B5m/zSaT+a8Uz30ppL5AOKb9VRnNm/cvq5Qh
fPOiVQ9QshDUfKynCMGZj/01Q8yZO1YLYQN05jxl7rAhMHvPAJlMEoQ0ddXpIyd/tmjVnvYheufH1iyl
PtA5S9WZ7ym5ucE87EN4/pesKaR69ecC8BxDtA5wspD6GtZxtb9BwWBmar8WmwuYDMD0Ygv/kQDqzb8H
hn8IdfPnAjgTwPW4AFTYvtlXOmcCuB4XgG7BIjgTwPXSBWhNI+THZ9maXSn1o5Po9ClJAPfNp3sbM4vV
FuH+9Wjdx868mKdRkbfb0Ou3tJ7J+PwAUxeSgMVr4eQAAAAASUVORK5CYII=
</value>
</data>
<data name="BtnIndent.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFFSURBVFhH7ZbNUcMwEIXVgbKpgBLogJRACSkhHUAHeAZJ
HKED6AA6IIfMZLQ6mA6SDsg8YQezo4OiYHNA38w72OvZXe8+/yhVqXToh7CYO76ZQqgl6ytqNvu5C59T
iKz/kPWVNv4SnU2j9kLWr6iSsWCcM8tXp0rftTOZK5qQLL/DCzKWgqx/kebKFd1zK/Opb4dud9r4pYxL
cPdkw22JtA3XMl9sAI9H/ziS5cfkqMYiFnXhDV4gy+uuieyVnE3fQH9MJjSnrORsZAMAuzquxIRmGMMu
pblyRY6fh7kiyQaMX2ICiGnHqx8xxytcXyRxM5FhAzAfTBjPNZt90rW/Td8ATAfzxWPL65IXVBFfBbe7
fuTJMY3J0SCZI48Gtf61RNJPke5VnD1yMvwk3Z0r1JH5Kn8Pvm7y53EsoZasX39KK/+XA5E65GbDt7KJ
AAAAAElFTkSuQmCC
</value>
</data>
<data name="BtnNewOpen.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFhSURBVFhH7ZbNTQMxEIXTgeNUQAl0QDqAEiiBDqCD5GBv
jlACJVACBy5rH9ICHYDeKpZGL/vjeEZISHnSkzbj9cwX/61Xq6uEfOzfN13+sTBycf5F+S5/cKJWIxfn
X1QBcF16coe8bXLMD2oAH9PrpkvPLfYx79QAFlYB+JDefMwvTQ55rwbAUK5jumtyyPcGAHqrALCHz4a2
1hZT4EL/yG21cqG/VQNYWAXgY/rE86z3X99c1AwAJxq3seZGC3BYC9xnUXNJa43Rc7vjmnNXyQKgLGAZ
4zqTMgE4TZ+McZ1J/UuAYc5HFu2fAbjD8QaHD38T5Dvchj5ce1ALQEs/HNlcexD+ydkNR9xyxox+JgDY
u2jgGw6Mdk5SbAYAYQ/zy6UIx4oxOpwH4v7VGoNAnGPS8g5ZFhj3v0gMgRgXnbLqHJCSEPjNhaZsBgAV
CDxzoSmXb4HcRZz3ImluR1fV6BdGHdDElAsa4AAAAABJRU5ErkJggg==
</value>
</data>
<metadata name="ryComboBox1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>

View File

@ -123,10 +123,11 @@ namespace RySkins
form.VisibleChanged += new EventHandler(base.MdiChildVisibleChange);
form.MdiParent = this;
//f.BackColor = Color.White;
form.FormBorderStyle = FormBorderStyle.SizableToolWindow;
//form.FormBorderStyle = FormBorderStyle.SizableToolWindow;
form.SizeGripStyle = SizeGripStyle.Show;
form.WindowState = FormWindowState.Maximized;
form.Show();
//form.Refresh();
// form.ResumeLayout(false);
//f.Focus();
}

View File

@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// 生成号
// 修订号
//
[assembly: AssemblyVersion("1.0.2501.0601")]
[assembly: AssemblyFileVersion("1.0.2501.0601")]
[assembly: AssemblyVersion("1.0.2505.1201")]
[assembly: AssemblyFileVersion("1.0.2505.1201")]

View File

@ -35,6 +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.checkBox2 = new System.Windows.Forms.CheckBox();
this.checkBox1 = new System.Windows.Forms.CheckBox();
this.linkLabel8 = new System.Windows.Forms.LinkLabel();
@ -48,26 +49,37 @@ 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.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();
@ -77,18 +89,6 @@ namespace LiveUpdate
this.BtnUsersView = new System.Windows.Forms.Button();
this.LvUpdateFiles = new BrightIdeasSoftware.ObjectListView();
this.OlvFileName = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
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();
@ -173,6 +173,30 @@ namespace LiveUpdate
this.tabPage1.TabIndex = 0;
this.tabPage1.Text = "基本设置";
//
// 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;
//
// checkBox2
//
this.checkBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
@ -320,7 +344,7 @@ namespace LiveUpdate
//
// BtnOneKeyUpdate
//
this.BtnOneKeyUpdate.Location = new System.Drawing.Point(239, 23);
this.BtnOneKeyUpdate.Location = new System.Drawing.Point(237, 23);
this.BtnOneKeyUpdate.Name = "BtnOneKeyUpdate";
this.BtnOneKeyUpdate.Size = new System.Drawing.Size(76, 31);
this.BtnOneKeyUpdate.TabIndex = 34;
@ -329,6 +353,56 @@ 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)));
@ -348,6 +422,20 @@ 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;
@ -357,6 +445,19 @@ 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;
@ -408,6 +509,19 @@ 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;
@ -449,12 +563,41 @@ 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)));
this.btnSelectUser.Location = new System.Drawing.Point(614, 489);
this.btnSelectUser.Name = "btnSelectUser";
this.btnSelectUser.Size = new System.Drawing.Size(55, 23);
this.btnSelectUser.Size = new System.Drawing.Size(55, 24);
this.btnSelectUser.TabIndex = 35;
this.btnSelectUser.Text = "选择";
this.btnSelectUser.UseVisualStyleBackColor = true;
@ -512,6 +655,67 @@ namespace LiveUpdate
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;
//
// tabPage3
//
this.tabPage3.Controls.Add(this.BtnPasteFromMD);
@ -546,6 +750,21 @@ 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);
@ -643,229 +862,6 @@ namespace LiveUpdate
this.OlvFileName.Text = "文件名";
this.OlvFileName.Width = 150;
//
// 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(326, 25);
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.DetectUrls = false;
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.DetectUrls = false;
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;
//
// 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("宋体", 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;
//
// 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.DetectUrls = false;
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);

View File

@ -174,19 +174,26 @@ namespace LiveUpdate
var json_filename_noext = System.IO.Path.GetFileNameWithoutExtension(filename);
var config_folder = UpdateFilesDir + "\\" + json_filename_noext + "_Config";
var updatelogs_folder = UpdateFilesDir + "\\WebUpdateLogs";
var ProcUpdateUrl = cmbProcUpdateUrl.Text;
var iPos= ProcUpdateUrl.LastIndexOf("/");
var root_url = "http://192.168.1.191/OnlineUpgrade";
if (iPos>0)
{
root_url = ProcUpdateUrl.Substring(0, iPos);
}
JObject json = new JObject
{
["SoftVer"] = cmbNewVer.Text,
["DbVer"] = cmbNewDbVer.Text,
["FileUpdateUrl"] = cmbProcUpdateUrl.Text,
["FileUpdateUrl"] = ProcUpdateUrl,
["DbUpdateUrl"] = cmbDbUpdateUrl.Text,
["SoftDate"] = dtNewProcDate.Value.Date.ToString("yyyy-MM-dd"),
["DbDate"] = dtNewDataDate.Value.Date.ToString("yyyy-MM-dd"),
["SoftUpdateDes"] = txtUpdateDes.Text,
["SoftUpdateDesUrl"] = ChkUseHtml.Checked ? ("http://192.168.1.191/OnlineUpgrade/WebUpdateLogs/" + json_filename_noext + ".html?rd=" + DateTime.Now.ToString("yyyyMMddHHmmss")) : "",
["SoftUpdateDesUrl"] = ChkUseHtml.Checked ? (root_url+"/WebUpdateLogs/" + json_filename_noext + ".html?rd=" + DateTime.Now.ToString("yyyyMMddHHmmss")) : "",
["DbUpdateDes"] = txtDbUpdateDes.Text,
["UpdateUserList"] = user == null ? "" : user.UserList,
["ConfigUrl"] = "http://192.168.1.191/OnlineUpgrade/" + json_filename_noext + "_Config/Config.json"
["ConfigUrl"] = root_url+"/" + json_filename_noext + "_Config/Config.json"
};
RyFiles.WriteAllText(UpdateFilesDir + "\\" + json_filename_noext + ".json", json.ToString());
try
@ -229,7 +236,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) + "&type="+ ryMessageConst.MsType.MustUpdate +
web.Post("http://gs2.3h3.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;
}

View File

@ -530,5 +530,121 @@ namespace ryCommon
catch { return ""; }
//return replace.IsMatch(wildcardStr1);
}
/// <summary>
/// 提取字符串中的英文和数字
/// </summary>
/// <param name="str"></param>
/// <param name="eng_group_on">如果存在英文词组,则按词组方式提取</param>
/// <returns></returns>
public static List<StrPos> GetEngOrNumPos(string str,bool eng_group_on = true)
{
var list=new List<StrPos>();
var is_num = -1;
var num_str = "";
var is_point = false;
var is_eng = -1;
var eng_str = "";
for (int w = 0; w < str.Length; w++)
{
var word = str[w];
//遇到数字开头
#region
if ((word >= '0' && word <= '9'))
{
if (is_num < 0)
{
num_str = "";
is_point = false;
is_num = w;
}
num_str += word;
}
else
{
if (word == '.')
{
//如果出现连续2个小数点,则认为数字已经结束
if (is_point)
{
list.Add(new StrPos() { StartPos = is_num, EndPos = w - 1, Word = num_str, IsNum = true });
is_num = -1;
}
else
{
num_str += word;
is_point = true;
}
}
else if (is_num >= 0)
{
list.Add(new StrPos() { StartPos = is_num, EndPos = w - 1, Word = num_str, IsNum = true });
is_num = -1;
}
}
#endregion
#region
if ((word >= 'a' && word <= 'z') || (word >= 'A' && word <= 'Z')) //如果是字母
{
if (is_eng < 0) { eng_str = ""; is_eng = w; }
eng_str += word;
}
else
{
if(eng_group_on && word==' ')
{
eng_str+=word;
}
else if (is_eng >= 0)
{
//如果前一个字符是空格,则将词组位置向前提前
if (eng_group_on && str[w - 1] == ' ')
{
list.Add(new StrPos() { StartPos = is_eng, EndPos = is_eng+eng_str.Trim().Length, Word = eng_str.Trim(), IsEng = true });
}
else
{
list.Add(new StrPos() { StartPos = is_eng, EndPos = w - 1, Word = eng_str, IsEng = true });
}
is_eng = -1;
}
}
#endregion
}
if(is_num>=0)
{
list.Add(new StrPos() { StartPos = is_num, EndPos = str.Length - 1, Word = num_str, IsNum = true });
}
if (is_eng >= 0)
{
list.Add(new StrPos() { StartPos = is_eng, EndPos = str.Length - 1, Word = eng_str, IsEng = true });
}
return list;
}
}
/// <summary>
/// 字符串位置类
/// </summary>
public class StrPos
{
/// <summary>
///
/// </summary>
public int StartPos { get; set; } = -1;
/// <summary>
///
/// </summary>
public int EndPos { get; set; } = -1;
/// <summary>
///
/// </summary>
public string Word { get; set; } = "";
/// <summary>
/// 是否是英文
/// </summary>
public bool IsEng { get; set; } = false;
/// <summary>
/// 是否是数字
/// </summary>
public bool IsNum { get; set; } = false;
}
}

View File

@ -41,6 +41,18 @@ namespace ryCommon
/// </summary>
public event TranProgressHandler OnFolderProgress;
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
/// <param name="FromPath"></param>
/// <param name="ToPath"></param>
public delegate void CancelFileEventHandler(object sender, CancelEventArgs e,string FromPath,string ToPath);
/// <summary>
/// 取消事件
/// </summary>
public event CancelFileEventHandler OnCanelCopy;
/// <summary>
/// 取消事件
/// </summary>
public event CancelEventHandler OnCanel;
@ -53,6 +65,15 @@ namespace ryCommon
/// <returns></returns>
public bool CopyBigFile(string soucrePath, string targetPath,object Tag=null)
{
if (OnCanelCopy != null)
{
CancelEventArgs e1 = new CancelEventArgs();
OnCanelCopy?.Invoke(this, e1, soucrePath, targetPath);
if (e1.Cancel)
{
return true;
}
}
try
{
if (!System.IO.File.Exists(soucrePath))
@ -131,9 +152,11 @@ namespace ryCommon
}
}
var from_dt = RyFiles.GetFileDate(soucrePath);
var file_dt = new sType.FileTime();
file_dt.LastWriteTime = from_dt.LastWriteTime;
file_dt.CreateTime = from_dt.CreateTime;
var file_dt = new sType.FileTime
{
LastWriteTime = from_dt.LastWriteTime,
CreateTime = from_dt.CreateTime
};
RyFiles.SetFileDate(targetPath,file_dt);
return true;
}

View File

@ -155,7 +155,7 @@ namespace ryCommon
var hosts_path= ryCommon.RyFiles.GetRealPath("<sys>\\drivers\\etc\\hosts");
var sys_content = ryCommon.RyFiles.ReadAllText(hosts_path).Trim();
var result= AddHosts(ref sys_content, list,write);
if(result==1)
if(result==1 && write)
{
ryCommon.RyFiles.WriteAllText(hosts_path, sys_content, Encoding.UTF8);
}

View File

@ -634,9 +634,9 @@ namespace ryCommon
try
{
FileInfo fi = new FileInfo(fileName);
if (time.LastWriteTime > dt)
if (time.AccessTime > dt)
{
fi.LastAccessTime = time.LastWriteTime;
fi.LastAccessTime = time.AccessTime;
}
if (time.CreateTime > dt)
{

View File

@ -161,10 +161,11 @@ namespace ryCommon
/// </summary>
/// <param name="url"></param>
/// <param name="Referer"></param>
/// <param name="Timeout"></param>
/// <returns></returns>
public static Image LoadPic(string url, string Referer = "")
public static Image LoadPic(string url, string Referer = "", int Timeout = 10000)
{
return LoadPic(url, out _, Referer);
return LoadPic(url, out _, Referer, Timeout);
}
/// <summary>
/// 从文件或Url中加载图片,使用本方法,不会导致图片文件被占用。(如果是webp格式,需要引入OpenXmlPowerTools)
@ -172,8 +173,9 @@ namespace ryCommon
/// <param name="url"></param>
/// <param name="ImgByte"></param>
/// <param name="Referer"></param>
/// <param name="Timeout"></param>
/// <returns></returns>
public static Image LoadPic(string url, out byte[] ImgByte, string Referer="")
public static Image LoadPic(string url, out byte[] ImgByte, string Referer="",int Timeout=10000)
{
ImgByte = null;
if (url.IndexOfEx("http") == 0)
@ -182,11 +184,13 @@ namespace ryCommon
try
{
var webreq = WebRequest.Create(url) as HttpWebRequest;
webreq.UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)";
webreq.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36 Edg/132.0.0.0";
if (Referer.Length > 0)
{
webreq.Referer = Referer;
}
webreq.Timeout = Timeout;
webreq.ContinueTimeout = Timeout;
WebResponse webres = webreq.GetResponse();
byte[] ResponseByte = null;
MemoryStream _stream = new MemoryStream();

View File

@ -1,7 +1,9 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Security.Principal;
using System.Text;
using System.Windows.Forms;
using static System.Net.Mime.MediaTypeNames;
@ -52,6 +54,7 @@ namespace ryCommon
{
_softVer = 0;
_reVer = 0;
if (ver == null) { return; }
string[] ver_item = ver.Split('.');
switch (ver_item.Length)
{

View File

@ -21,6 +21,12 @@ namespace RyWeb
/// <param name="e"></param>
public delegate void HttpRequestHandler(object sender, HttpRequest e);
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public delegate void HttpErrorHandler(object sender, Exception e);
/// <summary>
/// 当收到Get事件时激发
/// </summary>
[Description("当收到Get事件时激发")]
@ -30,6 +36,11 @@ namespace RyWeb
/// </summary>
[Description("当收到Post事件时激发")]
public event HttpRequestHandler OnHandlePOSTRequest;
/// <summary>
/// 当收到错误时激发
/// </summary>
[Description("当收到错误时激发")]
public event HttpErrorHandler OnError;
private HttpListener listener;
private Thread httpThread;
private volatile bool stopped = false;
@ -46,23 +57,29 @@ namespace RyWeb
/// 在此端口建立Http服务类
/// </summary>
/// <param name="port">端口号</param>
public HttpServer(int port)
/// <param name="isStart">是否直接启动服务</param>
/// <param name="OnError">端口号</param>
public HttpServer(int port,bool isStart=true, HttpErrorHandler OnError=null)
{
isrunning = false;
stopped = false;
try
this.port = port;
this.OnError = OnError;
if (isStart)
{
listener = new HttpListener();
this.port= port;
listener.Prefixes.Add("http://"+ ListenerHost + ":" + port + "/");
listener.Prefixes.Add("http://127.0.0.1:" + port + "/");
//listener.Prefixes.Add(HTTPS_PREFIX + HTTPS_PORT + "/");
listener.Start();
httpThread = new Thread(new ThreadStart(Run));
httpThread.Start();
isrunning = true;
isrunning = false;
stopped = false;
try
{
listener = new HttpListener();
listener.Prefixes.Add("http://" + ListenerHost + ":" + port + "/");
listener.Prefixes.Add("http://127.0.0.1:" + port + "/");
//listener.Prefixes.Add(HTTPS_PREFIX + HTTPS_PORT + "/");
listener.Start();
httpThread = new Thread(new ThreadStart(Run));
httpThread.Start();
isrunning = true;
}
catch (Exception ex) { ErrorMessage = ex.Message; OnError?.Invoke(this, ex); }
}
catch(Exception ex) { ErrorMessage = ex.Message; }
}
private bool isrunning = false;
/// <summary>
@ -97,7 +114,7 @@ namespace RyWeb
}
isrunning = true;
}
catch(Exception ex) { ErrorMessage = ex.Message; }
catch(Exception ex) { ErrorMessage = ex.Message; OnError?.Invoke(this, ex); }
}
/// <summary>
/// 退出服务
@ -155,6 +172,7 @@ namespace RyWeb
catch (Exception e)
{
ErrorMessage = e.Message;
OnError?.Invoke(this, e);
}
}
private void _RequestHandler(IAsyncResult r)

View File

@ -226,6 +226,10 @@ namespace RyWeb
{
return GetContentLen(out _, out errormsg);
}
else if (r.StatusCode == System.Net.HttpStatusCode.InternalServerError)
{
return -500;
}
else if (r.StatusCode == 0)
{
System.Net.ServicePointManager.DefaultConnectionLimit = 512;

View File

@ -105,7 +105,7 @@ namespace ryCommon
apkinfo.FileName = System.IO.Path.GetFileName(apk_file);
apkinfo.FilePath = apk_file;
apkinfo.PackageName = GetRegex(result, @"package:\sname='(?<name>(.*))'\sversionCode", "name");
apkinfo.VersionCode = GetRegex(result, @"versionCode='(?<name>([1-9]*))' ", "name").ToInt();
apkinfo.VersionCode = GetRegex(result, @"versionCode='(?<name>([0-9]*))' ", "name").ToInt();
apkinfo.VersionName = result.GetStr("versionName='","'");
//sdk_ver:=RegExpr(dosStr,'sdkVersion:''(?<name>(.*))''\s','name');
apkinfo.MinSDK = GetRegex(result, @"sdkVersion:'(?<name>(.*))'\s", "name").ToInt();
@ -137,7 +137,7 @@ namespace ryCommon
}
try
{
FileInfo fi = new FileInfo(apk_file);
FileInfo fi = new(apk_file);
apkinfo.CreationTime = fi.CreationTime;
apkinfo.LastWriteTime = fi.LastWriteTime;
}
@ -146,83 +146,104 @@ namespace ryCommon
{
#region apk图标
string apk_icon = GetRegex(result, @"application:\slabel='(?<label>(.*))'\sicon='(?<icon>(.*))'", "icon");
if(apk_icon.IndexOfEx("'")>0)
{
apk_icon = apk_icon.Substring(0, apk_icon.IndexOf("'"));
}
//RyFiles.WriteAllText(Application.StartupPath+"\\1111.txt", result);
var list_icon = GetRegexList(result, @"application-icon-(.*)'(?<name>(.*))'", "name");
for (int i = list_icon.Count - 1; i >= 0; i--)
{
if (list_icon[i].EndsWith(".xml")) { list_icon.RemoveAt(i); }
var item = list_icon[i];
if (item.IndexOfEx("'") > 0)
{
item = item.Substring(0, item.IndexOf("'"));
}
if (item.EndsWith(".xml")) { list_icon.RemoveAt(i); }
else
{
if(list_icon[i]== apk_icon) { list_icon.RemoveAt(i); }
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";
bool isXML = false;
var icon_filename_noext = "";
if(System.IO.Path.GetExtension(apk_icon).ToLower()==".xml")
{
icon_filename_noext= System.IO.Path.GetFileNameWithoutExtension(apk_icon);
isXML = true;
}
try
{
#region
if (System.IO.File.Exists(apkicon_savepath)) { System.IO.File.Delete(apkicon_savepath); }
try
if (apkinfo.PackageName.Length > 0)
{
var zips= ZipFile.OpenRead(apk_file);
var max_size = 0L;
var max_i = -1;
for (int i = 0; i < zips.Entries.Count; i++)
var zips = ZipFile.OpenRead(apk_file);
try
{
var zip = zips.Entries[i];
if (isXML)
var max_size = 0L;
var max_i = -1;
for (int i = 0; i < zips.Entries.Count; i++)
{
if (zip.FullName.Replace("/", "\\").IndexOfEx("res\\mipmap-xxxhdpi") ==0 && zip.Name.IndexOfEx("app")>=0 && System.IO.Path.GetExtension(zip.FullName).ToLower()==".png")
var zip = zips.Entries[i];
if (isXML)
{
if (zip.Length > max_size)
if (zip.FullName.Replace("/", "\\").IndexOfEx("res\\mipmap-xxxhdpi") == 0 && zip.Name.IndexOfEx("app") >= 0 && System.IO.Path.GetExtension(zip.FullName).ToLower() == ".png")
{
max_i = i;
max_size = zip.Length;
if (zip.Length > max_size)
{
max_i = i;
max_size = zip.Length;
}
}
else if (zip.Name== (icon_filename_noext+".png"))
{
if (zip.Length > max_size)
{
max_i = i;
max_size = zip.Length;
}
}
}
else
{
if (list_icon.Contains(zip.FullName))
{
if (zip.Length > max_size)
{
max_i = i;
max_size = zip.Length;
}
}
}
}
else
if (max_i >= 0)
{
if(list_icon.Contains(zip.FullName))
string fileName = Path.GetFileName(zips.Entries[max_i].FullName);
{
if(zip.Length>max_size)
#region
if (!System.IO.Directory.Exists(Cache_Folder))
{
max_i = i;
max_size= zip.Length;
System.IO.Directory.CreateDirectory(Cache_Folder);
}
//var tmp_icon = Cache_Folder.TrimEnd('\\') + "\\" + System.IO.Path.GetFileNameWithoutExtension(fileName) + "_" + DateTime.Now.ToInt64() + System.IO.Path.GetExtension(fileName);
zips.Entries[max_i].ExtractToFile(apkicon_savepath, true);//解压文件,如果已存在就覆盖
//string errorMsg = "";
//RyFiles.MoveFile(tmp_icon, apkicon_savepath, false, false, false, ref errorMsg);
//fileItem.LastWriteTime = zipEntry.DateTime;
#endregion
}
}
}
if(max_i>=0)
catch (Exception ex)
{
string fileName = Path.GetFileName(zips.Entries[max_i].FullName);
{
#region
if (!System.IO.Directory.Exists(Cache_Folder))
{
System.IO.Directory.CreateDirectory(Cache_Folder);
}
//var tmp_icon = Cache_Folder.TrimEnd('\\') + "\\" + System.IO.Path.GetFileNameWithoutExtension(fileName) + "_" + DateTime.Now.ToInt64() + System.IO.Path.GetExtension(fileName);
zips.Entries[max_i].ExtractToFile(apkicon_savepath, true);//解压文件,如果已存在就覆盖
//string errorMsg = "";
//RyFiles.MoveFile(tmp_icon, apkicon_savepath, false, false, false, ref errorMsg);
//fileItem.LastWriteTime = zipEntry.DateTime;
#endregion
}
apkinfo.ErrorMsg = "解压报错=>" + ex.Message;
}
zips.Dispose();
}
catch (Exception ex)
{
apkinfo.ErrorMsg = "解压报错=>" + ex.Message;
}
#endregion
}
catch

View File

@ -391,6 +391,15 @@ namespace ryCommon
}
}
/// <summary>
/// 判断当前系统是否安装了.NET 3.5
/// </summary>
/// <returns></returns>
public static bool IsInstall_NET35()
{
var folder = RyFiles.GetRealPath("<prog>\\Reference Assemblies\\Microsoft\\Framework\\v3.5");
return System.IO.Directory.Exists(folder);
}
/// <summary>
/// 判断当前系统是否安装了.NET 4.8
/// </summary>
/// <returns></returns>
@ -407,5 +416,49 @@ namespace ryCommon
Microsoft.Win32.RegistryView.Default, @"SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.8");
}
}
/// <summary>
/// 判断当前系统是否安装了.NET 6
/// </summary>
/// <returns></returns>
public static bool IsInstall_NET6()
{
var folder = RyFiles.GetRealPath("<prog>\\dotnet\\shared\\Microsoft.NETCore.App");
if (!System.IO.Directory.Exists(folder)) { return false; }
var files= System.IO.Directory.GetDirectories(folder,"6.0.*");
return (files != null && files.Length > 0);
}
/// <summary>
/// 判断当前系统是否安装了.NET 7
/// </summary>
/// <returns></returns>
public static bool IsInstall_NET7()
{
var folder = RyFiles.GetRealPath("<prog>\\dotnet\\shared\\Microsoft.NETCore.App");
if (!System.IO.Directory.Exists(folder)) { return false; }
var files = System.IO.Directory.GetDirectories(folder, "7.0.*");
return (files != null && files.Length > 0);
}
/// <summary>
/// 判断当前系统是否安装了.NET 8
/// </summary>
/// <returns></returns>
public static bool IsInstall_NET8()
{
var folder = RyFiles.GetRealPath("<prog>\\dotnet\\shared\\Microsoft.NETCore.App");
if (!System.IO.Directory.Exists(folder)) { return false; }
var files = System.IO.Directory.GetDirectories(folder, "8.0.*");
return (files != null && files.Length > 0);
}
/// <summary>
/// 判断当前系统是否安装了.NET 9
/// </summary>
/// <returns></returns>
public static bool IsInstall_NET9()
{
var folder = RyFiles.GetRealPath("<prog>\\dotnet\\shared\\Microsoft.NETCore.App");
if (!System.IO.Directory.Exists(folder)) { return false; }
var files = System.IO.Directory.GetDirectories(folder, "9.0.*");
return (files != null && files.Length > 0);
}
}
}

View File

@ -169,10 +169,11 @@ namespace ryCommon
/// 将秒数显示成中文表达式
/// </summary>
/// <param name="Seconds"></param>
/// <param name="ShowSeconds">显示秒</param>
/// <returns></returns>
public static string GetTimeStr(long Seconds)
public static string GetTimeStr(long Seconds,bool ShowSeconds=true)
{
return DateDiff(DateTime.MinValue, DateTime.MinValue.AddSeconds(Seconds), true);
return DateDiff(DateTime.MinValue, DateTime.MinValue.AddSeconds(Seconds), ShowSeconds);
}
/// <summary>
/// 计算一个时间与当前本地日期和时间的时间间隔,返回的是时间间隔的日期差的绝对值.
@ -313,7 +314,7 @@ namespace ryCommon
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public static Int64 DaySecond(DateTime dt)
public static long DaySecond(DateTime dt)
{
return dt.Hour*3600+dt.Minute*60+dt.Second;
}

View File

@ -295,14 +295,18 @@ namespace ryCommon
if (panrent_ctl == null) { return false; }
frm.FormBorderStyle = FormBorderStyle.None;
frm.StartPosition = FormStartPosition.Manual;
panrent_ctl.SuspendLayout();
_ = WinAPI.User32.SetParent(frm.Handle, panrent_ctl.Handle);
SetChildStyle(frm);
frm.Size=panrent_ctl.ClientSize;
frm.Location = new Point(0, 0);
frm.Show();
_ = WinAPI.User32.MoveWindow(frm.Handle, 0, 0, panrent_ctl.ClientSize.Width, panrent_ctl.ClientSize.Height, false);
panrent_ctl.SizeChanged += delegate (object sender1, EventArgs e1)
{
ResizeWin(frm, panrent_ctl);
};
_ = WinAPI.User32.MoveWindow(frm.Handle, 0, 0, panrent_ctl.ClientSize.Width, panrent_ctl.ClientSize.Height, false);
panrent_ctl.ResumeLayout();
return true;
}
/// <summary>

View File

@ -3,6 +3,8 @@ using System.Collections.Generic;
using System.Text;
using Microsoft.Win32;
using System.Windows.Forms;
using System.Threading;
using System.Runtime.InteropServices;
namespace ryCommon
{
@ -351,12 +353,30 @@ namespace ryCommon
/// 设置文件关联
/// </summary>
/// <param name="Ext">扩展名(如.apk)</param>
/// <param name="filePath">文件路径</param>
/// <param name="iconPath">图标路径</param>
public static void SetFileAssociation(string Ext, string filePath, string iconPath = "")
{
if (Ext.StartsWith("."))
{
SetFileAssociation(Ext, Ext.Substring(1) + "file", Ext.Substring(1)+"open", "", filePath, iconPath);
}
else {
SetFileAssociation("."+Ext, Ext+ "file", Ext + "open", "", filePath, iconPath);
}
}
/// <summary>
/// 设置文件关联
/// </summary>
/// <param name="Ext">扩展名(如.apk)</param>
/// <param name="ExtName">映射的扩展名(如apkfile)</param>
/// <param name="sName">app名称(建议用英文数字)</param>
/// <param name="AssDes">文件关联描述</param>
/// <param name="filePath">文件路径</param>
public static void SetFileAssociation(string Ext, string ExtName, string sName, string AssDes, string filePath)
/// <param name="iconPath">图标路径</param>
public static void SetFileAssociation(string Ext, string ExtName, string sName, string AssDes, string filePath,string iconPath="")
{
ClearUserChoice(Ext);
RegistryKey LRoot = Registry.ClassesRoot;
try
{
@ -366,7 +386,73 @@ namespace ryCommon
}
catch { }
LRoot.Close();
SetFileAssociation(ExtName, sName, AssDes, filePath);
SetFileAssociation(ExtName, sName, AssDes, filePath,iconPath);
SHChangeNotify(0x08000000, 0x0000, IntPtr.Zero, IntPtr.Zero);
}
[DllImport("shell32.dll")]
private static extern void SHChangeNotify(uint wEventId, uint uFlags, IntPtr dwItem1, IntPtr dwItem2);
private static bool ClearUserChoice(string extension)
{
if (!extension.StartsWith("."))
extension = "." + extension;
try
{
string keyPath = $@"Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\{extension}";
int index = 0;
while (index < 10)
{
if (index > 0)
{
Thread.Sleep(100);
}
// 1. 先检查键是否存在
using (var key = Registry.CurrentUser.OpenSubKey(keyPath + "\\UserChoice"))
{
if (key == null)
{
break; // 键不存在,视为清除成功
}
}
try
{
// 2. 尝试直接删除 UserChoice 键
Registry.CurrentUser.DeleteSubKeyTree(keyPath + "\\UserChoice", false);
// 3. 如果权限不足,尝试先修改权限
using (var key = Registry.CurrentUser.OpenSubKey(keyPath, RegistryKeyPermissionCheck.ReadWriteSubTree, System.Security.AccessControl.RegistryRights.Delete))
{
if (key != null)
{
var security = key.GetAccessControl();
security.SetOwner(new System.Security.Principal.SecurityIdentifier(System.Security.Principal.WindowsIdentity.GetCurrent().User.Value));
key.SetAccessControl(security);
key.DeleteSubKey("UserChoice");
}
}
// 再次尝试删除
Registry.CurrentUser.DeleteSubKeyTree(keyPath + "\\UserChoice", false);
// 4. 刷新 Shell
SHChangeNotify(0x08000000, 0x0000, IntPtr.Zero, IntPtr.Zero);
}
catch (Exception ex)
{
}
index++;
}
return true;
}
catch (Exception ex)
{
// 5. 详细的错误信息
Console.WriteLine($"清除 UserChoice 失败: {ex.GetType().Name} - {ex.Message}");
if (ex.InnerException != null)
{
Console.WriteLine($"Inner Exception: {ex.InnerException.Message}");
}
return false;
}
}
/// <summary>
/// 设置文件关联
@ -375,7 +461,8 @@ namespace ryCommon
/// <param name="sName">app名称(建议用英文数字)</param>
/// <param name="AssDes">文件关联描述</param>
/// <param name="filePath">文件路径</param>
public static void SetFileAssociation(string ExtName, string sName, string AssDes, string filePath)
/// <param name="iconPath">图标路径</param>
public static void SetFileAssociation(string ExtName, string sName, string AssDes, string filePath,string iconPath)
{
RegistryKey LRoot = Registry.ClassesRoot;
try
@ -383,7 +470,7 @@ namespace ryCommon
SetReg(sName);
SetReg("open");
RegistryKey reg_3 = LRoot.CreateSubKey(ExtName + @"\DefaultIcon");
reg_3.SetValue("", filePath + ",0");
reg_3.SetValue("", iconPath.Length==0?(filePath + ",0"): iconPath);
reg_3.Close();
void SetReg(string key)
{

View File

@ -33,5 +33,5 @@ using System.Runtime.InteropServices;
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("4.0.2501.0601")]
[assembly: AssemblyFileVersion("4.0.2501.0601")]
[assembly: AssemblyVersion("4.0.2506.2701")]
[assembly: AssemblyFileVersion("4.0.2506.2701")]

View File

@ -45,9 +45,9 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\Bin\Debug\CommonControls\.NET4\MySql.Data.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\Bin\Debug\CommonControls\.NET4\Newtonsoft.Json.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
</Reference>
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
@ -1034,12 +1034,13 @@
<Compile Include="UI\SuperColor\SuperColor.Designer.cs">
<DependentUpon>SuperColor.cs</DependentUpon>
</Compile>
<Compile Include="UI\SuperTabControl\ChromeTabControl.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="UI\SuperTabControl\ChromeTabControl.cs" />
<Compile Include="UI\SuperTabControl\ChromeTabControl.Designer.cs">
<DependentUpon>ChromeTabControl.cs</DependentUpon>
</Compile>
<Compile Include="UI\SuperTabControl\ChromeTabPage.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="UI\SuperTabControl\Win32\Enum.cs" />
<Compile Include="UI\SuperTabControl\Win32\User32.cs" />
<Compile Include="UI\TreeXML\clsCbbItem.cs" />

View File

@ -36,6 +36,7 @@
this.txtSearch = new ryControls.TextBoxEx();
this.panel1 = new System.Windows.Forms.Panel();
this.BtnPopup = new ryControls.ButtonEx();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.panel1.SuspendLayout();
this.SuspendLayout();
//
@ -89,7 +90,7 @@
this.BtnPopup.TabStop = false;
this.BtnPopup.UseVisualStyleBackColor = true;
this.BtnPopup.Click += new System.EventHandler(this.BtnPopup_Click);
this.BtnPopup.KeyDown += new System.Windows.Forms.KeyEventHandler(this.BtnPopup_KeyDown);
this.BtnPopup.KeyDown += new System.Windows.Forms.KeyEventHandler(this.BtnPopup_KeyDown);
//
// ComboBoxEx2
//
@ -117,5 +118,6 @@
private ButtonEx BtnPopup;
private ryControls.TextBoxEx txtSearch;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.ToolTip toolTip1;
}
}

View File

@ -52,6 +52,7 @@ namespace ryControls
txtSearch.Font = Font;
txtSearch.ImeMode = ImeMode;
base.GotFocus += RySearch_GotFocus;
base.LostFocus += RySearch_LostFocus;
this.SetStyle(
ControlStyles.AllPaintingInWmPaint | //忽略擦出的消息,减少闪烁。
ControlStyles.OptimizedDoubleBuffer |//在缓冲区上绘制,不直接绘制到屏幕上,减少闪烁。
@ -65,6 +66,14 @@ namespace ryControls
txtSearch.Select();
txtSearch.SelectionLength = 0;
}
private void RySearch_LostFocus(object sender, EventArgs e)
{
if(!txtSearch.Focused)
{
txtSearch.SelectionStart = 0;
txtSearch.SelectionLength = 0;
}
}
/// <summary>
///
/// </summary>
@ -93,6 +102,22 @@ namespace ryControls
txtSearch.EmptyText=value;
}
}
private string _ToolTipText = "";
/// <summary>
/// 鼠标移上时,显示提示
/// </summary>
[Description("鼠标移上时,显示提示")]
public string ToolTipText
{
get { return _ToolTipText; }
set
{
_ToolTipText = value;
toolTip1.SetToolTip(this, value);
toolTip1.SetToolTip(txtSearch, value);
toolTip1.SetToolTip(BtnPopup, value);
}
}
private Font _font = new Font("宋体",9);
/// <summary>
/// 字体
@ -366,12 +391,20 @@ namespace ryControls
}
set
{
_SelectedItem = LastSelectedItem = value;
if (value == null) { this.txtSearch.Text = ""; _SelectedIndex = -1; return; }
this.txtSearch.Text = _SelectedItem.ToString();
if(Items.Contains(value))
if (value != _SelectedItem)
{
_SelectedIndex= Items.IndexOf(value);
_SelectedItem = LastSelectedItem = value;
if (value == null) { this.txtSearch.Text = ""; _SelectedIndex = -1; return; }
this.txtSearch.Text = _SelectedItem.ToString();
if (this.txtSearch.Text.Length > 0)
{
this.txtSearch.Select(0, 0);
}
if (Items.Contains(value))
{
_SelectedIndex = Items.IndexOf(value);
}
SelectedIndexChanged?.Invoke(this, EventArgs.Empty);
}
}
}
@ -387,17 +420,25 @@ namespace ryControls
}
set
{
if (value.IsInRange(0, Items.Count - 1))
if (value != _SelectedIndex)
{
_SelectedIndex = LastSelectedIndex = value;
_SelectedItem=LastSelectedItem= Items[value];
txtSearch.Text = Items[value].ToString();
}
else
{
_SelectedIndex = LastSelectedIndex = -1;
_SelectedItem = null;
txtSearch.Text = "";
if (value.IsInRange(0, Items.Count - 1))
{
_SelectedIndex = LastSelectedIndex = value;
_SelectedItem = LastSelectedItem = Items[value];
txtSearch.Text = Items[value].ToString();
if (this.txtSearch.Text.Length > 0)
{
this.txtSearch.Select(0, 0);
}
}
else
{
_SelectedIndex = LastSelectedIndex = -1;
_SelectedItem = null;
txtSearch.Text = "";
}
SelectedIndexChanged?.Invoke(this, EventArgs.Empty);
}
}
}
@ -509,4 +550,34 @@ namespace ryControls
}
}
}
/// <summary>
/// 弹出框项
/// </summary>
public class ComboPopupItem
{
/// <summary>
/// 图标
/// </summary>
public Image Image { get; set; } = null;
/// <summary>
/// 文本
/// </summary>
public string Text { get; set; } = "";
/// <summary>
/// 值1
/// </summary>
public string ValueStr1 { get; set; } = "";
/// <summary>
/// Tag
/// </summary>
public object Tag { get; set; } =null;
/// <summary>
///
/// </summary>
/// <returns></returns>
public override string ToString()
{
return Text;
}
}
}

View File

@ -130,4 +130,7 @@
jt4U+oK/Dfca+1j7mf0GZiKq8uLr/pTSp/qvxD8hPj4wMNCGb9hho1TB8HjYAAAAAElFTkSuQmCC
</value>
</data>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@ -37,7 +37,6 @@
this.ClientSize = new System.Drawing.Size(464, 426);
this.Name = "FrmComboBoxPopup";
this.ShowIcon = false;
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FrmComboBoxPopup_FormClosing);
this.PreviewKeyDown += new System.Windows.Forms.PreviewKeyDownEventHandler(this.FrmComboBoxPopup_PreviewKeyDown);
this.ResumeLayout(false);

View File

@ -1,6 +1,7 @@
using LiveUpdate;
using RaUI.UI.LayeredForm;
using ryCommon;
using ryControls;
using System;
using System.Collections.Generic;
using System.ComponentModel;
@ -52,10 +53,6 @@ namespace RaUI.UI.Controls.ComboBox
ListBox.MouseMove += ListBox1_MouseMove;
}
private void FrmComboBoxPopup_FormClosing(object sender, FormClosingEventArgs e)
{
}
private void ListBox1_MouseClick(object sender, MouseEventArgs e)
{
int AIndex = ((ListBox)sender).IndexFromPoint(e.Location);

View File

@ -1,4 +1,5 @@
using System;
using ryControls;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
@ -10,10 +11,16 @@ using System.Web.UI.WebControls;
using System.Windows.Controls;
using System.Windows.Forms;
namespace RaUI.UI.Controls.ComboBox
namespace ryControls
{
internal class ListBoxEx:System.Windows.Forms.ListBox
/// <summary>
/// ListBox增强版
/// </summary>
public class ListBoxEx:System.Windows.Forms.ListBox
{
/// <summary>
///
/// </summary>
public ListBoxEx() {
base.SetStyle(
ControlStyles.DoubleBuffer |
@ -78,14 +85,38 @@ namespace RaUI.UI.Controls.ComboBox
}
}
}
/// <summary>
///
/// </summary>
/// <param name="e"></param>
protected override void OnDrawItem(DrawItemEventArgs e)
{
DrawSelectedBackground(e, e.Bounds);
var r= e.Bounds;
DrawSelectedBackground(e, r);
StringFormat stringFormat = new StringFormat();
stringFormat.LineAlignment = StringAlignment.Center;
stringFormat.Trimming = StringTrimming.EllipsisCharacter;
stringFormat.FormatFlags = StringFormatFlags.NoWrap;
e.Graphics.DrawString(Items[e.Index].ToString(), e.Font, new SolidBrush(Color.Black), e.Bounds, stringFormat);
if (Items[e.Index] is ComboPopupItem item_popup)
{
r.Offset(2, 0);
if (item_popup.Image == null)
{
e.Graphics.DrawString(Items[e.Index].ToString(), e.Font, new SolidBrush(Color.Black), r, stringFormat);
}
else
{
var rect_img = new Rectangle(r.X + 2, r.Y+2, r.Height-4, (item_popup.Image.Width/item_popup.Image.Height)* (r.Height-4));
e.Graphics.DrawImage(item_popup.Image, rect_img);
var rect_text = new Rectangle(rect_img.Right+2, r.Y, r.Width - rect_img.Width, r.Height);
e.Graphics.DrawString(item_popup.Text, e.Font, new SolidBrush(Color.Black), rect_text, stringFormat);
}
}
else
{
r.Offset(2, 0);
e.Graphics.DrawString(Items[e.Index].ToString(), e.Font, new SolidBrush(Color.Black), e.Bounds, stringFormat);
}
}
/// <summary>
/// 重载鼠标移动事件
@ -99,6 +130,9 @@ namespace RaUI.UI.Controls.ComboBox
}
private int lastIndex = -1;
private int mouseIndex = -1;
/// <summary>
///
/// </summary>
[Browsable(false)]
public int MouseIndex
{

View File

@ -115,15 +115,30 @@ namespace ryControls
{
return;
}
StringFormat stringFormat = new StringFormat
{
LineAlignment = StringAlignment.Center
};
//StringFormat stringFormat = new StringFormat
//{
// LineAlignment = StringAlignment.Center
//};
e.DrawBackground();
e.DrawFocusRectangle();
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);
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);
}
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);
}
});
}

View File

@ -47,21 +47,41 @@ namespace ryControls.Controls
{
//this.SetStyle(ControlStyles.DoubleBuffer | ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint, true); this.UpdateStyles();
InitializeComponent();
base.DetectUrls = false;
base.AutoWordSelection = false;
base.Multiline = true;
base.Font = new Font("Courier New", 10, FontStyle.Regular);
base.WordWrap = _WordWrap;
base.DetectUrls = _DetectUrls;
base.AutoWordSelection = _AutoWordSelection;
//this.contextMenuStripRichText1.Opening += ContextMenuStripRichText1_Opening;
}
private bool _DetectUrls = false;
/// <summary>
/// 是否开启自动换行
/// 获取或设置一个值,该值指示是否将Url作为超链接处理
/// </summary>
[Description("是否开启自动换行")]
[DefaultValue(false)]
[Description("获取或设置一个值,该值指示是否将Url作为超链接处理"), DefaultValue(false)]
public new bool DetectUrls
{
get { return _DetectUrls; }
set { _DetectUrls = value; base.DetectUrls = value; }
}
private bool _AutoWordSelection = false;
/// <summary>
/// 获取或设置一个值,该值指示是否启用自动选择字词
/// </summary>
[Description("获取或设置一个值,该值指示是否启用自动选择字词"), DefaultValue(false)]
public new bool AutoWordSelection
{
get { return _AutoWordSelection; }
set { _AutoWordSelection = value; base.AutoWordSelection = value; }
}
private bool _WordWrap = false;
/// <summary>
/// 是否自动换行
/// </summary>
[Description("是否自动换行"), DefaultValue(false)]
public new bool WordWrap
{
get { return base.WordWrap; }
set { base.WordWrap = value; }
get {return _WordWrap; }
set { _WordWrap = value;base.WordWrap = value; }
}
/// <summary>
///

View File

@ -52,7 +52,7 @@
this.txtInfo.BackColor = System.Drawing.Color.White;
this.txtInfo.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.txtInfo.ContextMenuStrip = this.MenuEditor;
this.txtInfo.Location = new System.Drawing.Point(3, 13);
this.txtInfo.Location = new System.Drawing.Point(4, 13);
this.txtInfo.MaxLength = 999999999;
this.txtInfo.Name = "txtInfo";
this.txtInfo.Size = new System.Drawing.Size(60, 14);
@ -86,7 +86,7 @@
this.toolStripMenuItem3,
this.使ToolStripMenuItem});
this.MenuEditor.Name = "MenuEditor";
this.MenuEditor.Size = new System.Drawing.Size(197, 220);
this.MenuEditor.Size = new System.Drawing.Size(197, 198);
this.MenuEditor.Opening += new System.ComponentModel.CancelEventHandler(this.MenuEditor_Opening);
//
// 撤销ToolStripMenuItem

View File

@ -55,8 +55,8 @@ namespace ryControls
private void ChangeSize()
{
txtInfo.Left = 4;
txtInfo.Width = base.Width - 8;
txtInfo.Left = 5;
txtInfo.Width = base.Width - 10;
if(Multiline)
{
txtInfo.Height = Height - 8;
@ -75,9 +75,36 @@ namespace ryControls
}
this.Refresh();
}
/// <summary>
///
/// </summary>
/// <param name="e"></param>
protected override void OnClick(EventArgs e)
{
txtInfo.Visible = true;
txtInfo.Focus();
base.OnClick(e);
this.Invalidate();
}
private void TextBoxEx2_Paint(object sender, PaintEventArgs e)
{
if(txtInfo.Visible)
{
e.Graphics.Clear(this.BackColor);
}
e.Graphics.DrawRectangle(new Pen(SkinHelp.DefalutBorderColor), new Rectangle(0, 0, this.Width - 1, this.Height - 1));
if(txtInfo.Text.Length==0 && !txtInfo.Visible)
{
Brush brush = SystemBrushes.GrayText; // 使用灰色的文本色,即表示禁用状态的文字颜色。
Font font = this.Font; // 使用当前控件的字体。
Rectangle rect = this.ClientRectangle; // 在当前控件的客户区域绘制。
StringFormat stringFormat = new StringFormat();
stringFormat.LineAlignment = StringAlignment.Center;
using (Graphics g = this.CreateGraphics())
{
g.DrawString(" "+EmptyText, font, brush, rect, stringFormat);
}
}
}
private void TextBoxEx2_Resize(object sender, EventArgs e)
@ -220,11 +247,11 @@ namespace ryControls
_text = txtInfo.Text;
if (_text == "")
{
EmptyShow();
txtInfo.Visible = false;
}
else
{
HaveTextShow(); txtInfo.Text = _text;
txtInfo.Visible = true;
}
isProcUse = false;
}
@ -284,23 +311,6 @@ namespace ryControls
}
private string _EmptyText = "";
/// <summary>
/// 文本为空时的显示效果
/// </summary>
public void EmptyShow()
{
if (_text == "")
{
if (!txtInfo.Focused)
{
txtInfo.Font = Font;
txtInfo.ForeColor = Color.FromArgb(175, 185, 200);
isProcUse = true; txtInfo.Text = EmptyText; isProcUse = false;
}
else
{ HaveTextShow(); txtInfo.Text = ""; }
}
}
/// <summary>
/// 字体
/// </summary>
[Description("获取设置字体")]
@ -321,14 +331,6 @@ namespace ryControls
}
}
/// <summary>
/// 有内容时的显示效果
/// </summary>
private void HaveTextShow()
{
txtInfo.Font = Font;
txtInfo.ForeColor = ForeColor;
}
/// <summary>
/// 当文本框为空时,显示的内容。
/// </summary>
[Description("当文本框为空时,显示的内容。")]
@ -338,7 +340,10 @@ namespace ryControls
set
{
_EmptyText = value;
EmptyShow();
if(txtInfo.Text.Length==0 && !txtInfo.Visible)
{
this.Invalidate();
}
}
}
private string _text = "";
@ -357,14 +362,8 @@ namespace ryControls
set
{
_text = value;
if (_text == "")
{
EmptyShow();
}
else
{
HaveTextShow(); txtInfo.Text = _text;
}
txtInfo.Text = value;
txtInfo.Visible = txtInfo.Text.Length > 0;
//txtInfo.SelectionStart = 0; txtInfo.SelectionLength = 0;
}
}
@ -401,6 +400,7 @@ namespace ryControls
TextChanged2?.Invoke(this, new EventArgs());
TextChanged?.Invoke(this, new EventArgs());
base.OnTextChanged(e);
EmptyShow();
if (LongTime > 0 && this.IsHandleCreated)
{
timer1.Start();
@ -442,7 +442,16 @@ namespace ryControls
}
base.OnKeyPress(e);
}
/// <summary>
///
/// </summary>
/// <param name="e"></param>
protected override void OnGotFocus(EventArgs e)
{
txtInfo.Visible = true;
txtInfo.Focus();
base.OnGotFocus(e);
}
private void TxtInfo_KeyUp(object sender, KeyEventArgs e)
{
base.OnKeyUp(e);
@ -455,8 +464,6 @@ namespace ryControls
txtInfo.SelectAll();
return;
}
HaveTextShow();
if (Text == "") { txtInfo.Text = ""; }
base.OnEnter(e);
}
@ -474,15 +481,20 @@ namespace ryControls
{
EmptyShow();
}
private void TxtInfo_Leave(object sender, EventArgs e)
private void EmptyShow()
{
if (Text == "")
if (txtInfo.Text.Length == 0)
{
EmptyShow();
txtInfo.Visible = false;
}
else
{ txtInfo.Font = Font; }
{
txtInfo.Visible = true;
}
}
private void TxtInfo_Leave(object sender, EventArgs e)
{
EmptyShow();
}
/// <summary>
/// 设置和获取撤消操作允许的最大步数

View File

@ -175,7 +175,7 @@ namespace ryControls
{
// If we don't want highlighting, throw away mousemove commands
// when the parent form or one of its children does not have the focus
if (m.Msg == WinConst.WM_MOUSEMOVE && this.suppressHighlighting && !this.TopLevelControl.ContainsFocus)
if (m.Msg == WinConst.WM_MOUSEMOVE && this.suppressHighlighting && (this.TopLevelControl != null && !this.TopLevelControl.ContainsFocus))
return;
else
base.WndProc(ref m);

View File

@ -1179,42 +1179,47 @@ namespace MGdu.WinFormUI
private void DrawCaptionBackground(Graphics g)
{
using (LinearGradientBrush lb = new LinearGradientBrush(
CaptionRectToDraw,
XTheme.CaptionBackColorTop,
XTheme.CaptionBackColorBottom,
LinearGradientMode.Vertical))
if (CaptionHeight > 0)
{
g.FillRectangle(lb, CaptionRectToDraw);
using (LinearGradientBrush lb = new LinearGradientBrush(
CaptionRectToDraw,
XTheme.CaptionBackColorTop,
XTheme.CaptionBackColorBottom,
LinearGradientMode.Vertical))
{
g.FillRectangle(lb, CaptionRectToDraw);
}
}
}
private void DrawFormIconAndText(Graphics g)
{
if (ShowIcon && Icon != null && XTheme.DrawCaptionIcon)
if (CaptionHeight > 0)
{
if (GMFormIcon == null)
if (ShowIcon && (Icon != null || GMFormIcon != null) && XTheme.DrawCaptionIcon)
{
g.DrawIcon(this.Icon, IconRect);
if (GMFormIcon == null)
{
g.DrawIcon(this.Icon, IconRect);
}
else
{
g.DrawImage(this.GMFormIcon, IconRect);
}
}
else
if (!string.IsNullOrEmpty(Text) && XTheme.DrawCaptionText)
{
g.DrawImage(this.GMFormIcon, IconRect);
TextRenderer.DrawText(
g,
this.Text,
SystemFonts.CaptionFont,
TextRect,
XTheme.CaptionTextColor,
(XTheme.CaptionTextCenter ? TextFormatFlags.HorizontalCenter : TextFormatFlags.Left) |
TextFormatFlags.VerticalCenter |
TextFormatFlags.EndEllipsis);
}
}
if (!string.IsNullOrEmpty(Text) && XTheme.DrawCaptionText)
{
TextRenderer.DrawText(
g,
this.Text,
SystemFonts.CaptionFont,
TextRect,
XTheme.CaptionTextColor,
(XTheme.CaptionTextCenter ? TextFormatFlags.HorizontalCenter : TextFormatFlags.Left) |
TextFormatFlags.VerticalCenter |
TextFormatFlags.EndEllipsis);
}
}
private void DrawFormBorder(Graphics g)

View File

@ -1073,7 +1073,7 @@ namespace MGdu.WinFormUI
{
using (GraphicsPath path = PathGetter.GetTabBorderPath(rect, TabSlopeWidth))
{
//g.DrawPath(p, path);
g.DrawPath(p, path);
}
}
}

View File

@ -83,6 +83,10 @@ namespace MGdu.WinFormUI
/// 窗体圆角程度
/// </summary>
public int Radius { get; set; }
/// <summary>
/// Tab圆角程度
/// </summary>
public int TabRadius { get; set; } = 8;
/// <summary>
/// 窗体圆角样式

View File

@ -30,15 +30,17 @@ namespace ryControls
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.PnlDate = new System.Windows.Forms.Panel();
this.BtnYearNext = new System.Windows.Forms.Button();
this.BtnYearPrev = new System.Windows.Forms.Button();
this.LblMonth = new System.Windows.Forms.Label();
this.BtnToday = new System.Windows.Forms.Button();
this.BtnMonthPrev = new System.Windows.Forms.Button();
this.BtnMonthNext = new System.Windows.Forms.Button();
this.LblYear = new System.Windows.Forms.Label();
this.PnlDay = new System.Windows.Forms.Panel();
this.BtnYearPrev = new System.Windows.Forms.Button();
this.BtnYearNext = new System.Windows.Forms.Button();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.chinaCalendar1 = new ryControls.PaChinaCalendar();
this.PnlDate.SuspendLayout();
this.PnlDay.SuspendLayout();
@ -59,6 +61,29 @@ namespace ryControls
this.PnlDate.Size = new System.Drawing.Size(607, 25);
this.PnlDate.TabIndex = 1;
//
// BtnYearNext
//
this.BtnYearNext.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.BtnYearNext.Location = new System.Drawing.Point(577, 1);
this.BtnYearNext.Name = "BtnYearNext";
this.BtnYearNext.Size = new System.Drawing.Size(27, 23);
this.BtnYearNext.TabIndex = 14;
this.BtnYearNext.Text = ">>";
this.toolTip1.SetToolTip(this.BtnYearNext, "下一年");
this.BtnYearNext.UseVisualStyleBackColor = true;
this.BtnYearNext.Click += new System.EventHandler(this.BtnYearNext_Click);
//
// BtnYearPrev
//
this.BtnYearPrev.Location = new System.Drawing.Point(3, 1);
this.BtnYearPrev.Name = "BtnYearPrev";
this.BtnYearPrev.Size = new System.Drawing.Size(27, 23);
this.BtnYearPrev.TabIndex = 13;
this.BtnYearPrev.Text = "<<";
this.toolTip1.SetToolTip(this.BtnYearPrev, "上一年");
this.BtnYearPrev.UseVisualStyleBackColor = true;
this.BtnYearPrev.Click += new System.EventHandler(this.BtnYearPrev_Click);
//
// LblMonth
//
this.LblMonth.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
@ -77,6 +102,7 @@ namespace ryControls
this.BtnToday.Size = new System.Drawing.Size(60, 23);
this.BtnToday.TabIndex = 10;
this.BtnToday.Text = "今天";
this.toolTip1.SetToolTip(this.BtnToday, "回到今天");
this.BtnToday.UseVisualStyleBackColor = true;
this.BtnToday.Click += new System.EventHandler(this.BtnToday_Click);
//
@ -87,6 +113,7 @@ namespace ryControls
this.BtnMonthPrev.Size = new System.Drawing.Size(21, 23);
this.BtnMonthPrev.TabIndex = 9;
this.BtnMonthPrev.Text = "<";
this.toolTip1.SetToolTip(this.BtnMonthPrev, "上个月");
this.BtnMonthPrev.UseVisualStyleBackColor = true;
this.BtnMonthPrev.Click += new System.EventHandler(this.BtnMonthPrev_Click);
//
@ -98,6 +125,7 @@ namespace ryControls
this.BtnMonthNext.Size = new System.Drawing.Size(21, 23);
this.BtnMonthNext.TabIndex = 8;
this.BtnMonthNext.Text = ">";
this.toolTip1.SetToolTip(this.BtnMonthNext, "下个月");
this.BtnMonthNext.UseVisualStyleBackColor = true;
this.BtnMonthNext.Click += new System.EventHandler(this.BtnMonthNext_Click);
//
@ -121,26 +149,9 @@ namespace ryControls
this.PnlDay.Size = new System.Drawing.Size(607, 537);
this.PnlDay.TabIndex = 1;
//
// BtnYearPrev
// toolTip1
//
this.BtnYearPrev.Location = new System.Drawing.Point(3, 1);
this.BtnYearPrev.Name = "BtnYearPrev";
this.BtnYearPrev.Size = new System.Drawing.Size(27, 23);
this.BtnYearPrev.TabIndex = 13;
this.BtnYearPrev.Text = "<<";
this.BtnYearPrev.UseVisualStyleBackColor = true;
this.BtnYearPrev.Click += new System.EventHandler(this.BtnYearPrev_Click);
//
// BtnYearNext
//
this.BtnYearNext.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.BtnYearNext.Location = new System.Drawing.Point(577, 1);
this.BtnYearNext.Name = "BtnYearNext";
this.BtnYearNext.Size = new System.Drawing.Size(27, 23);
this.BtnYearNext.TabIndex = 14;
this.BtnYearNext.Text = ">>";
this.BtnYearNext.UseVisualStyleBackColor = true;
this.BtnYearNext.Click += new System.EventHandler(this.BtnYearNext_Click);
this.toolTip1.ShowAlways = true;
//
// chinaCalendar1
//
@ -195,5 +206,6 @@ namespace ryControls
private System.Windows.Forms.Label LblMonth;
private System.Windows.Forms.Button BtnYearPrev;
private System.Windows.Forms.Button BtnYearNext;
private System.Windows.Forms.ToolTip toolTip1;
}
}

View File

@ -130,7 +130,7 @@ namespace ryControls
{
if (chinaCalendar1.Mode == 0)
{
OnClickItem?.Invoke(this, DateTime.Date);
OnClickItem?.Invoke(this,dt);
}
else if (chinaCalendar1.Mode == 1)
{

View File

@ -117,4 +117,7 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@ -39,9 +39,9 @@
this.BtnDropdown.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Right)));
this.BtnDropdown.Image = ((System.Drawing.Image)(resources.GetObject("BtnDropdown.Image")));
this.BtnDropdown.Location = new System.Drawing.Point(267, 1);
this.BtnDropdown.Location = new System.Drawing.Point(266, 2);
this.BtnDropdown.Name = "BtnDropdown";
this.BtnDropdown.Size = new System.Drawing.Size(23, 23);
this.BtnDropdown.Size = new System.Drawing.Size(22, 22);
this.BtnDropdown.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.BtnDropdown.TabIndex = 6;
this.BtnDropdown.TabStop = false;

View File

@ -33,6 +33,11 @@ namespace RaUI.UI.Rili
OnSizeChanged(EventArgs.Empty);
PaDateInput1.BackColor = base.BackColor;
PaDateInput1.ForeColor = base.ForeColor;
PaDateInput1.ValueChanged+= (a,b) =>
{
_dateTime = b;
ValueChanged?.Invoke(this, b);
};
PaDateInput1.TextChanged += TxtDateTime_TextChanged;
PaDateInput1.LostFocus += TxtDateTime_LostFocus;
}
@ -124,7 +129,6 @@ namespace RaUI.UI.Rili
_dateTime = value;
}
PaDateInput1.Value= _dateTime;
ValueChanged?.Invoke(this, Value);
}
}
private string dateFormat = "yyyy-MM-dd";

View File

@ -120,18 +120,12 @@
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="BtnDropdown.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAEMAAABACAYAAABBXsrdAAAABGdBTUEAALGPC/xhBQAAAoZJREFUeF7t
nFFSwyAQhnuEPrQdHz2CN9Cj9CXYW/QoHsMZ4tij5Cg6S4Ndl10ChtCY7D/zv3Qg2f0gQCC62fxBD++n
x33bXA7WdM4fr2/wGy1XS3B/76pxwM0cgNZ8YQOcqoH4WEgc4F17eqFlJ9GhNWd68+pB9IrFUqVhXHdk
bg7e2+ZIy08profOBga0FC0/pe4PIxJAzXFDGi+8Rz+yrtUjyaYaoEzprBit6Wh9d43WnNmGk2aIxRtA
0XFulSCQf3pIbHpaja3ptpfjdtM/P2GBldn1DvrjWr23zZPC6L37bJ4VRm+FgawwkBUGssJAVhjICgNZ
YSDLMPqN1SUa9jm4VxARRvBauzBBfjRnhaEwFMYvKQwkhYFUFIafpujv/0VFYMAcTcsG7g+iaV2vpD3X
6wY1eyAlrROC+tZ0tK5XERgDp2nUQTLQm5hyvIVkBkEgSwdJ9WEwvSOpZyFzyeQca0h5KAwkhYGkMJDK
wEiZCW4eN4AKnxXkDKBSHkVguGT8SX3M0gl3au/iDoR7cYnQuj4GWteLu0Y2jFKiewzUtDwVLZ9SB2tW
MO4thYGkMJAUBpLCQCoCI2nRBNNa5LNlt1YZWjhFpkY/vQ9+6GZNJ8VQBEb05qHZZJhyvIW31qR1ys1s
DPVhFFiO0/qgsTGAFAaSwkBSGEhFYIx9Y3QzAVNWMq0PyolhUhgumZSWiUxrMMKnJMTtZYC4RCTnXCMb
xlwEoCHRmKXGAC0KxlgpDCSFgaQwkBQGUhYM6QVnKeJ2+a8whHUD/ZuuJZnmOghjbXbrEq7LrM547yRp
92nBDpbt7o1ybUCs6QIQWH7d3z8+8zb6VxHBIAkNS+0hQHlm+fANGB8avZ4TGtsAAAAASUVORK5CYII=
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAARpJREFUWEfV
ldGNwjAQRFMKpVAKneQz0roISkkplAIyYqKw2Z3YzjqCJ+UnHs8bodNlGH4NEbnpd1GklK763RciMovI
U0Tu+uwoq+6HPnuzCuAJG2F0zzpjhUJGOL3bX2Gapks+MMLNIzy5+7cQOaJaDiJGNMvBkRGH5aBlRJgc
1IwIl4OSEd3kgI3oLgdkhH7a5Sml8VMw6rNMwQhXnj9yOeN1Q76UeUEyYldOu61SM2iPKJYjr3NesGRE
rTx3mnl2wR2h3wHSZcsBuWiOsCAdXA5Iwe4IcrdMDkiRO4LcqZMDUrgZQbJtckCKlxEkc0wOiCD/8/LO
YuTAE1lPuByUjOgmB2xEdzmwRpwmB+sRp8tB/haw78Ff8AK03HUZR0pSKwAAAABJRU5ErkJggg==
</value>
</data>
</root>

View File

@ -63,7 +63,7 @@ namespace RaUI.UI.Rili
SelectedIndex = -1;
Input_Text = "";
this.Invalidate();
ValueChanged?.Invoke(this, Value);
ValueChanged?.Invoke(this, _dateTime);
}
}
private string dateFormat = "yyyy-MM-dd";
@ -108,7 +108,7 @@ namespace RaUI.UI.Rili
return i - pos;
}
private int SelectedIndex = -1;
private void ChangedData(DateItem item,string input)
private void ChangedData(DateItem item,string input,bool paint=true)
{
SelectedIndex = -1;
if (input.Length == 0) { this.Invalidate(); return; }
@ -172,7 +172,10 @@ namespace RaUI.UI.Rili
break;
}
item.Text = Value.ToString(item.Format);
this.Invalidate();
if (paint)
{
this.Invalidate();
}
}
}
/// <summary>
@ -211,6 +214,47 @@ namespace RaUI.UI.Rili
this.Invalidate();
base.OnMouseDown(e);
}
int index = 0;
/// <summary>
///
/// </summary>
/// <param name="e"></param>
protected override void OnPreviewKeyDown(PreviewKeyDownEventArgs e)
{
if (SelectedIndex >= 0 && SelectedIndex < list.Count)
{
var item = list[SelectedIndex];
if (item.Editable)
{
if (e.KeyCode == Keys.Up)
{
if (SelectedIndex >= 0 && SelectedIndex < list.Count)
{
if (Input_Text.Length == 0) { Input_Text = item.Value.ToString(); }
var value = Input_Text.ToInt();
value--;
if (value < 0) { value = 0; }
Input_Text = value.ToString();
this.Invalidate();
}
}
else if (e.KeyCode == Keys.Down)
{
if (SelectedIndex >= 0 && SelectedIndex < list.Count)
{
if (Input_Text.Length == 0) { Input_Text = item.Value.ToString(); }
var value = Input_Text.ToInt();
value++;
if (value < 0) { value = 0; }
Input_Text = value.ToString();
this.Invalidate();
}
}
}
//this.Invalidate();
}
//base.OnPreviewKeyDown(e);
}
private string Input_Text { get; set; } = "";
/// <summary>
///

View File

@ -35,6 +35,7 @@
//
// colorDialog1
//
this.colorDialog1.AnyColor = true;
this.colorDialog1.FullOpen = true;
//
// SuperColor

View File

@ -65,7 +65,7 @@ namespace ryControls
{
InitializeComponent();
//禁止使用自定义颜色
colorDialog1.AllowFullOpen = false;
//colorDialog1.AllowFullOpen = false;
//提供自己给定的颜色
colorDialog1.CustomColors = new int[] {ColorTranslator.ToOle(System.Drawing.ColorTranslator.FromHtml("#9bd028")),
ColorTranslator.ToOle(System.Drawing.ColorTranslator.FromHtml("#6a96e6")), ColorTranslator.ToOle(System.Drawing.ColorTranslator.FromHtml("#ffa519"))};
@ -95,7 +95,7 @@ namespace ryControls
else
{
colorDialog1.Color = this.BackColor;
if (colorDialog1.ShowDialog() == DialogResult.OK)
if (colorDialog1.ShowDialog(this.FindForm()) == DialogResult.OK)
{
this.BackColor = colorDialog1.Color;
}

View File

@ -112,15 +112,15 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="colorDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<metadata name="colorDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>144, 17</value>
</metadata>
</root>

View File

@ -8,9 +8,228 @@ using System.Drawing;
using System.Drawing.Drawing2D;
using ryControls.Win32API;
using RaUI.Properties;
using System.Drawing.Design;
using System.Collections;
namespace ryControls
{
/// <summary>
///
/// </summary>
public class CustomTabPageCollection : TabControl.TabPageCollection,IList<ChromeTabPage>
{
private ChromeTabControl owner;
// 构造函数
/// <summary>
///
/// </summary>
/// <param name="owner"></param>
public CustomTabPageCollection(ChromeTabControl owner) : base(owner)
{
this.owner = owner;
}
#region
// 查找指定名称的 TabPage
/// <summary>
///
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
public ChromeTabPage FindByName(string name)
{
foreach (ChromeTabPage page in this)
{
if (page.Name.Equals(name, StringComparison.OrdinalIgnoreCase))
{
return page;
}
}
return null;
}
// 添加带有标题和内容的 TabPage
/// <summary>
///
/// </summary>
/// <param name="text"></param>
/// <param name="content"></param>
/// <returns></returns>
public ChromeTabPage Add(string text, Control content)
{
ChromeTabPage page = new ChromeTabPage(text);
page.Controls.Add(content);
Add(page);
return page;
}
/// <summary>
///
/// </summary>
/// <param name="text"></param>
/// <returns></returns>
public new ChromeTabPage Add(string text)
{
ChromeTabPage page = new ChromeTabPage(text);
base.Add(page);
return page;
}
// 添加带有标题、名称和内容的 TabPage
/// <summary>
///
/// </summary>
/// <param name="name"></param>
/// <param name="text"></param>
/// <param name="content"></param>
/// <returns></returns>
public ChromeTabPage Add(string name, string text, Control content)
{
ChromeTabPage page = new ChromeTabPage(text) { Name = name };
page.Controls.Add(content);
base.Add(page);
return page;
}
#endregion
#region
// 重写 Add 方法,添加自定义逻辑
/// <summary>
///
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
/// <exception cref="ArgumentNullException"></exception>
public void Add(ChromeTabPage value)
{
// 添加前验证
if (value == null)
{
throw new ArgumentNullException("value");
}
// 添加自定义事件或逻辑
value.BackColor = Color.White;
base.Add(value);
}
/// <summary>
///
/// </summary>
/// <param name="page"></param>
/// <returns></returns>
/// <exception cref="ArgumentNullException"></exception>
public int IndexOf(ChromeTabPage page)
{
return base.IndexOf(page);
}
/// <summary>
///
/// </summary>
/// <param name="index"></param>
/// <param name="tabPage"></param>
public void Insert(int index, ChromeTabPage tabPage)
{
base.Insert(index, tabPage);
}
// 重写 Remove 方法,添加自定义逻辑
/// <summary>
///
/// </summary>
/// <param name="value"></param>
public bool Remove(ChromeTabPage value)
{
// 移除前执行清理操作
if (value != null && Contains(value))
{
// 触发自定义事件
OnTabPageRemoving(value);
}
base.Remove(value);
return true;
}
/// <summary>
///
/// </summary>
/// <param name="page"></param>
/// <returns></returns>
public bool Contains(ChromeTabPage page)
{
return base.Contains(page);
}
/// <summary>
///
/// </summary>
/// <param name="array"></param>
/// <param name="arrayIndex"></param>
public void CopyTo(ChromeTabPage[] array, int arrayIndex)
{
for (int i = 0; i < Count; i++)
{
array[arrayIndex + i] = (ChromeTabPage)this[i];
}
}
/// <summary>
///
/// </summary>
/// <returns></returns>
public new IEnumerator<ChromeTabPage> GetEnumerator()
{
foreach (TabPage page in this)
{
yield return (ChromeTabPage)page;
}
}
// 显式实现 IList<ChromeTabPage> 的索引器
ChromeTabPage IList<ChromeTabPage>.this[int index]
{
get => (ChromeTabPage)base[index]; // 类型转换
set => base[index] = value; // 赋值操作
}
#endregion
#region
/// <summary>
///
/// </summary>
// 定义 TabPage 移除前的事件
public event EventHandler<TabPageCancelEventArgs> TabPageRemoving;
/// <summary>
///
/// </summary>
/// <param name="page"></param>
protected virtual void OnTabPageRemoving(ChromeTabPage page)
{
TabPageRemoving?.Invoke(this, new TabPageCancelEventArgs(page));
}
#endregion
}
/// <summary>
/// 自定义事件参数类
/// </summary>
public class TabPageCancelEventArgs : EventArgs
{
/// <summary>
///
/// </summary>
public ChromeTabPage Page { get; }
/// <summary>
///
/// </summary>
public bool Cancel { get; set; }
/// <summary>
///
/// </summary>
/// <param name="page"></param>
public TabPageCancelEventArgs(ChromeTabPage page)
{
Page = page;
Cancel = false;
}
}
/// <summary>
/// Chrome风格的多标签控件
/// </summary>
@ -30,10 +249,10 @@ namespace ryControls
private Rectangle rectFont;
private Color onSelectedColor1 = Color.White;
private Color onSelectedColor2 = Color.White;
private Color offSelectedColor1 = Color.FromArgb(192, 255, 255);
private Color offSelectedColor2 = Color.FromArgb(200, 66, 204, 255);
private Color MoveSelectedColor1 = Color.FromArgb(200, 66, 204, 255);
private Color MoveSelectedColor2 = Color.FromArgb(192, 255, 255);
private Color offSelectedColor1 = Color.FromArgb(230, 230, 230);
private Color offSelectedColor2 = Color.FromArgb(230, 230, 230);
private Color MoveSelectedColor1 = Color.FromArgb(221, 221, 221);
private Color MoveSelectedColor2 = Color.FromArgb(221, 221, 221);
private Color BottomLineColor = Color.FromArgb(188, 188, 188);
private SolidBrush brushFont = new SolidBrush(Color.Black);
private Color backcolor = System.Drawing.SystemColors.Control;
@ -67,7 +286,21 @@ namespace ryControls
}
}
}
private CustomTabPageCollection tabCollection;
/// <summary>
///
/// </summary>
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
[Editor("System.Windows.Forms.Design.TabPageCollectionEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))]
[MergableProperty(false)]
public new CustomTabPageCollection TabPages => tabCollection;
/// <summary>
/// 是否画Tab边框
/// </summary>
[Description("是否画Tab边框")]
[Browsable(true)]
public bool DrawTabBorder { get; set; } = true;
/// <summary>
/// 设置选项卡处于选中状态时第二背景色.
/// </summary>
@ -92,7 +325,7 @@ namespace ryControls
/// 设置选项卡处于非选中状态时第一背景色.
/// </summary>
[Description("设置选项卡处于非选中状态时第一背景色。")]
[DefaultValue(typeof(Color), "192, 255, 255")]
[DefaultValue(typeof(Color), "230,230,230")]
[Browsable(true)]
public Color TabOffColorStart
{
@ -112,7 +345,7 @@ namespace ryControls
/// 设置选项卡处于非选中状态时第二背景色.
/// </summary>
[Description("设置选项卡处于非选中状态时第二背景色。")]
[DefaultValue(typeof(Color), "200, 66, 204, 255")]
[DefaultValue(typeof(Color), "230,230,230")]
[Browsable(true)]
public Color TabOffColorEnd
{
@ -132,7 +365,7 @@ namespace ryControls
/// 设置鼠标移动到非选中状态选项卡时第一背景色.
/// </summary>
[Description("设置鼠标移动到非选中状态选项卡时第一背景色。")]
[DefaultValue(typeof(Color), "200, 66, 204, 255")]
[DefaultValue(typeof(Color), "221,221,221")]
[Browsable(true)]
public Color TabMoveColorStart
{
@ -152,7 +385,7 @@ namespace ryControls
/// 设置鼠标移动到非选中状态选项卡时第二背景色.
/// </summary>
[Description("设置鼠标移动到非选中状态选项卡时第二背景色。")]
[DefaultValue(typeof(Color), "192, 255, 255")]
[DefaultValue(typeof(Color), "221,221,221")]
[Browsable(true)]
public Color TabMoveColorEnd
{
@ -276,7 +509,7 @@ namespace ryControls
this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.UserPaint |
ControlStyles.SupportsTransparentBackColor | ControlStyles.ResizeRedraw |
ControlStyles.UserMouse, true);
tabCollection = new CustomTabPageCollection(this);
this.ItemSize = new Size(TabMaxWidth, 25);
this.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
//this.AllowDrop = true;
@ -360,46 +593,70 @@ namespace ryControls
/// </summary>
/// <param name="g"></param>
/// <param name="rect"></param>
/// <param name="title"></param>
/// <param name="chrometab"></param>
/// <param name="selected"></param>
/// <param name="mouseOver"></param>
protected virtual void DrawAll(Graphics g, Rectangle rect, string title, bool selected, bool mouseOver)
/// <param name="CloseButtonVisible"></param>
protected virtual void DrawAll(Graphics g, Rectangle rect, TabPage chrometab, bool selected, bool mouseOver,bool? CloseButtonVisible=null)
{
try
{
//var rect2 = this.GetTabRect(this.TabPages.IndexOf(chrometab));
rectIcon = new Rectangle(rect.X + 16, 8, 16, 16);
rectFont = new Rectangle(rect.X + TabStrLeftMargin, rect.Y + 9, rect.Width - 30, rect.Height - TabStrLeftMargin);
rectClose = new Rectangle(rect.X + rect.Width - 25, 11, 12, 12);
if(!ShowCloseButton)
bool haveIcon = false;
if (this.ImageList != null && !chrometab.ImageIndex.Equals(-1))
{
haveIcon = true;
TabIcon= this.ImageList.Images[chrometab.ImageIndex];
}
if(!haveIcon)
{
if(chrometab is ChromeTabPage tab)
{
haveIcon = true;
TabIcon = tab.Icon;
}
}
if (!ShowCloseButton)
{
rectFont.Width += 10;
}
bool haveIcon = false;
for (int i = 0; i < this.TabCount; i++)
{
var rect2 = this.GetTabRect(i);
if (this.ImageList != null && !this.TabPages[i].ImageIndex.Equals(-1))
{
if (this.TabPages[i].ImageIndex <= this.ImageList.Images.Count - 1)
{
TabIcon = this.ImageList.Images[this.TabPages[i].ImageIndex];
rectIcon = new Rectangle(rect2.X + 16, 8, 16, 16);
DrawTabIcon(g, rectIcon);
TabIcon.Dispose();
haveIcon = true;
}
}
}
//for (int i = 0; i < this.TabPages.Count; i++)
//{
// var rect2 = this.GetTabRect(i);
// if (this.ImageList != null && !this.TabPages[i].ImageIndex.Equals(-1))
// {
// if (this.TabPages[i].ImageIndex <= this.ImageList.Images.Count - 1)
// {
// TabIcon = this.ImageList.Images[this.TabPages[i].ImageIndex];
// rectIcon = new Rectangle(rect2.X + 16, 8, 16, 16);
// DrawTabIcon(g,TabIcon, rectIcon);
// TabIcon.Dispose();
// haveIcon = true;
// }
// }
//}
if(haveIcon)
{
rectFont.X += 7;
if (ShowCloseButton)
if (ShowCloseButton && CloseButtonVisible==true)
{
rectFont.Width -= 10;
}
}
DrawRect(g, rect, selected, mouseOver);
DrawString(g, rectFont, title, Font);
DrawClose(g, rectClose, CloseHitTest(this.PointToClient(Cursor.Position)));
DrawString(g, rectFont, chrometab.Text, Font);
if (ShowCloseButton && CloseButtonVisible == true)
{
DrawClose(g, rectClose, CloseHitTest(this.PointToClient(Cursor.Position)));
}
if (haveIcon)
{
DrawTabIcon(g, TabIcon, rectIcon);
haveIcon = true;
}
}
catch { }
}
@ -448,19 +705,21 @@ namespace ryControls
/// <param name="mouseOver"></param>
protected virtual void DrawRect(Graphics g, Rectangle rect, bool selected, bool mouseOver)
{
var left_x = rect.X;
var left_left = rect.Left;
using (GraphicsPath path = new GraphicsPath())
{
path.AddBezier(
new Point(rect.X, rect.Bottom + 2),
new Point(rect.X + 3, rect.Bottom - 2),
new Point(rect.X + 3, rect.Bottom - 2),
new Point(rect.X, rect.Bottom + 2));
new Point(left_x, rect.Bottom + 2),
new Point(left_x + 3, rect.Bottom - 2),
new Point(left_x + 3, rect.Bottom - 2),
new Point(left_x, rect.Bottom + 2));
//path.AddLine(rect.X + 4, rect.Bottom - 4, rect.Left + 15 - 4, rect.Y + 4);
path.AddBezier(
new Point(rect.Left + _radius - 4, rect.Y + 4),
new Point(rect.Left + _radius - 3, rect.Y + 2),
new Point(rect.Left + _radius - 3, rect.Y + 2),
new Point(rect.Left + _radius, rect.Y));
new Point(left_left + _radius - 4, rect.Y + 4),
new Point(left_left + _radius - 3, rect.Y + 2),
new Point(left_left + _radius - 3, rect.Y + 2),
new Point(left_left + _radius, rect.Y));
//path.AddLine(rect.Left + 15, rect.Y, rect.Right - 15, rect.Y);
path.AddBezier(
new Point(rect.Right - _radius, rect.Y),
@ -475,14 +734,18 @@ namespace ryControls
new Point(rect.Right + 1, rect.Bottom + 1));
Region region = new System.Drawing.Region(path);
g.DrawPath(new Pen(Color.Gray), path);
//Region region = new System.Drawing.Region(rect);
//g.DrawRectangle(new Pen(Color.Gray), rect);
if (DrawTabBorder)
{
g.DrawPath(new Pen(Color.Gray), path);
}
if (mouseOver)
{
using (LinearGradientBrush brush = new LinearGradientBrush(rect, MoveSelectedColor1, MoveSelectedColor2, LinearGradientMode.Vertical))
{
g.FillPath(brush, path);
//g.FillRectangle(brush, rect);
}
//g.FillPath(new SolidBrush(MoveSelectedColor), path);
}
@ -491,10 +754,11 @@ namespace ryControls
using (LinearGradientBrush brush = selected ? new LinearGradientBrush(rect, onSelectedColor1, onSelectedColor2, LinearGradientMode.Vertical) : new LinearGradientBrush(rect, offSelectedColor1, offSelectedColor2, LinearGradientMode.Vertical))
{
g.FillPath(brush, path);
//g.FillRectangle(brush, rect);
}
//g.FillPath(new SolidBrush(selected ? onSelectedColor : offSelectedColor), path);
}
g.DrawLine(new Pen(selected ? onSelectedColor2 : BottomLineColor, 1), rect.X + 1, rect.Bottom + 1, rect.Right, rect.Bottom + 1);
g.DrawLine(new Pen(selected ? onSelectedColor2 : BottomLineColor, 1), rect.X + 5, rect.Bottom + 1, rect.Right, rect.Bottom + 1);
}
}
/// <summary>
@ -514,10 +778,11 @@ namespace ryControls
/// 画标签图标
/// </summary>
/// <param name="g"></param>
/// <param name="Icon"></param>
/// <param name="rect"></param>
protected virtual void DrawTabIcon(Graphics g, Rectangle rect)
protected virtual void DrawTabIcon(Graphics g,Image Icon, Rectangle rect)
{
g.DrawImageUnscaled(TabIcon, rect);
g.DrawImageUnscaled(Icon, rect);
}
/// <summary>
/// 画关闭按钮
@ -589,6 +854,9 @@ namespace ryControls
}
for (int i = 0; i < this.TabCount; i++)
{
var tab = this.TabPages[i];
var _CloseButtomVisible = tab is ChromeTabPage tab_chrome ? tab_chrome.CloseButtomVisible : true;
if (!this.ShowCloseButton) { _CloseButtomVisible = false; }
if (tabIndex != 0)
{
if (tabIndex < this.TabCount)
@ -596,17 +864,17 @@ namespace ryControls
if (tabIndex == i)
{
this.SelectedIndex = i;
DrawAll(g, this.GetTabRect(i), this.TabPages[i].Text, true, false);
DrawAll(g, this.GetTabRect(i), this.TabPages[i], true, false, _CloseButtomVisible);
}
else
{
if (OverIndex == i)
{
DrawAll(g, this.GetTabRect(i), this.TabPages[i].Text, false, true);
DrawAll(g, this.GetTabRect(i), this.TabPages[i], false, true, _CloseButtomVisible);
}
else
{
DrawAll(g, this.GetTabRect(i), this.TabPages[i].Text, false, false);
DrawAll(g, this.GetTabRect(i), this.TabPages[i], false, false, _CloseButtomVisible);
}
}
}
@ -615,17 +883,17 @@ namespace ryControls
if ((tabIndex - 1) == i)
{
this.SelectedIndex = i;
DrawAll(g, this.GetTabRect(i), this.TabPages[i].Text, true, false);
DrawAll(g, this.GetTabRect(i), this.TabPages[i], true, false, _CloseButtomVisible);
}
else
{
if (OverIndex == i)
{
DrawAll(g, this.GetTabRect(i), this.TabPages[i].Text, false, true);
DrawAll(g, this.GetTabRect(i), this.TabPages[i], false, true, _CloseButtomVisible);
}
else
{
DrawAll(g, this.GetTabRect(i), this.TabPages[i].Text, false, false);
DrawAll(g, this.GetTabRect(i), this.TabPages[i], false, false, _CloseButtomVisible);
}
}
}
@ -634,17 +902,17 @@ namespace ryControls
{
if (this.SelectedIndex == i)
{
DrawAll(g, this.GetTabRect(i), this.TabPages[i].Text, true, false);
DrawAll(g, this.GetTabRect(i), this.TabPages[i], true, false, _CloseButtomVisible);
}
else
{
if (OverIndex == i)
{
DrawAll(g, this.GetTabRect(i), this.TabPages[i].Text, false, true);
DrawAll(g, this.GetTabRect(i), this.TabPages[i], false, true, _CloseButtomVisible);
}
else
{
DrawAll(g, this.GetTabRect(i), this.TabPages[i].Text, false, false);
DrawAll(g, this.GetTabRect(i), this.TabPages[i], false, false, _CloseButtomVisible);
}
}
}
@ -736,6 +1004,16 @@ namespace ryControls
this.Invalidate();
}
/// <summary>
/// 点击Tab新增按钮,如果没有该事件,点击新增按钮,会自动新增页面,如果设置了该事件,需要用户手动处理新增页面
/// </summary>
[Description("点击Tab新增按钮,如果没有该事件,点击新增按钮,会自动新增页面,如果设置了该事件,需要用户手动处理新增页面")]
public event EventHandler OnTabAddButtonClick;
/// <summary>
/// 点击Tab关闭按钮
/// </summary>
[Description("点击Tab关闭按钮")]
public event CancelEventHandler OnTabCloseButtonClick;
/// <summary>
///
/// </summary>
/// <param name="e"></param>
@ -750,7 +1028,14 @@ namespace ryControls
if (ShowAddButton && addRec.Contains(e.Location))
{
colorMouseOn = Color.FromArgb(229, 233, 227);
AddTabPage("tabPage" + (this.TabCount + 1).ToString());
if(OnTabAddButtonClick==null)
{
AddTabPage("tabPage" + (this.TabCount + 1).ToString());
}
else
{
OnTabAddButtonClick?.Invoke(this,EventArgs.Empty);
}
}
if (this.TabCount > 0)
@ -765,8 +1050,13 @@ namespace ryControls
OnTabMouseUp?.Invoke(this, e);
if (ShowCloseButton)
{
tabIndex = this.SelectedIndex;
this.TabPages.Remove(this.SelectedTab);
var cancel=new CancelEventArgs();
OnTabCloseButtonClick?.Invoke(this.SelectedTab, cancel);
if (!cancel.Cancel)
{
tabIndex = this.SelectedIndex;
this.TabPages.Remove(this.SelectedTab);
}
}
}
else
@ -784,7 +1074,12 @@ namespace ryControls
AscendingMove = true;
if (ShowCloseButton)
{
this.TabPages.RemoveAt(tabid);
var cancel = new CancelEventArgs();
OnTabCloseButtonClick?.Invoke(this.TabPages[tabid], cancel);
if (!cancel.Cancel)
{
this.TabPages.RemoveAt(tabid);
}
}
AllSelected = false;
}
@ -800,20 +1095,20 @@ namespace ryControls
if ((currTabPage != null) && (!currTabPage.Equals(this._SourceTabPage)))
{
Rectangle currRect = base.GetTabRect(base.TabPages.IndexOf(currTabPage));
if ((base.TabPages.IndexOf(currTabPage) < base.TabPages.IndexOf(this._SourceTabPage)))
Rectangle currRect = base.GetTabRect(this.TabPages.IndexOf(currTabPage));
if ((this.TabPages.IndexOf(currTabPage) < this.TabPages.IndexOf(this._SourceTabPage)))
{
base.TabPages.Remove(this._SourceTabPage);
base.TabPages.Insert(base.TabPages.IndexOf(currTabPage), this._SourceTabPage);
base.SelectedTab = this._SourceTabPage;
this.TabPages.Remove(this._SourceTabPage);
this.TabPages.Insert(this.TabPages.IndexOf(currTabPage), this._SourceTabPage);
this.SelectedTab = this._SourceTabPage;
}
else if ((base.TabPages.IndexOf(currTabPage) > base.TabPages.IndexOf(this._SourceTabPage)))
else if ((this.TabPages.IndexOf(currTabPage) > this.TabPages.IndexOf(this._SourceTabPage)))
{
if (!AscendingMove)
{
base.TabPages.Remove(this._SourceTabPage);
base.TabPages.Insert(base.TabPages.IndexOf(currTabPage) + 1, this._SourceTabPage);
base.SelectedTab = this._SourceTabPage;
this.TabPages.Remove(this._SourceTabPage);
this.TabPages.Insert(this.TabPages.IndexOf(currTabPage) + 1, this._SourceTabPage);
this.SelectedTab = this._SourceTabPage;
}
}
}
@ -876,12 +1171,12 @@ namespace ryControls
TabPage currTabPage = GetTabPageFromXY(e.X, e.Y);
if ((currTabPage != null))
{
Rectangle currRect = base.GetTabRect(base.TabPages.IndexOf(currTabPage));
if ((base.TabPages.IndexOf(currTabPage) < base.TabPages.IndexOf(this._SourceTabPage)))
Rectangle currRect = base.GetTabRect(this.TabPages.IndexOf(currTabPage));
if ((this.TabPages.IndexOf(currTabPage) < this.TabPages.IndexOf(this._SourceTabPage)))
{
base.Cursor = Cursors.PanWest;
}
else if ((base.TabPages.IndexOf(currTabPage) > base.TabPages.IndexOf(this._SourceTabPage)))
else if ((this.TabPages.IndexOf(currTabPage) > this.TabPages.IndexOf(this._SourceTabPage)))
{
base.Cursor = Cursors.PanEast;
}
@ -905,11 +1200,11 @@ namespace ryControls
private TabPage GetTabPageFromXY(int x, int y)
{
for (int i = 0; i <= base.TabPages.Count - 1; i++)
for (int i = 0; i <= this.TabPages.Count - 1; i++)
{
if (base.GetTabRect(i).Contains(x, y))
{
return base.TabPages[i];
return this.TabPages[i];
}
}
return null;

View File

@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace ryControls
{
/// <summary>
///
/// </summary>
public class ChromeTabPage:TabPage
{
/// <summary>
///
/// </summary>
/// <param name="title"></param>
public ChromeTabPage(string title)
{
base.Text = title;
}
/// <summary>
/// 是否显示关闭按钮
/// </summary>
[Description("是否显示关闭按钮")]
public bool CloseButtomVisible { get; set; } = true;
/// <summary>
/// 显示Tab图标
/// </summary>
[Description("显示Tab图标")]
public Image Icon { get; set; } = null;
}
}

View File

@ -190,6 +190,7 @@ namespace ryControls
}
else
{
if (tn == null) { break; }
tn = tn.Parent;
if (tn == null)
{

View File

@ -28,7 +28,19 @@
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.groupBox7 = new System.Windows.Forms.GroupBox();
this.Color_ToolBarSelected = new ryControls.SuperColor();
this.label39 = new System.Windows.Forms.Label();
this.Color_SVG = new ryControls.SuperColor();
this.label38 = new System.Windows.Forms.Label();
this.Color_Button_ForeColor = new ryControls.SuperColor();
this.label37 = new System.Windows.Forms.Label();
this.ChkButtonGradient = new System.Windows.Forms.CheckBox();
this.Color_Button = new ryControls.SuperColor();
this.label40 = new System.Windows.Forms.Label();
this.BtnSaveSkin = new ryControls.ButtonEx();
this.groupBox6 = new System.Windows.Forms.GroupBox();
this.TxtAuthor = new ryControls.TextBoxEx2();
this.label24 = new System.Windows.Forms.Label();
@ -38,6 +50,15 @@
this.label22 = new System.Windows.Forms.Label();
this.BtnLoadSkin = new ryControls.ButtonEx();
this.groupBox5 = new System.Windows.Forms.GroupBox();
this.Color_TabBackColor = new ryControls.SuperColor();
this.label41 = new System.Windows.Forms.Label();
this.ChkDrawTabBorder = new System.Windows.Forms.CheckBox();
this.NumTabRadius = new ryControls.NumericUpDownEx();
this.label36 = new System.Windows.Forms.Label();
this.NumTabAndTabSpace = new ryControls.NumericUpDownEx();
this.label35 = new System.Windows.Forms.Label();
this.NumTabHeight = new ryControls.NumericUpDownEx();
this.label34 = new System.Windows.Forms.Label();
this.Color_TabMoveColorEnd = new ryControls.SuperColor();
this.label20 = new System.Windows.Forms.Label();
this.Color_TabMoveColorStart = new ryControls.SuperColor();
@ -72,6 +93,24 @@
this.NumBorderWidth = new ryControls.NumericUpDownEx();
this.label12 = new System.Windows.Forms.Label();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.Color_closeBackColorPressed = new ryControls.SuperColor();
this.label31 = new System.Windows.Forms.Label();
this.Color_closeBackColorHover = new ryControls.SuperColor();
this.label32 = new System.Windows.Forms.Label();
this.Color_closeForeColor = new ryControls.SuperColor();
this.label33 = new System.Windows.Forms.Label();
this.Color_maxBackColorPressed = new ryControls.SuperColor();
this.label28 = new System.Windows.Forms.Label();
this.Color_maxBackColorHover = new ryControls.SuperColor();
this.label29 = new System.Windows.Forms.Label();
this.Color_maxForeColor = new ryControls.SuperColor();
this.label30 = new System.Windows.Forms.Label();
this.Color_minBackColorPressed = new ryControls.SuperColor();
this.label27 = new System.Windows.Forms.Label();
this.Color_minBackColorHover = new ryControls.SuperColor();
this.label26 = new System.Windows.Forms.Label();
this.Color_minForeColor = new ryControls.SuperColor();
this.label25 = new System.Windows.Forms.Label();
this.NumCaptionHeight = new ryControls.NumericUpDownEx();
this.label6 = new System.Windows.Forms.Label();
this.Color_CaptionTextColor = new ryControls.SuperColor();
@ -85,30 +124,18 @@
this.NumIconSize = new ryControls.NumericUpDownEx();
this.label1 = new System.Windows.Forms.Label();
this.BtnMsg = new ryControls.ButtonEx();
this.BtnSaveSkin = new ryControls.ButtonEx();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog();
this.Color_minForeColor = new ryControls.SuperColor();
this.label25 = new System.Windows.Forms.Label();
this.Color_minBackColorHover = new ryControls.SuperColor();
this.label26 = new System.Windows.Forms.Label();
this.Color_minBackColorPressed = new ryControls.SuperColor();
this.label27 = new System.Windows.Forms.Label();
this.Color_maxBackColorPressed = new ryControls.SuperColor();
this.label28 = new System.Windows.Forms.Label();
this.Color_maxBackColorHover = new ryControls.SuperColor();
this.label29 = new System.Windows.Forms.Label();
this.Color_maxForeColor = new ryControls.SuperColor();
this.label30 = new System.Windows.Forms.Label();
this.Color_closeBackColorPressed = new ryControls.SuperColor();
this.label31 = new System.Windows.Forms.Label();
this.Color_closeBackColorHover = new ryControls.SuperColor();
this.label32 = new System.Windows.Forms.Label();
this.Color_closeForeColor = new ryControls.SuperColor();
this.label33 = new System.Windows.Forms.Label();
this.Color_IconColor = new ryControls.SuperColor();
this.label42 = new System.Windows.Forms.Label();
this.label43 = new System.Windows.Forms.Label();
this.groupBox1.SuspendLayout();
this.groupBox7.SuspendLayout();
this.groupBox6.SuspendLayout();
this.groupBox5.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.NumTabRadius)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.NumTabAndTabSpace)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.NumTabHeight)).BeginInit();
this.groupBox4.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.NumShadowAValueLight)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.NumShadowAValueDark)).BeginInit();
@ -125,6 +152,7 @@
//
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBox1.Controls.Add(this.groupBox7);
this.groupBox1.Controls.Add(this.BtnSaveSkin);
this.groupBox1.Controls.Add(this.groupBox6);
this.groupBox1.Controls.Add(this.BtnLoadSkin);
@ -134,11 +162,129 @@
this.groupBox1.Controls.Add(this.groupBox2);
this.groupBox1.Location = new System.Drawing.Point(12, 53);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(878, 564);
this.groupBox1.Size = new System.Drawing.Size(1048, 649);
this.groupBox1.TabIndex = 7;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "皮肤设置";
//
// groupBox7
//
this.groupBox7.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBox7.Controls.Add(this.Color_ToolBarSelected);
this.groupBox7.Controls.Add(this.label39);
this.groupBox7.Controls.Add(this.Color_SVG);
this.groupBox7.Controls.Add(this.label38);
this.groupBox7.Controls.Add(this.Color_Button_ForeColor);
this.groupBox7.Controls.Add(this.label37);
this.groupBox7.Controls.Add(this.ChkButtonGradient);
this.groupBox7.Controls.Add(this.Color_Button);
this.groupBox7.Controls.Add(this.label40);
this.groupBox7.Location = new System.Drawing.Point(7, 488);
this.groupBox7.Name = "groupBox7";
this.groupBox7.Size = new System.Drawing.Size(1031, 60);
this.groupBox7.TabIndex = 7;
this.groupBox7.TabStop = false;
this.groupBox7.Text = "按钮设置";
//
// Color_ToolBarSelected
//
this.Color_ToolBarSelected.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Color_ToolBarSelected.Cursor = System.Windows.Forms.Cursors.Hand;
this.Color_ToolBarSelected.Location = new System.Drawing.Point(668, 19);
this.Color_ToolBarSelected.Name = "Color_ToolBarSelected";
this.Color_ToolBarSelected.Size = new System.Drawing.Size(73, 22);
this.Color_ToolBarSelected.TabIndex = 16;
this.Color_ToolBarSelected.BackColorChanged += new System.EventHandler(this.Color_ToolBarSelected_BackColorChanged);
//
// label39
//
this.label39.AutoSize = true;
this.label39.Location = new System.Drawing.Point(573, 25);
this.label39.Name = "label39";
this.label39.Size = new System.Drawing.Size(89, 12);
this.label39.TabIndex = 15;
this.label39.Text = "工具栏选中颜色";
//
// Color_SVG
//
this.Color_SVG.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Color_SVG.Cursor = System.Windows.Forms.Cursors.Hand;
this.Color_SVG.Location = new System.Drawing.Point(494, 20);
this.Color_SVG.Name = "Color_SVG";
this.Color_SVG.Size = new System.Drawing.Size(73, 22);
this.Color_SVG.TabIndex = 14;
this.Color_SVG.BackColorChanged += new System.EventHandler(this.Color_SVG_BackColorChanged);
//
// label38
//
this.label38.AutoSize = true;
this.label38.Location = new System.Drawing.Point(417, 26);
this.label38.Name = "label38";
this.label38.Size = new System.Drawing.Size(71, 12);
this.label38.TabIndex = 13;
this.label38.Text = "SVG图标颜色";
//
// Color_Button_ForeColor
//
this.Color_Button_ForeColor.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Color_Button_ForeColor.Cursor = System.Windows.Forms.Cursors.Hand;
this.Color_Button_ForeColor.Location = new System.Drawing.Point(221, 20);
this.Color_Button_ForeColor.Name = "Color_Button_ForeColor";
this.Color_Button_ForeColor.Size = new System.Drawing.Size(73, 22);
this.Color_Button_ForeColor.TabIndex = 12;
this.Color_Button_ForeColor.BackColorChanged += new System.EventHandler(this.Color_Button_ForeColor_BackColorChanged);
//
// label37
//
this.label37.AutoSize = true;
this.label37.Location = new System.Drawing.Point(156, 26);
this.label37.Name = "label37";
this.label37.Size = new System.Drawing.Size(53, 12);
this.label37.TabIndex = 11;
this.label37.Text = "字体颜色";
//
// ChkButtonGradient
//
this.ChkButtonGradient.AutoSize = true;
this.ChkButtonGradient.Location = new System.Drawing.Point(306, 25);
this.ChkButtonGradient.Name = "ChkButtonGradient";
this.ChkButtonGradient.Size = new System.Drawing.Size(72, 16);
this.ChkButtonGradient.TabIndex = 10;
this.ChkButtonGradient.Text = "开启渐变";
this.ChkButtonGradient.UseVisualStyleBackColor = true;
this.ChkButtonGradient.CheckedChanged += new System.EventHandler(this.ChkButtonGradient_CheckedChanged);
//
// Color_Button
//
this.Color_Button.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Color_Button.Cursor = System.Windows.Forms.Cursors.Hand;
this.Color_Button.Location = new System.Drawing.Point(76, 20);
this.Color_Button.Name = "Color_Button";
this.Color_Button.Size = new System.Drawing.Size(73, 22);
this.Color_Button.TabIndex = 9;
this.Color_Button.BackColorChanged += new System.EventHandler(this.Color_Button_BackColorChanged);
//
// label40
//
this.label40.AutoSize = true;
this.label40.Location = new System.Drawing.Point(11, 26);
this.label40.Name = "label40";
this.label40.Size = new System.Drawing.Size(41, 12);
this.label40.TabIndex = 8;
this.label40.Text = "背景色";
//
// BtnSaveSkin
//
this.BtnSaveSkin.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
this.BtnSaveSkin.Location = new System.Drawing.Point(115, 554);
this.BtnSaveSkin.Name = "BtnSaveSkin";
this.BtnSaveSkin.Size = new System.Drawing.Size(101, 35);
this.BtnSaveSkin.TabIndex = 6;
this.BtnSaveSkin.Text = "保存皮肤";
this.BtnSaveSkin.UseVisualStyleBackColor = true;
this.BtnSaveSkin.Click += new System.EventHandler(this.BtnSaveSkin_Click);
//
// groupBox6
//
this.groupBox6.Controls.Add(this.TxtAuthor);
@ -159,7 +305,9 @@
this.TxtAuthor.BackColor = System.Drawing.Color.White;
this.TxtAuthor.EmptyText = "";
this.TxtAuthor.Location = new System.Drawing.Point(467, 14);
this.TxtAuthor.LongTime = 2000;
this.TxtAuthor.MaxLength = 999999999;
this.TxtAuthor.MaxUndoRedoSteps = 50;
this.TxtAuthor.Multiline = false;
this.TxtAuthor.Name = "TxtAuthor";
this.TxtAuthor.OnlyNumeric = false;
@ -188,7 +336,9 @@
this.TxtVer.BackColor = System.Drawing.Color.White;
this.TxtVer.EmptyText = "";
this.TxtVer.Location = new System.Drawing.Point(353, 14);
this.TxtVer.LongTime = 2000;
this.TxtVer.MaxLength = 999999999;
this.TxtVer.MaxUndoRedoSteps = 50;
this.TxtVer.Multiline = false;
this.TxtVer.Name = "TxtVer";
this.TxtVer.OnlyNumeric = false;
@ -217,7 +367,9 @@
this.TxtSkinName.BackColor = System.Drawing.Color.White;
this.TxtSkinName.EmptyText = "";
this.TxtSkinName.Location = new System.Drawing.Point(65, 14);
this.TxtSkinName.LongTime = 2000;
this.TxtSkinName.MaxLength = 999999999;
this.TxtSkinName.MaxUndoRedoSteps = 50;
this.TxtSkinName.Multiline = false;
this.TxtSkinName.Name = "TxtSkinName";
this.TxtSkinName.OnlyNumeric = false;
@ -231,6 +383,7 @@
this.TxtSkinName.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
this.TxtSkinName.ToolTip = "";
this.TxtSkinName.WordWrap = true;
this.TxtSkinName.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TxtSkinName_KeyDown);
//
// label22
//
@ -243,9 +396,8 @@
//
// BtnLoadSkin
//
this.BtnLoadSkin.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(2)))), ((int)(((byte)(60)))), ((int)(((byte)(162)))));
this.BtnLoadSkin.ColorGradient = true;
this.BtnLoadSkin.Location = new System.Drawing.Point(7, 490);
this.BtnLoadSkin.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
this.BtnLoadSkin.Location = new System.Drawing.Point(8, 554);
this.BtnLoadSkin.Name = "BtnLoadSkin";
this.BtnLoadSkin.Size = new System.Drawing.Size(101, 35);
this.BtnLoadSkin.TabIndex = 4;
@ -257,6 +409,15 @@
//
this.groupBox5.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBox5.Controls.Add(this.Color_TabBackColor);
this.groupBox5.Controls.Add(this.label41);
this.groupBox5.Controls.Add(this.ChkDrawTabBorder);
this.groupBox5.Controls.Add(this.NumTabRadius);
this.groupBox5.Controls.Add(this.label36);
this.groupBox5.Controls.Add(this.NumTabAndTabSpace);
this.groupBox5.Controls.Add(this.label35);
this.groupBox5.Controls.Add(this.NumTabHeight);
this.groupBox5.Controls.Add(this.label34);
this.groupBox5.Controls.Add(this.Color_TabMoveColorEnd);
this.groupBox5.Controls.Add(this.label20);
this.groupBox5.Controls.Add(this.Color_TabMoveColorStart);
@ -271,11 +432,121 @@
this.groupBox5.Controls.Add(this.label19);
this.groupBox5.Location = new System.Drawing.Point(8, 394);
this.groupBox5.Name = "groupBox5";
this.groupBox5.Size = new System.Drawing.Size(861, 88);
this.groupBox5.Size = new System.Drawing.Size(1031, 88);
this.groupBox5.TabIndex = 3;
this.groupBox5.TabStop = false;
this.groupBox5.Text = "Tab设置";
//
// Color_TabBackColor
//
this.Color_TabBackColor.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Color_TabBackColor.Cursor = System.Windows.Forms.Cursors.Hand;
this.Color_TabBackColor.Location = new System.Drawing.Point(885, 53);
this.Color_TabBackColor.Name = "Color_TabBackColor";
this.Color_TabBackColor.Size = new System.Drawing.Size(73, 22);
this.Color_TabBackColor.TabIndex = 30;
this.Color_TabBackColor.BackColorChanged += new System.EventHandler(this.Color_TabBackColor_BackColorChanged);
//
// label41
//
this.label41.AutoSize = true;
this.label41.Location = new System.Drawing.Point(796, 58);
this.label41.Name = "label41";
this.label41.Size = new System.Drawing.Size(83, 12);
this.label41.TabIndex = 29;
this.label41.Text = "整个Tab背景色";
//
// ChkDrawTabBorder
//
this.ChkDrawTabBorder.AutoSize = true;
this.ChkDrawTabBorder.Location = new System.Drawing.Point(792, 22);
this.ChkDrawTabBorder.Name = "ChkDrawTabBorder";
this.ChkDrawTabBorder.Size = new System.Drawing.Size(78, 16);
this.ChkDrawTabBorder.TabIndex = 28;
this.ChkDrawTabBorder.Text = "画Tab边框";
this.ChkDrawTabBorder.UseVisualStyleBackColor = true;
this.ChkDrawTabBorder.CheckedChanged += new System.EventHandler(this.ChkDrawTabBorder_CheckedChanged);
//
// NumTabRadius
//
this.NumTabRadius.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.NumTabRadius.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.NumTabRadius.Location = new System.Drawing.Point(728, 55);
this.NumTabRadius.Name = "NumTabRadius";
this.NumTabRadius.Size = new System.Drawing.Size(64, 19);
this.NumTabRadius.TabIndex = 27;
this.NumTabRadius.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
this.NumTabRadius.Value = new decimal(new int[] {
8,
0,
0,
0});
this.NumTabRadius.ValueChanged += new System.EventHandler(this.NumTabRadius_ValueChanged);
//
// label36
//
this.label36.AutoSize = true;
this.label36.Location = new System.Drawing.Point(672, 59);
this.label36.Name = "label36";
this.label36.Size = new System.Drawing.Size(53, 12);
this.label36.TabIndex = 26;
this.label36.Text = "标签圆角";
//
// NumTabAndTabSpace
//
this.NumTabAndTabSpace.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.NumTabAndTabSpace.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.NumTabAndTabSpace.Location = new System.Drawing.Point(602, 55);
this.NumTabAndTabSpace.Minimum = new decimal(new int[] {
100,
0,
0,
-2147483648});
this.NumTabAndTabSpace.Name = "NumTabAndTabSpace";
this.NumTabAndTabSpace.Size = new System.Drawing.Size(64, 19);
this.NumTabAndTabSpace.TabIndex = 25;
this.NumTabAndTabSpace.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
this.NumTabAndTabSpace.ValueChanged += new System.EventHandler(this.NumTabAndTabSpace_ValueChanged);
//
// label35
//
this.label35.AutoSize = true;
this.label35.Location = new System.Drawing.Point(522, 59);
this.label35.Name = "label35";
this.label35.Size = new System.Drawing.Size(77, 12);
this.label35.TabIndex = 24;
this.label35.Text = "标签之间距离";
//
// NumTabHeight
//
this.NumTabHeight.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.NumTabHeight.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.NumTabHeight.Location = new System.Drawing.Point(452, 55);
this.NumTabHeight.Minimum = new decimal(new int[] {
8,
0,
0,
0});
this.NumTabHeight.Name = "NumTabHeight";
this.NumTabHeight.Size = new System.Drawing.Size(64, 19);
this.NumTabHeight.TabIndex = 23;
this.NumTabHeight.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
this.NumTabHeight.Value = new decimal(new int[] {
26,
0,
0,
0});
this.NumTabHeight.ValueChanged += new System.EventHandler(this.NumTabHeight_ValueChanged);
//
// label34
//
this.label34.AutoSize = true;
this.label34.Location = new System.Drawing.Point(393, 59);
this.label34.Name = "label34";
this.label34.Size = new System.Drawing.Size(53, 12);
this.label34.TabIndex = 22;
this.label34.Text = "标签高度";
//
// Color_TabMoveColorEnd
//
this.Color_TabMoveColorEnd.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
@ -524,7 +795,7 @@
this.groupBox3.Controls.Add(this.label12);
this.groupBox3.Location = new System.Drawing.Point(7, 303);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(861, 84);
this.groupBox3.Size = new System.Drawing.Size(1031, 84);
this.groupBox3.TabIndex = 1;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "窗体设置";
@ -639,6 +910,9 @@
//
this.groupBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBox2.Controls.Add(this.label43);
this.groupBox2.Controls.Add(this.Color_IconColor);
this.groupBox2.Controls.Add(this.label42);
this.groupBox2.Controls.Add(this.Color_closeBackColorPressed);
this.groupBox2.Controls.Add(this.label31);
this.groupBox2.Controls.Add(this.Color_closeBackColorHover);
@ -671,11 +945,182 @@
this.groupBox2.Controls.Add(this.label1);
this.groupBox2.Location = new System.Drawing.Point(6, 73);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(861, 168);
this.groupBox2.Size = new System.Drawing.Size(1031, 168);
this.groupBox2.TabIndex = 0;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "标题栏设置";
//
// Color_closeBackColorPressed
//
this.Color_closeBackColorPressed.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Color_closeBackColorPressed.Cursor = System.Windows.Forms.Cursors.Hand;
this.Color_closeBackColorPressed.Location = new System.Drawing.Point(540, 129);
this.Color_closeBackColorPressed.Name = "Color_closeBackColorPressed";
this.Color_closeBackColorPressed.Size = new System.Drawing.Size(73, 22);
this.Color_closeBackColorPressed.TabIndex = 33;
this.Color_closeBackColorPressed.BackColorChanged += new System.EventHandler(this.Color_closeBackColorPressed_BackColorChanged);
//
// label31
//
this.label31.AutoSize = true;
this.label31.Location = new System.Drawing.Point(409, 136);
this.label31.Name = "label31";
this.label31.Size = new System.Drawing.Size(113, 12);
this.label31.TabIndex = 32;
this.label31.Text = "关闭按钮按下背景色";
//
// Color_closeBackColorHover
//
this.Color_closeBackColorHover.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Color_closeBackColorHover.Cursor = System.Windows.Forms.Cursors.Hand;
this.Color_closeBackColorHover.Location = new System.Drawing.Point(330, 130);
this.Color_closeBackColorHover.Name = "Color_closeBackColorHover";
this.Color_closeBackColorHover.Size = new System.Drawing.Size(73, 22);
this.Color_closeBackColorHover.TabIndex = 31;
this.Color_closeBackColorHover.BackColorChanged += new System.EventHandler(this.Color_closeBackColorHover_BackColorChanged);
//
// label32
//
this.label32.AutoSize = true;
this.label32.Location = new System.Drawing.Point(199, 136);
this.label32.Name = "label32";
this.label32.Size = new System.Drawing.Size(113, 12);
this.label32.TabIndex = 30;
this.label32.Text = "关闭按钮激活背景色";
//
// Color_closeForeColor
//
this.Color_closeForeColor.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Color_closeForeColor.Cursor = System.Windows.Forms.Cursors.Hand;
this.Color_closeForeColor.Location = new System.Drawing.Point(117, 130);
this.Color_closeForeColor.Name = "Color_closeForeColor";
this.Color_closeForeColor.Size = new System.Drawing.Size(73, 22);
this.Color_closeForeColor.TabIndex = 29;
this.Color_closeForeColor.BackColorChanged += new System.EventHandler(this.Color_closeForeColor_BackColorChanged);
//
// label33
//
this.label33.AutoSize = true;
this.label33.Location = new System.Drawing.Point(11, 136);
this.label33.Name = "label33";
this.label33.Size = new System.Drawing.Size(89, 12);
this.label33.TabIndex = 28;
this.label33.Text = "关闭按钮字体色";
//
// Color_maxBackColorPressed
//
this.Color_maxBackColorPressed.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Color_maxBackColorPressed.Cursor = System.Windows.Forms.Cursors.Hand;
this.Color_maxBackColorPressed.Location = new System.Drawing.Point(540, 102);
this.Color_maxBackColorPressed.Name = "Color_maxBackColorPressed";
this.Color_maxBackColorPressed.Size = new System.Drawing.Size(73, 22);
this.Color_maxBackColorPressed.TabIndex = 27;
this.Color_maxBackColorPressed.BackColorChanged += new System.EventHandler(this.Color_maxBackColorPressed_BackColorChanged);
//
// label28
//
this.label28.AutoSize = true;
this.label28.Location = new System.Drawing.Point(409, 108);
this.label28.Name = "label28";
this.label28.Size = new System.Drawing.Size(125, 12);
this.label28.TabIndex = 26;
this.label28.Text = "最大化按钮按下背景色";
//
// Color_maxBackColorHover
//
this.Color_maxBackColorHover.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Color_maxBackColorHover.Cursor = System.Windows.Forms.Cursors.Hand;
this.Color_maxBackColorHover.Location = new System.Drawing.Point(330, 102);
this.Color_maxBackColorHover.Name = "Color_maxBackColorHover";
this.Color_maxBackColorHover.Size = new System.Drawing.Size(73, 22);
this.Color_maxBackColorHover.TabIndex = 25;
this.Color_maxBackColorHover.BackColorChanged += new System.EventHandler(this.Color_maxBackColorHover_BackColorChanged);
//
// label29
//
this.label29.AutoSize = true;
this.label29.Location = new System.Drawing.Point(199, 108);
this.label29.Name = "label29";
this.label29.Size = new System.Drawing.Size(125, 12);
this.label29.TabIndex = 24;
this.label29.Text = "最大化按钮激活背景色";
//
// Color_maxForeColor
//
this.Color_maxForeColor.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Color_maxForeColor.Cursor = System.Windows.Forms.Cursors.Hand;
this.Color_maxForeColor.Location = new System.Drawing.Point(117, 102);
this.Color_maxForeColor.Name = "Color_maxForeColor";
this.Color_maxForeColor.Size = new System.Drawing.Size(73, 22);
this.Color_maxForeColor.TabIndex = 23;
this.Color_maxForeColor.BackColorChanged += new System.EventHandler(this.Color_maxForeColor_BackColorChanged);
//
// label30
//
this.label30.AutoSize = true;
this.label30.Location = new System.Drawing.Point(10, 108);
this.label30.Name = "label30";
this.label30.Size = new System.Drawing.Size(101, 12);
this.label30.TabIndex = 22;
this.label30.Text = "最大化按钮字体色";
//
// Color_minBackColorPressed
//
this.Color_minBackColorPressed.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Color_minBackColorPressed.Cursor = System.Windows.Forms.Cursors.Hand;
this.Color_minBackColorPressed.Location = new System.Drawing.Point(540, 74);
this.Color_minBackColorPressed.Name = "Color_minBackColorPressed";
this.Color_minBackColorPressed.Size = new System.Drawing.Size(73, 22);
this.Color_minBackColorPressed.TabIndex = 21;
this.Color_minBackColorPressed.BackColorChanged += new System.EventHandler(this.Color_minBackColorPressed_BackColorChanged);
//
// label27
//
this.label27.AutoSize = true;
this.label27.Location = new System.Drawing.Point(409, 81);
this.label27.Name = "label27";
this.label27.Size = new System.Drawing.Size(125, 12);
this.label27.TabIndex = 20;
this.label27.Text = "最小化按钮按下背景色";
//
// Color_minBackColorHover
//
this.Color_minBackColorHover.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Color_minBackColorHover.Cursor = System.Windows.Forms.Cursors.Hand;
this.Color_minBackColorHover.Location = new System.Drawing.Point(330, 75);
this.Color_minBackColorHover.Name = "Color_minBackColorHover";
this.Color_minBackColorHover.Size = new System.Drawing.Size(73, 22);
this.Color_minBackColorHover.TabIndex = 19;
this.Color_minBackColorHover.BackColorChanged += new System.EventHandler(this.Color_minBackColorHover_BackColorChanged);
//
// label26
//
this.label26.AutoSize = true;
this.label26.Location = new System.Drawing.Point(199, 81);
this.label26.Name = "label26";
this.label26.Size = new System.Drawing.Size(125, 12);
this.label26.TabIndex = 18;
this.label26.Text = "最小化按钮激活背景色";
//
// Color_minForeColor
//
this.Color_minForeColor.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Color_minForeColor.Cursor = System.Windows.Forms.Cursors.Hand;
this.Color_minForeColor.Location = new System.Drawing.Point(117, 75);
this.Color_minForeColor.Name = "Color_minForeColor";
this.Color_minForeColor.Size = new System.Drawing.Size(73, 22);
this.Color_minForeColor.TabIndex = 17;
this.Color_minForeColor.BackColorChanged += new System.EventHandler(this.Color_minForeColor_BackColorChanged);
//
// label25
//
this.label25.AutoSize = true;
this.label25.Location = new System.Drawing.Point(11, 81);
this.label25.Name = "label25";
this.label25.Size = new System.Drawing.Size(101, 12);
this.label25.TabIndex = 16;
this.label25.Text = "最小化按钮字体色";
//
// NumCaptionHeight
//
this.NumCaptionHeight.BorderStyle = System.Windows.Forms.BorderStyle.None;
@ -815,8 +1260,7 @@
//
// BtnMsg
//
this.BtnMsg.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(2)))), ((int)(((byte)(60)))), ((int)(((byte)(162)))));
this.BtnMsg.ColorGradient = true;
this.BtnMsg.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(51)))), ((int)(((byte)(76)))), ((int)(((byte)(95)))));
this.BtnMsg.Location = new System.Drawing.Point(12, 7);
this.BtnMsg.Name = "BtnMsg";
this.BtnMsg.Size = new System.Drawing.Size(101, 35);
@ -825,18 +1269,6 @@
this.BtnMsg.UseVisualStyleBackColor = true;
this.BtnMsg.Click += new System.EventHandler(this.BtnMsg_Click);
//
// BtnSaveSkin
//
this.BtnSaveSkin.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(2)))), ((int)(((byte)(60)))), ((int)(((byte)(162)))));
this.BtnSaveSkin.ColorGradient = true;
this.BtnSaveSkin.Location = new System.Drawing.Point(114, 490);
this.BtnSaveSkin.Name = "BtnSaveSkin";
this.BtnSaveSkin.Size = new System.Drawing.Size(101, 35);
this.BtnSaveSkin.TabIndex = 6;
this.BtnSaveSkin.Text = "保存皮肤";
this.BtnSaveSkin.UseVisualStyleBackColor = true;
this.BtnSaveSkin.Click += new System.EventHandler(this.BtnSaveSkin_Click);
//
// openFileDialog1
//
this.openFileDialog1.Filter = "皮肤文件|*.skin";
@ -845,192 +1277,56 @@
//
this.saveFileDialog1.Filter = "皮肤文件|*.skin";
//
// Color_minForeColor
// Color_IconColor
//
this.Color_minForeColor.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Color_minForeColor.Cursor = System.Windows.Forms.Cursors.Hand;
this.Color_minForeColor.Location = new System.Drawing.Point(117, 75);
this.Color_minForeColor.Name = "Color_minForeColor";
this.Color_minForeColor.Size = new System.Drawing.Size(73, 22);
this.Color_minForeColor.TabIndex = 17;
this.Color_minForeColor.BackColorChanged += new System.EventHandler(this.Color_minForeColor_BackColorChanged);
this.Color_IconColor.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Color_IconColor.Cursor = System.Windows.Forms.Cursors.Hand;
this.Color_IconColor.Location = new System.Drawing.Point(517, 15);
this.Color_IconColor.Name = "Color_IconColor";
this.Color_IconColor.Size = new System.Drawing.Size(73, 22);
this.Color_IconColor.TabIndex = 35;
this.Color_IconColor.BackColorChanged += new System.EventHandler(this.Color_IconColor_BackColorChanged);
//
// label25
// label42
//
this.label25.AutoSize = true;
this.label25.Location = new System.Drawing.Point(11, 81);
this.label25.Name = "label25";
this.label25.Size = new System.Drawing.Size(101, 12);
this.label25.TabIndex = 16;
this.label25.Text = "最小化按钮字体色";
this.label42.AutoSize = true;
this.label42.Location = new System.Drawing.Point(456, 21);
this.label42.Name = "label42";
this.label42.Size = new System.Drawing.Size(53, 12);
this.label42.TabIndex = 34;
this.label42.Text = "图标颜色";
//
// Color_minBackColorHover
// label43
//
this.Color_minBackColorHover.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Color_minBackColorHover.Cursor = System.Windows.Forms.Cursors.Hand;
this.Color_minBackColorHover.Location = new System.Drawing.Point(330, 75);
this.Color_minBackColorHover.Name = "Color_minBackColorHover";
this.Color_minBackColorHover.Size = new System.Drawing.Size(73, 22);
this.Color_minBackColorHover.TabIndex = 19;
this.Color_minBackColorHover.BackColorChanged += new System.EventHandler(this.Color_minBackColorHover_BackColorChanged);
//
// label26
//
this.label26.AutoSize = true;
this.label26.Location = new System.Drawing.Point(199, 81);
this.label26.Name = "label26";
this.label26.Size = new System.Drawing.Size(125, 12);
this.label26.TabIndex = 18;
this.label26.Text = "最小化按钮激活背景色";
//
// Color_minBackColorPressed
//
this.Color_minBackColorPressed.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Color_minBackColorPressed.Cursor = System.Windows.Forms.Cursors.Hand;
this.Color_minBackColorPressed.Location = new System.Drawing.Point(540, 74);
this.Color_minBackColorPressed.Name = "Color_minBackColorPressed";
this.Color_minBackColorPressed.Size = new System.Drawing.Size(73, 22);
this.Color_minBackColorPressed.TabIndex = 21;
this.Color_minBackColorPressed.BackColorChanged += new System.EventHandler(this.Color_minBackColorPressed_BackColorChanged);
//
// label27
//
this.label27.AutoSize = true;
this.label27.Location = new System.Drawing.Point(409, 81);
this.label27.Name = "label27";
this.label27.Size = new System.Drawing.Size(125, 12);
this.label27.TabIndex = 20;
this.label27.Text = "最小化按钮按下背景色";
//
// Color_maxBackColorPressed
//
this.Color_maxBackColorPressed.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Color_maxBackColorPressed.Cursor = System.Windows.Forms.Cursors.Hand;
this.Color_maxBackColorPressed.Location = new System.Drawing.Point(540, 102);
this.Color_maxBackColorPressed.Name = "Color_maxBackColorPressed";
this.Color_maxBackColorPressed.Size = new System.Drawing.Size(73, 22);
this.Color_maxBackColorPressed.TabIndex = 27;
this.Color_maxBackColorPressed.BackColorChanged += new System.EventHandler(this.Color_maxBackColorPressed_BackColorChanged);
//
// label28
//
this.label28.AutoSize = true;
this.label28.Location = new System.Drawing.Point(409, 108);
this.label28.Name = "label28";
this.label28.Size = new System.Drawing.Size(125, 12);
this.label28.TabIndex = 26;
this.label28.Text = "最大化按钮按下背景色";
//
// Color_maxBackColorHover
//
this.Color_maxBackColorHover.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Color_maxBackColorHover.Cursor = System.Windows.Forms.Cursors.Hand;
this.Color_maxBackColorHover.Location = new System.Drawing.Point(330, 102);
this.Color_maxBackColorHover.Name = "Color_maxBackColorHover";
this.Color_maxBackColorHover.Size = new System.Drawing.Size(73, 22);
this.Color_maxBackColorHover.TabIndex = 25;
this.Color_maxBackColorHover.BackColorChanged += new System.EventHandler(this.Color_maxBackColorHover_BackColorChanged);
//
// label29
//
this.label29.AutoSize = true;
this.label29.Location = new System.Drawing.Point(199, 108);
this.label29.Name = "label29";
this.label29.Size = new System.Drawing.Size(125, 12);
this.label29.TabIndex = 24;
this.label29.Text = "最大化按钮激活背景色";
//
// Color_maxForeColor
//
this.Color_maxForeColor.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Color_maxForeColor.Cursor = System.Windows.Forms.Cursors.Hand;
this.Color_maxForeColor.Location = new System.Drawing.Point(117, 102);
this.Color_maxForeColor.Name = "Color_maxForeColor";
this.Color_maxForeColor.Size = new System.Drawing.Size(73, 22);
this.Color_maxForeColor.TabIndex = 23;
this.Color_maxForeColor.BackColorChanged += new System.EventHandler(this.Color_maxForeColor_BackColorChanged);
//
// label30
//
this.label30.AutoSize = true;
this.label30.Location = new System.Drawing.Point(10, 108);
this.label30.Name = "label30";
this.label30.Size = new System.Drawing.Size(101, 12);
this.label30.TabIndex = 22;
this.label30.Text = "最大化按钮字体色";
//
// Color_closeBackColorPressed
//
this.Color_closeBackColorPressed.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Color_closeBackColorPressed.Cursor = System.Windows.Forms.Cursors.Hand;
this.Color_closeBackColorPressed.Location = new System.Drawing.Point(540, 129);
this.Color_closeBackColorPressed.Name = "Color_closeBackColorPressed";
this.Color_closeBackColorPressed.Size = new System.Drawing.Size(73, 22);
this.Color_closeBackColorPressed.TabIndex = 33;
this.Color_closeBackColorPressed.BackColorChanged += new System.EventHandler(this.Color_closeBackColorPressed_BackColorChanged);
//
// label31
//
this.label31.AutoSize = true;
this.label31.Location = new System.Drawing.Point(409, 136);
this.label31.Name = "label31";
this.label31.Size = new System.Drawing.Size(113, 12);
this.label31.TabIndex = 32;
this.label31.Text = "关闭按钮按下背景色";
//
// Color_closeBackColorHover
//
this.Color_closeBackColorHover.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Color_closeBackColorHover.Cursor = System.Windows.Forms.Cursors.Hand;
this.Color_closeBackColorHover.Location = new System.Drawing.Point(330, 130);
this.Color_closeBackColorHover.Name = "Color_closeBackColorHover";
this.Color_closeBackColorHover.Size = new System.Drawing.Size(73, 22);
this.Color_closeBackColorHover.TabIndex = 31;
this.Color_closeBackColorHover.BackColorChanged += new System.EventHandler(this.Color_closeBackColorHover_BackColorChanged);
//
// label32
//
this.label32.AutoSize = true;
this.label32.Location = new System.Drawing.Point(199, 136);
this.label32.Name = "label32";
this.label32.Size = new System.Drawing.Size(113, 12);
this.label32.TabIndex = 30;
this.label32.Text = "关闭按钮激活背景色";
//
// Color_closeForeColor
//
this.Color_closeForeColor.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Color_closeForeColor.Cursor = System.Windows.Forms.Cursors.Hand;
this.Color_closeForeColor.Location = new System.Drawing.Point(117, 130);
this.Color_closeForeColor.Name = "Color_closeForeColor";
this.Color_closeForeColor.Size = new System.Drawing.Size(73, 22);
this.Color_closeForeColor.TabIndex = 29;
this.Color_closeForeColor.BackColorChanged += new System.EventHandler(this.Color_closeForeColor_BackColorChanged);
//
// label33
//
this.label33.AutoSize = true;
this.label33.Location = new System.Drawing.Point(11, 136);
this.label33.Name = "label33";
this.label33.Size = new System.Drawing.Size(89, 12);
this.label33.TabIndex = 28;
this.label33.Text = "关闭按钮字体色";
this.label43.BackColor = System.Drawing.Color.Red;
this.label43.Font = new System.Drawing.Font("宋体", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label43.Location = new System.Drawing.Point(616, 17);
this.label43.Name = "label43";
this.label43.Size = new System.Drawing.Size(73, 36);
this.label43.TabIndex = 36;
this.label43.Text = "✈";
this.label43.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// FrmTab1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(902, 714);
this.ClientSize = new System.Drawing.Size(1072, 714);
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.BtnMsg);
this.Name = "FrmTab1";
this.Text = "示例1";
this.Load += new System.EventHandler(this.FrmTab1_Load);
this.groupBox1.ResumeLayout(false);
this.groupBox7.ResumeLayout(false);
this.groupBox7.PerformLayout();
this.groupBox6.ResumeLayout(false);
this.groupBox6.PerformLayout();
this.groupBox5.ResumeLayout(false);
this.groupBox5.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.NumTabRadius)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.NumTabAndTabSpace)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.NumTabHeight)).EndInit();
this.groupBox4.ResumeLayout(false);
this.groupBox4.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.NumShadowAValueLight)).EndInit();
@ -1128,5 +1424,27 @@
private System.Windows.Forms.Label label32;
private ryControls.SuperColor Color_closeForeColor;
private System.Windows.Forms.Label label33;
private ryControls.NumericUpDownEx NumTabHeight;
private System.Windows.Forms.Label label34;
private ryControls.NumericUpDownEx NumTabAndTabSpace;
private System.Windows.Forms.Label label35;
private ryControls.NumericUpDownEx NumTabRadius;
private System.Windows.Forms.Label label36;
private System.Windows.Forms.GroupBox groupBox7;
private ryControls.SuperColor Color_Button;
private System.Windows.Forms.Label label40;
private System.Windows.Forms.CheckBox ChkButtonGradient;
private ryControls.SuperColor Color_Button_ForeColor;
private System.Windows.Forms.Label label37;
private ryControls.SuperColor Color_SVG;
private System.Windows.Forms.Label label38;
private ryControls.SuperColor Color_ToolBarSelected;
private System.Windows.Forms.Label label39;
private System.Windows.Forms.CheckBox ChkDrawTabBorder;
private ryControls.SuperColor Color_TabBackColor;
private System.Windows.Forms.Label label41;
private ryControls.SuperColor Color_IconColor;
private System.Windows.Forms.Label label42;
private System.Windows.Forms.Label label43;
}
}

View File

@ -1,6 +1,7 @@
using Newtonsoft.Json.Linq;
using ryCommon;
using ryControls;
using ryControls.Skin;
using RySkins;
using System;
using System.Collections.Generic;
@ -36,6 +37,7 @@ namespace SkinPreview
Color_CaptionBackColorTop.BackColor = SkinSetting.FormSkin.CaptionBackColorTop;
Color_CaptionBackColorBottom.BackColor = SkinSetting.FormSkin.CaptionBackColorBottom;
Color_CaptionTextColor.BackColor = SkinSetting.FormSkin.CaptionTextColor;
Color_IconColor.BackColor = SkinSetting.IconColor;
NumIconLeftMargin.Value = SkinSetting.FormSkin.IconLeftMargin;
NumIconSize.Value = SkinSetting.FormSkin.IconSize.Width;
NumCaptionHeight.Value = SkinSetting.FormSkin.CaptionHeight;
@ -64,6 +66,18 @@ namespace SkinPreview
Color_TabDeactiveBackColorBottom.BackColor = SkinSetting.FormSkin.Mdi_TabDeactiveBackColorBottom;
Color_TabMoveColorStart.BackColor = SkinSetting.TabMoveColorStart;
Color_TabMoveColorEnd.BackColor = SkinSetting.TabMoveColorEnd;
Color_TabBackColor.BackColor = SkinSetting.AllTabBackColor;
NumTabHeight.Value = SkinSetting.FormSkin.Mdi_TabHeight;
NumTabAndTabSpace.Value = SkinSetting.FormSkin.Mdi_TabAndTabSpace;
NumTabRadius.Value = SkinSetting.FormSkin.TabRadius;
Color_Button.BackColor = SkinCommon.ButtonSkin.BackColor;
Color_Button_ForeColor.BackColor = SkinCommon.ButtonSkin.ForeColor;
ChkButtonGradient.Checked=SkinCommon.ButtonSkin.ColorGradient;
Color_SVG.BackColor = SkinSetting.SvgColor;
Color_ToolBarSelected.BackColor = SkinSetting.ToolBarSelectedColor;
ChkDrawTabBorder.Checked = SkinSetting.DrawTabBorder;
label43.ForeColor = SkinSetting.IconColor;
label43.BackColor = SkinSetting.FormSkin.CaptionBackColorTop;
IsProcUse = false;
}
private void SaveSkins()
@ -77,6 +91,7 @@ namespace SkinPreview
{ "CaptionBackColorTop", Color_CaptionBackColorTop.HtmlColor },
{ "CaptionBackColorBottom", Color_CaptionBackColorBottom.HtmlColor },
{ "CaptionTextColor", Color_CaptionTextColor.HtmlColor },
{ "IconColor", Color_IconColor.HtmlColor },
{ "IconLeftMargin", NumIconLeftMargin.Value.ToInt() },
{ "IconSize", NumIconSize.Value.ToInt() },
{ "CaptionHeight", NumCaptionHeight.Value.ToInt() },
@ -105,6 +120,16 @@ namespace SkinPreview
{ "TabDeactiveBackColorBottom",Color_TabDeactiveBackColorBottom.HtmlColor },
{ "TabMoveColorStart",Color_TabMoveColorStart.HtmlColor },
{ "TabMoveColorEnd",Color_TabMoveColorEnd.HtmlColor },
{ "AllTabBackColor",Color_TabBackColor.HtmlColor },
{ "TabRadius",NumTabRadius.Value },
{ "TabHeight",NumTabHeight.Value },
{ "TabAndTabSpace",NumTabAndTabSpace.Value },
{ "DrawTabBorder",ChkDrawTabBorder.Checked },
{ "ButtonDefColor",Color_Button.HtmlColor },
{ "ButtonDefForeColor",Color_Button_ForeColor.HtmlColor },
{ "ButtonColorGradient",ChkButtonGradient.Checked },
{ "SvgColor",Color_SVG.HtmlColor },
{ "ToolBarSelectedColor",Color_ToolBarSelected.HtmlColor },
};
JObject jo_skin = new JObject
{
@ -388,5 +413,91 @@ namespace SkinPreview
SkinSetting.SaveCloseBtnSkin();
SaveSkins();
}
private void NumTabHeight_ValueChanged(object sender, EventArgs e)
{
if (IsProcUse) { return; }
var TabHeight = NumTabHeight.Value.ToInt();
SkinSetting.FormSkin.Mdi_TabHeight = TabHeight;
SaveSkins();
}
private void NumTabAndTabSpace_ValueChanged(object sender, EventArgs e)
{
if (IsProcUse) { return; }
var Mdi_TabAndTabSpace = NumTabAndTabSpace.Value.ToInt();
SkinSetting.FormSkin.Mdi_TabAndTabSpace = Mdi_TabAndTabSpace;
SaveSkins();
}
private void NumTabRadius_ValueChanged(object sender, EventArgs e)
{
if (IsProcUse) { return; }
SkinSetting.FormSkin.TabRadius = NumTabRadius.Value.ToInt();
SaveSkins();
}
private void ChkButtonGradient_CheckedChanged(object sender, EventArgs e)
{
if (IsProcUse) { return; }
SkinCommon.ButtonSkin.ColorGradient = ChkButtonGradient.Checked;
SaveSkins();
}
private void Color_Button_BackColorChanged(object sender, EventArgs e)
{
if (IsProcUse) { return; }
SkinCommon.ButtonSkin.BackColor = Color_Button.BackColor;
SaveSkins();
}
private void Color_Button_ForeColor_BackColorChanged(object sender, EventArgs e)
{
if (IsProcUse) { return; }
SkinCommon.ButtonSkin.ForeColor = Color_Button_ForeColor.BackColor;
SaveSkins();
}
private void Color_SVG_BackColorChanged(object sender, EventArgs e)
{
if (IsProcUse) { return; }
SkinCommon.ButtonSkin.ForeColor = Color_Button_ForeColor.BackColor;
SaveSkins();
}
private void Color_ToolBarSelected_BackColorChanged(object sender, EventArgs e)
{
if (IsProcUse) { return; }
SkinSetting.ToolBarSelectedColor = Color_ToolBarSelected.BackColor;
SaveSkins();
}
private void ChkDrawTabBorder_CheckedChanged(object sender, EventArgs e)
{
if (IsProcUse) { return; }
SkinSetting.DrawTabBorder = ChkDrawTabBorder.Checked;
SaveSkins();
}
private void Color_TabBackColor_BackColorChanged(object sender, EventArgs e)
{
if (IsProcUse) { return; }
SkinSetting.AllTabBackColor = Color_TabBackColor.BackColor;
SaveSkins();
}
private void Color_IconColor_BackColorChanged(object sender, EventArgs e)
{
if (IsProcUse) { return; }
SkinSetting.IconColor = Color_IconColor.BackColor;
label43.ForeColor = SkinSetting.IconColor;
label43.BackColor = SkinSetting.FormSkin.CaptionBackColorTop;
SaveSkins();
}
private void TxtSkinName_KeyDown(object sender, KeyEventArgs e)
{
}
}
}

View File

@ -38,9 +38,11 @@ namespace RySkins
this.chromeTabControl1.BackTabPageImage = null;
this.chromeTabControl1.Cursor = System.Windows.Forms.Cursors.Default;
this.chromeTabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.chromeTabControl1.ItemSize = new System.Drawing.Size(200, 25);
this.chromeTabControl1.DrawTabBorder = true;
this.chromeTabControl1.ItemSize = new System.Drawing.Size(300, 25);
this.chromeTabControl1.Location = new System.Drawing.Point(3, 29);
this.chromeTabControl1.Name = "chromeTabControl1";
this.chromeTabControl1.Padding = new System.Drawing.Point(0, 0);
this.chromeTabControl1.Radius = 8;
this.chromeTabControl1.SelectedIndex = 0;
this.chromeTabControl1.ShowAddButton = false;
@ -49,7 +51,7 @@ namespace RySkins
this.chromeTabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
this.chromeTabControl1.TabContextMenuStrip = null;
this.chromeTabControl1.TabIndex = 0;
this.chromeTabControl1.TabMaxWidth = 200;
this.chromeTabControl1.TabMaxWidth = 400;
this.chromeTabControl1.TabOffColorEnd = System.Drawing.Color.White;
this.chromeTabControl1.TabOffColorStart = System.Drawing.Color.Linen;
//

View File

@ -40,7 +40,9 @@ namespace RySkins
private void InitTab()
{
UpdateSkins();
chromeTabControl1.SizeMode = TabSizeMode.Normal;
//chromeTabControl1.Radius =4;
chromeTabControl1.TabMaxWidth = 200;
chromeTabControl1.SizeMode = TabSizeMode.Fixed;
chromeTabControl1.SelectedIndexChanged += TabControl1_SelectedIndexChanged;
}
/// <summary>
@ -73,6 +75,12 @@ namespace RySkins
chromeTabControl1.TabOffColorEnd = XTheme.Mdi_TabDeactiveBackColorBottom;
chromeTabControl1.TabMoveColorStart = SkinSetting.TabMoveColorStart;
chromeTabControl1.TabMoveColorEnd = SkinSetting.TabMoveColorEnd;
chromeTabControl1.DrawTabBorder = SkinSetting.DrawTabBorder;
chromeTabControl1.BackTabPageColor = SkinSetting.AllTabBackColor;
this.BackColor= SkinSetting.AllTabBackColor;
//chromeTabControl1.wid
chromeTabControl1.Radius= XTheme.TabRadius;
chromeTabControl1.Refresh();
}
private void SKinTabForm_Load(object sender, EventArgs e)
{

View File

@ -1,12 +1,14 @@
using MGdu.WinFormUI;
using Newtonsoft.Json.Linq;
using ryCommon;
using ryControls.Skin;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
namespace RySkins
@ -26,6 +28,15 @@ namespace RySkins
/// </summary>
public static Color TabMoveColorEnd { get; set; }
/// <summary>
/// 整个Tab标签背景颜色
/// </summary>
public static Color AllTabBackColor { get; set; }
/// <summary>
/// 图标颜色
/// </summary>
public static Color IconColor { get; set; }
public static bool DrawTabBorder { get; set; } = true;
/// <summary>
/// 最小化按钮字体色
/// </summary>
public static Color minForeColor { get; set; } = Color.Gray;
@ -61,6 +72,11 @@ namespace RySkins
/// 关闭按钮按下背景色
/// </summary>
public static Color closeBackColorPressed { get; set; } = Color.FromArgb(188, 52, 52);
public static Color SvgColor{ get; set; } = Color.FromArgb(188, 52, 52);
/// <summary>
/// 工具栏选中背景颜色
/// </summary>
public static Color ToolBarSelectedColor { get; set; } = Color.SkyBlue;
public static void SaveCloseBtnSkin()
{
if (FormSkin.CloseBoxColor == null) { FormSkin.CloseBoxColor = new ButtonColorTable(); }
@ -108,6 +124,7 @@ namespace RySkins
skin.CaptionBackColorBottom = GetColor("CaptionBackColorBottom", skin.CaptionBackColorBottom);
skin.CaptionTextColor = GetColor("CaptionTextColor", skin.CaptionTextColor);
skin.IconLeftMargin = GetInt("IconLeftMargin", skin.IconLeftMargin);
IconColor = GetColor("IconColor", IconColor);
var icon_size = GetInt("IconSize", skin.IconSize.Width);
skin.IconSize = new Size(icon_size, icon_size);
skin.CaptionHeight = GetInt("CaptionHeight", skin.CaptionHeight);
@ -136,9 +153,19 @@ namespace RySkins
skin.Mdi_TabActiveBackColorTop = GetColor("TabActiveBackColorTop", skin.Mdi_TabActiveBackColorTop);
skin.Mdi_TabActiveBackColorBottom = GetColor("TabActiveBackColorBottom", skin.Mdi_TabActiveBackColorBottom);
skin.Mdi_TabDeactiveBackColorTop = GetColor("TabDeactiveBackColorTop", skin.Mdi_TabDeactiveBackColorTop);
skin.Mdi_TabDeactiveBackColorBottom = GetColor("TabDeactiveBackColorBottom", skin.Mdi_TabDeactiveBackColorBottom);
SkinSetting.TabMoveColorStart = GetColor("TabMoveColorStart", SkinSetting.TabMoveColorStart);
SkinSetting.TabMoveColorEnd = GetColor("TabMoveColorEnd", SkinSetting.TabMoveColorEnd);
skin.Mdi_TabDeactiveBackColorBottom = GetColor("TabDeactiveBackColorBottom", skin.Mdi_TabDeactiveBackColorBottom);
skin.Mdi_TabHeight = GetInt("TabHeight", 26);
skin.Mdi_TabAndTabSpace = GetInt("TabAndTabSpace", 2);
skin.TabRadius = GetInt("TabRadius", 8);
DrawTabBorder = GetBool("DrawTabBorder", DrawTabBorder);
TabMoveColorStart = GetColor("TabMoveColorStart", SkinSetting.TabMoveColorStart);
TabMoveColorEnd = GetColor("TabMoveColorEnd", SkinSetting.TabMoveColorEnd);
AllTabBackColor = GetColor("AllTabBackColor", SystemColors.Control);
SkinCommon.ButtonSkin.BackColor = GetColor("ButtonDefColor", SkinCommon.ButtonSkin.BackColor);
SkinCommon.ButtonSkin.ForeColor = GetColor("ButtonDefForeColor", SkinCommon.ButtonSkin.ForeColor);
SkinCommon.ButtonSkin.ColorGradient= GetBool("ButtonColorGradient", SkinCommon.ButtonSkin.ColorGradient);
SvgColor = GetColor("SvgColor", SvgColor);
ToolBarSelectedColor = GetColor("ToolBarSelectedColor", ToolBarSelectedColor);
string GetJItem(string id)
{
var item = jo[id];

View File

@ -72,6 +72,7 @@
this.Controls.Add(this.LblState);
this.Controls.Add(this.pictureBox1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "Frmmain";

View File

@ -333,6 +333,8 @@ namespace rycUpdate
bigFileOp.DelFileOrFolder(UnZipFolder);
}
ShowState("正在解包升级文件...");
int error_id = 1000;
string error_msg = "";
try
{
var ZipArchive = ZipFile.OpenRead(UpdateZipPath);
@ -346,16 +348,22 @@ namespace rycUpdate
var entry = ZipArchive.Entries[i];
if (!System.IO.Directory.Exists(System.IO.Path.GetDirectoryName(UnZipFolder + "\\" + entry.FullName.Replace("/", "\\"))))
{
error_id = 1001;
error_msg = System.IO.Path.GetDirectoryName(UnZipFolder + "\\" + entry.FullName.Replace("/", "\\"));
System.IO.Directory.CreateDirectory(System.IO.Path.GetDirectoryName(UnZipFolder + "\\" + entry.FullName.Replace("/", "\\")));
}
if (entry.FullName.EndsWith("/"))
{
if (!System.IO.Directory.Exists(UnZipFolder + "\\" + entry.FullName.Replace("/", "\\")))
{
error_id = 1002;
error_msg = System.IO.Path.GetDirectoryName(UnZipFolder + "\\" + entry.FullName.Replace("/", "\\"));
System.IO.Directory.CreateDirectory(UnZipFolder + "\\" + entry.FullName.Replace("/", "\\"));
}
continue;
}
error_id = 1003;
error_msg = System.IO.Path.GetDirectoryName(UnZipFolder + "\\" + entry.FullName.Replace("/", "\\"));
entry.ExtractToFile(UnZipFolder + "\\" + entry.FullName.Replace("/", "\\"), true);
this.Invoke(new Action(() =>
{
@ -373,7 +381,7 @@ namespace rycUpdate
catch(Exception ex) {
this.Invoke(new Action(() =>
{
MessageBox.Show("升级包校验出错,升级中断=>"+ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
MessageBox.Show("升级包校验出错,升级中断["+error_id+"]=>"+ex.Message+"\r\n"+error_msg, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
RunFile(Application.StartupPath + "\\" + MainProcName, MainProcPram, null);
CloseApp();
}));

View File

@ -2003,44 +2003,11 @@
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAMDAAAAAAIADDCAAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAwAAAAMAgGAAAAVwL5hwAAAARn
QU1BAACxjwv8YQUAAAh6SURBVGhD5VlbUxzVFs5P8d2/4IP/wRcffTivTPcMc2MYZEASk5OcSogywyVA
UMNBSYIeyRBIzEAwRNFoeUGsJBowUuhUTlASioqKy/Xt3qtnT8+eYQbwnCpdVV9Bde/d/X17XfZePYf+
9ua6uacYz4ZCufampmwBCIWyVELPBuA42TuMT10362KOnv7/MyFcRjY29CTUOrrpHM2T0z1LzrF86Z5j
jPOwzvOP/s/FgLhPIjq4BaLua0vkTD4gZ2qD3OlNcq9uUfTKJqUm19W4jsExevXjGTo6fpEyfaMUSfSX
hDjZX9kzf74QveIreKkTG34S7lsk9zITZrLu+1SBxE2i+JmPFMnTC5dpcPU69d8uUO/SNSXm5Gye2rrf
KHlGC9GvO1jzQ4VDJNq/SOnZLWr7kBRiC5XkgwKG7s+XQYn5uuALSR0f8T3iOLnCgXkjFOp7hslvqwd3
vU2t76xS1+IOdSwSvcgQESAbFJD6gCjafc0qQAAh2c+u+kLimUFPhJu7v28RHDLPy6qE4wP+CrW9uUwv
3yLq+rhcRNAT9QgQWL3BIbVnEVh5Idz1+riKW8Rxc/qMutaRX/NFiIA0E96rAEBEAO25UTXPcbOP9yTC
q90eebhYXgIhEBFOvUZdc5tKBMJJRIRvlAtIjC4rIphnkq0GCacyEU7254ZE8KR7mNh2+g3q+eRKxUuO
vHmhqhfMMEpyXqTeXVNjMSf4HBuQEyIAkJzgPJzQ9Gobr3wUE5pTA+oBA3dnK16CUMKY1sFFJQAQAWYy
QwCuuS2vK6/txQvIiUhK9oy+ZzTN6iYV5xRPrPXCSMsAJU5d8QVIMpsC4A1cQykNp0aUCIjv+fSKWhis
tvlM2SfgdREgIsDJDffe0zTtJquP0MFE8+FBJA8PU6zrfE0BABIb1xFKEOGtpIcIexnPwS6NBTNJByGh
hMqo6VYaD3jE9VdNwErYiANYvTTvoG7yrC8AJIFgKYUguSdC4BFUpzDvKy4XAxGU6DpLxyffqSAPiBcY
65puuQVXP+heEyIA41GJjhhJHDWqkAC5IJ6wAaKUoJaz6pnwStAjuKYEhPt+1pTLDcdcDMAK7JZsEHBk
7LxVgFlGg4A4AF6CZwCU2vTCDqWmHyg0/2vaFwKPYKEiLd7e05xbUH+5pD6raZdM3WjuVWprhQ8A74iA
jkvfl5XRWgJqIVrYppZ8kVJTRUpeXKHoK3zCzYyrMG3+Z56S55YoeWFFvROHSk3bMwmfFt7CdwsfAPfh
KcxJn/ui6j7QKMLzO5Sc2VAibGieLFKofZzDqP8HTd0zDp8pkMGqQoCNdBAodXBt4uSMCiGpQoj1vXpB
4foORd/botilIsUZ+Btl4u67HtB7gKum7pkZ/7ad1wZsNkisaOdbqgoFD3bBctowWIjqMzRxH9w4gWtZ
HvAFdXTA6pvnnlrAwQv1G/M6r/5XiTA9ISL25Q0gKGLckgd84ZEb8RK4XgGoRJIHyZ45fz8A9uMJZ+AW
hU7NlXCSQ+YYH10Y7plPlAjn/Gr5XgASUoHqFYBExnjZDzqnf/QFBD1RrxdCbfBoT01EXrqoem9N3TN4
ACRAqN4cACAWGw7ORW5i2A8loPOjkgDUehvhIEDw8OExunv3oRW450aHKgXwAW4dAmT3g4jdSikgDQhC
SUR0FX6yemHX8pp/qASMjMzRxgZZcfr0pBqDrx6aumdMXiWxuX1DBOLcRlwgYVRNhNno7OoFLWB4eI6K
RbKiu1sLuPzTfU3dMyY/DwEgIYREhI24CYSRjJeqlOq9oQS8xF4QAUDNXGhAQHhm84am7pnj5Ibx4kz/
v8sEALt5wexjAfOQBxGmgJph1IgHZh6Nauqeod/ES2N85jbJALsK4HOTOV68IGFUVx6g1o99U7+Awi//
0NRLxjdUEx88xmKFbcQFOLma4yEAB7DDHzypEGDdE/AZEhtUAwI05XLD1zAICOZBLQHwjjnW39henVUC
zGM2YOsV/B12vwLkI1aU+1aTVLXeIEgensN8rH7nTJH3hAeUubZBbTd3fAEV5N/bPjgBMNXQO1k6kf+P
TyxYiVA6g4kL8tIxtY0teQIYbZeLlL6+rchbw+egBYgXcKwI7gnwhFkyBRI2QfKZae8MD/LBL3Y+Jta8
8w1DnXeY3MTELSt5AOIwhsP9OROavmdM5F7Iyf0OQiAXTGqTuKw6wsYk38HkW7H6+gu2LfbVoY3JmEjw
JvjVVw+t5AHcC84BNHXPpKSyCL7prSyIorqg4UGdb24p/TiBhBXigjSTR39bjbyCDplM5hxNTX1Js7N3
raSDgIhC4TZduvQ5xeND6hmaesmamnpeADknPcpHA6/BNhE/zjFvIY6VV+Q5dFrnn1Qnz80KfskJHZtS
BHp7Z+j27U0r4SDW13doeXlDzfE80NunaZcbGgaQRXMNYgiRzNsrFaQFL2riAFrBIGHpsHCSNBM3kj5H
sdiQWtFvv92ykjZx584jNdYjn13SdCvNCyVPRJxF2Ei3Q5gmDtKqd9X9q/q9zCRbDSzCjQ5SjMNhYWGF
Vle3rcSBusmLmSIcDqXEhRVK5IsKQthsuPcMnQ+IaYSHTQSuQSDGcbl/oCnWZyIilBhRTbWVxD7hdHsl
EkmNfFhb+9Unj/8hDPcwpqJ01mPKG07ueyUkfvbAhaiQOzb9GARPnJhQIpCwB0JezAwpFVb4MRs/tVoI
7YrxFe+HcMyfefydO0/qMwk/fwBEpTLVVXEataAQhJYvBp4JeofJKvB19WEKX9dkbnJkWT9WWTjc/3Qk
0ncnFjvzGxK2oaRt1CBE7Rnh/ps+oXoQ7uMePNfO8ys/0rJBhOv2bsRig3wi+JPI20wEeRthrp3jlTs9
eAq/8Pe8UI2wzSCiqSk3zBjUl/6qdujQH4c5rxGlM9sgAAAAAElFTkSuQmCC
AAABAAEAICAAAAAAIAD+AAAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAgAAAAIAgGAAAAc3p69AAAAARn
QU1BAACxjwv8YQUAAAC1SURBVFhHY2AYBZSAgt0ODEV7E9CF6QNAlhfu+Q/GBXvr0aVpC5Atp7sjsFlO
N0fgs5zmjiDGcpo5ghTLqe4IciynmiMosZxiR1DDchgmyxGFe+5jGEQJLtivgG4FYQDSBMckhAjIxyh6
ybEcHYAMQbcIF6ZJ/TDqgFEHjDpgwB0AAsSVjvepU/CMgpEJ5j93YJj/KoHmGCsASSx4+Z8ueOFLLA2U
+c8VGBa82k8XDArpUQAFABTPwo0deQu3AAAAAElFTkSuQmCC
</value>
</data>
</root>

View File

@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// 生成号
// 修订号
//
[assembly: AssemblyVersion("1.0.2408.1001")]
[assembly: AssemblyFileVersion("1.0.2408.1001")]
[assembly: AssemblyVersion("1.0.2506.0401")]
[assembly: AssemblyFileVersion("1.0.2506.0401")]

View File

@ -16,7 +16,7 @@
如果你的应用程序需要此虚拟化来实现向后兼容性,则移除此
元素。
-->
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>

Binary file not shown.

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
</startup>
</configuration>