diff --git a/Bin/Debug/MyTimeClock/MyDb.dll b/Bin/Debug/MyTimeClock/MyDb.dll index 880cd07..c236c46 100644 Binary files a/Bin/Debug/MyTimeClock/MyDb.dll and b/Bin/Debug/MyTimeClock/MyDb.dll differ diff --git a/Bin/Debug/MyTimeClock/MyDb.xml b/Bin/Debug/MyTimeClock/MyDb.xml index 9f40653..e0a7c91 100644 --- a/Bin/Debug/MyTimeClock/MyDb.xml +++ b/Bin/Debug/MyTimeClock/MyDb.xml @@ -641,6 +641,14 @@ 属性值 如为1,表示加载成功,为0为失败 + + + 设置节点值 + + 属性名 + 属性值 + 如为1,表示加载成功,为0为失败 + 设置节点值 @@ -667,7 +675,7 @@ - 读取指定节点的值 + 读取指定节点的值(string) @@ -736,7 +744,7 @@ - 读取指定节点的值 + 读取指定节点的值(string) @@ -744,7 +752,7 @@ - 读取指定节点的值 + 读取指定节点的值(int) @@ -752,7 +760,7 @@ - 读取指定节点的值 + 读取指定节点的值(decimal) @@ -965,6 +973,13 @@ + + + 判断字符串是否只包含数字 + + + + 判断字符串是否匹配,支持?*通配符 @@ -1125,6 +1140,13 @@ + + + 判断字符串是否是数字(不同于IsInt,本函数是判断字符串是否只含有数字,对字符串长度没有限制) + + + + 是否在指定范围内 @@ -1168,6 +1190,20 @@ + + + 将数字转换成字符串,小数点末尾后面不包含0 + + + + + + + 将数字转换成字符串,小数点末尾后面不包含0 + + + + 将指定类型转换成整型 @@ -1177,12 +1213,33 @@ - 将指定类型转换成长整型 + 将指定类型转换成长整型,如果时间时间类型,则转换为Unix时间戳 + + + 转换为Unix时间戳 + + + + + + + 转换为Js时间戳 + + + + + + + 转换为Unix时间戳 + + + + 将指定类型转换成长整型 @@ -1205,23 +1262,61 @@ + + + 判断时间是否在指定时间上 + + + + + + + + + 判断时间是否在指定时间上 + + + + + + + + + + 判断时间是否在指定日期 + + + + + + + + + 判断时间是否在指定日期 + + + + + + + - 转换DateTime类型到日期时间字符串 + 转换DateTime类型到日期时间字符串(例如 2000-01-01 08:08:08) - 转换DateTime类型到日期字符串 + 转换DateTime类型到日期字符串(例如 2000-01-01) - 转换DateTime类型到日期星期字符串 + 转换DateTime类型到日期星期字符串(例如 2000-01-01 星期六) @@ -1392,6 +1487,68 @@ + + + 根据表单字段名,获取对应的值 + + + + + + + + + 根据表单字段名,获取对应的值 + + + + + + + + 根据表单字段名,获取对应的值 + + + + + + + + + 根据表单字段名,获取对应的值 + + + + + + + + + 根据表单字段名,获取对应的值 + + + + + + + + + 根据表单字段名,获取对应的值 + + + + + + + + + 根据表单字段名,获取对应的值 + + + + + + 文件信息 @@ -1409,6 +1566,32 @@ + + + 根据版本字符串输出double类型的版本号 + + + + + + + + 比较两个版本号大小 + + + + oldVer小于newVer,返回1,大于则返回-1,相等返回0 + + + + 比较版本号 + + + + + + old小于new,返回1,大于则返回-1,相等返回0 + 判断是否是管理员方式运行 @@ -1783,6 +1966,22 @@ 返回错误信息 返回移动操作是否成功的标识,成功返回0,失败返回错误代码,-200:表示其他异常 + + + 大文件多次复制文件 true:复制成功 false:复制失败 + + 原始文件路径 + 复制目标文件路径 + + + + + 复制文件夹到目标文件夹 + + 源文件夹 + 目标文件夹 + 返回移动操作是否成功的标识,成功返回0,负数表示复制失败的文件数量。1表示源文件夹不存在 + 重命名一个文件为新名称,建议您使用更方便的Microsoft.VisualBasic.FileSystem.ReName();替换该方法 @@ -1924,6 +2123,14 @@ + + + 读取文件内容,可以自动识别文件编码 + + + + + 读取文件所有行,可以自动识别文件编码 @@ -1931,6 +2138,14 @@ + + + 读取文件所有行,可以自动识别文件编码 + + + + + 写入所有文本行到文件,如果文件夹不存在,会自动创建 @@ -2028,6 +2243,20 @@ + + + 保存高质量不失真照片 + + + + + + + 保存高质量不失真照片 + + + + 获取绝对路径 @@ -2453,6 +2682,209 @@ 父窗体居中 + + + 运行库检测类 + + + + + 获取产品状态 + + + + + + + 判断是否已安装VC运行库 + + + + + + 判断是否已安装VC运行库 + + + + + + 安装状态 + + + + + 组件禁用 + + + + + 配置数据已损坏 + + + + + 安装已暂停或正在进行 + + + + + 从源运行,源不可用 + + + + + 返回缓冲区溢出 + + + + + 无效的参数传递给该函数。 + + + + + 不公布或者未安装该产品。 + + + + + 损坏 + + + + + 该产品已公布但尚未安装。 + + + + + 正在移除的组件(操作状态,不可设置) + + + + + 不同的用户安装该产品。 + + + + + 安装在本地驱动器上 + + + + + 从源代码、CD或网络运行 + + + + + 为当前用户安装该产品。 + + + + + 安装的版本,是x86还是x64,还是全部安装了 + + + + + 判断32位和64位运行库是否已安装 + + + + + 判断32位运行库是否已安装 + + + + + 判断64位运行库是否已安装 + + + + + 判断是否已安装VC2005运行库 + + + + + + 判断是否已安装VC2005SP1运行库 + + + + + + 判断是否已安装VC2008运行库 + + + + + + 判断是否已安装VC2008SP1运行库 + + + + + + 判断是否已安装VC2010运行库 + + + + + + 判断是否已安装VC2010SP1运行库 + + + + + + 判断是否已安装VC2012运行库 + + + + + + 判断是否已安装VC2013运行库 + + + + + + 判断是否已安装VC2015或以上运行库 + + + + + + 判断是否已安装VC2017运行库或以上运行库 + + + + + + 判断是否已安装VC2019运行库或以上运行库 + + + + + + 判断是否已安装VC2022运行库或以上运行库 + + + + + + 判断当前系统是否安装了WebView2组件 + + + + + + 判断当前系统是否安装了.NET 4.8 + + + 日期时间的操作类 @@ -2550,6 +2982,13 @@ 是否显示秒 + + + 将秒数显示成中文表达式 + + + + 计算一个时间与当前本地日期和时间的时间间隔,返回的是时间间隔的日期差的绝对值. @@ -2743,6 +3182,22 @@ + + + 将窗体植入到容器控件中 + + + 作为窗体容器的控件 + + + + + 重新调整窗体大小以适配容器大小 + + + 作为窗体容器的控件 + + 设置注册表操作,部分功能需要管理员权限 @@ -2758,6 +3213,15 @@ 访问的注册表节点 + + + 判断注册表项是否存在 + + + + + + 设置是否开机启动 @@ -2999,7 +3463,7 @@ - 获取系统 + 获取系统名称,注意需要在app.manifest文件中设置兼容win10 @@ -3059,124 +3523,60 @@ 是否截取鼠标指针 - - - 给控件增加拖放功能的类 - - - - - 拖放实例 - - - - - 高级拖放事件 - - - + - + - + 根据XPath来获取属性值 - - - - - - - - - 使管理员方式运行时支持拖放 - - - - - - 使支持拖放属性 - - - - - - - - + + + 属性名,为空则输出InnerText,-1则输出InnerHtml,-2则输出OuterHtml + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 网络操作类 - - - - - 通过NetworkInterface读取网卡Mac + 根据当前节点生成HtmlDocument + - + - 通过NetworkInterface读取网卡Mac + 根据XPath来获取属性值 + + + 属性名,为空则输出InnerText,-1则输出InnerHtml,-2则输出OuterHtml + - + - 根据mac字符串来获取最终的mac地址,可以是各种MAC地址格式,非法的内容将返回null + 根据XPath来查找节点 - + + - + - 远程唤醒 + 在当前节点下根据xpath来查找符合的第一个节点 - - + + - + - 远程唤醒 + 在当前节点下根据xpath来查找所有符合的节点 - - - + + @@ -6267,6 +6667,126 @@ Gets the fragment text. + + + 给控件增加拖放功能的类 + + + + + 拖放实例 + + + + + 高级拖放事件 + + + + + + + + + + + + + + + + + + + + 使管理员方式运行时支持拖放 + + + + + + 使支持拖放属性 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 网络操作类 + + + + + 通过NetworkInterface读取网卡Mac + + + + + + 通过NetworkInterface读取网卡Mac + + + + + + 根据mac字符串来获取最终的mac地址,可以是各种MAC地址格式,非法的内容将返回null + + + + + + + 远程唤醒 + + + + + + + + 远程唤醒 + + + + + + 消息客户端类 @@ -6373,6 +6893,31 @@ 发送消息 + + + 读共享内存 + + + + + + + + 读共享内存 + + + + + + + + 读共享内存 + + + + + + 读共享内存 @@ -6871,6 +7416,30 @@ + + + 执行SQL语句 + + + 只针对IsAdd为false才生效,where 以后的sql语句 + 是新增还是更新 + + + + + 插入数据库 + + + + + + + 更新数据库 + + + where 以后的sql语句 + + 执行SQL语句 @@ -7193,6 +7762,30 @@ + + + 执行SQL语句 + + + 只针对IsAdd为false才生效,where 以后的sql语句 + 是新增还是更新 + + + + + 插入数据库 + + + + + + + 更新数据库 + + + where 以后的sql语句 + + @@ -7365,6 +7958,13 @@ + + + 添加byte[]字段 + + + + 添加bool字段 @@ -7961,11 +8561,136 @@ CookieCollection格式的Cookie集合同时也返回String类型的cookie + + + Http服务器类 + + + + + + + + + + + + 当收到Get事件时激发 + + + + + 当收到Post事件时激发 + + + + + 监听的主机,默认是localhost + + + + + 最后一次错误信息 + + + + + 在此端口建立Http服务类 + + 端口号 + + + + + + + + + + 开始服务 + + + + + 退出服务 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 超时时间 + 以post方式获取网页源码 @@ -8017,6 +8742,19 @@ + + + 获取网址对应的文件大小 + + + + + + + + 代理 + + @@ -8178,6 +8916,24 @@ + + + 将url里的字段分解成表单字典 + + + + + + + + + 根据表单字段名获取值 + + + + + + AES加密解密类 @@ -9081,11 +9837,31 @@ Ctrl键 + + + Alt+Ctrl键 + + Shift键 + + + Shift+Alt键 + + + + + Shift+Ctrl键 + + + + + Alt+Shift+Ctrl键 + + Win键 @@ -9117,6 +9893,50 @@ 释放热键 + + + 获取热键Tag + + + + + + + 获取热键id + + + + + + + 获取热键id + + + + + + + + 判断热键id是否存在 + + + + + + + 判断热键Tag是否存在 + + + + + + + 判断热键是否存在 + + + + + 注册热键 @@ -9135,6 +9955,21 @@ + + + 注册热键 + + + + + + + + + + 获取热键数量 + + 删除热键 @@ -9147,6 +9982,11 @@ 删除所有热键 + + + 删除所有热键 + + 热键事件 @@ -9175,6 +10015,11 @@ 热键id + + + 热键Tag + + 功能键 @@ -9193,6 +10038,20 @@ + + + 热键类型 + + + + + + + + + 热键类型 + + diff --git a/Bin/Debug/MyTimeClock/MyDb_SQLite.dll b/Bin/Debug/MyTimeClock/MyDb_SQLite.dll index 7e5007e..576549a 100644 Binary files a/Bin/Debug/MyTimeClock/MyDb_SQLite.dll and b/Bin/Debug/MyTimeClock/MyDb_SQLite.dll differ diff --git a/Bin/Debug/MyTimeClock/MyDb_SQLite.xml b/Bin/Debug/MyTimeClock/MyDb_SQLite.xml index 70ccea6..2fe5ccb 100644 --- a/Bin/Debug/MyTimeClock/MyDb_SQLite.xml +++ b/Bin/Debug/MyTimeClock/MyDb_SQLite.xml @@ -358,6 +358,30 @@ + + + 执行SQL语句 + + + 只针对IsAdd为false才生效,where 以后的sql语句 + 是新增还是更新 + + + + + 插入数据库 + + + + + + + 更新数据库 + + + where 以后的sql语句 + + diff --git a/Bin/Debug/MyTimeClock/MyTimeClock.exe b/Bin/Debug/MyTimeClock/MyTimeClock.exe index 10a1c0b..e3191bd 100644 Binary files a/Bin/Debug/MyTimeClock/MyTimeClock.exe and b/Bin/Debug/MyTimeClock/MyTimeClock.exe differ diff --git a/Bin/Debug/MyTimeClock/TimeClock.dll b/Bin/Debug/MyTimeClock/TimeClock.dll index 004d1f4..fb54b83 100644 Binary files a/Bin/Debug/MyTimeClock/TimeClock.dll and b/Bin/Debug/MyTimeClock/TimeClock.dll differ diff --git a/Bin/Debug/MyTimeClock/UserDb/TimeTip.dat b/Bin/Debug/MyTimeClock/UserDb/TimeTip.dat index 6a08778..f0778a7 100644 Binary files a/Bin/Debug/MyTimeClock/UserDb/TimeTip.dat and b/Bin/Debug/MyTimeClock/UserDb/TimeTip.dat differ diff --git a/Bin/Debug/MyTimeClock/UserDb/Win.dat b/Bin/Debug/MyTimeClock/UserDb/Win.dat index 3d557f7..a8dfe6f 100644 --- a/Bin/Debug/MyTimeClock/UserDb/Win.dat +++ b/Bin/Debug/MyTimeClock/UserDb/Win.dat @@ -1,2 +1,2 @@ [TimeClock] -hwnd=2563002 +hwnd=1195326 diff --git a/Bin/Debug/MyTimeClock/XPTable.dll b/Bin/Debug/MyTimeClock/XPTable.dll index 4ac2f2e..c502d92 100644 Binary files a/Bin/Debug/MyTimeClock/XPTable.dll and b/Bin/Debug/MyTimeClock/XPTable.dll differ diff --git a/Bin/Debug/MyTimeClock/cUpdate.dat b/Bin/Debug/MyTimeClock/cUpdate.dat index 0674bae..650d75b 100644 --- a/Bin/Debug/MyTimeClock/cUpdate.dat +++ b/Bin/Debug/MyTimeClock/cUpdate.dat @@ -1,3 +1,3 @@ - + \ No newline at end of file diff --git a/Bin/Debug/MyTimeClock/ryControls.dll b/Bin/Debug/MyTimeClock/ryControls.dll index 7cc7bed..58e6ef2 100644 Binary files a/Bin/Debug/MyTimeClock/ryControls.dll and b/Bin/Debug/MyTimeClock/ryControls.dll differ diff --git a/Bin/Debug/MyTimeClock/ryControls.xml b/Bin/Debug/MyTimeClock/ryControls.xml index 30d3a0a..ff15c84 100644 --- a/Bin/Debug/MyTimeClock/ryControls.xml +++ b/Bin/Debug/MyTimeClock/ryControls.xml @@ -4,6 +4,830 @@ ryControls + + + Martin Lottering : 2007-10-27 + -------------------------------- + This is a usefull control in Filters. Allows you to save space and can replace a Grouped Box of CheckBoxes. + Currently used on the TasksFilter for TaskStatusses, which means the user can select which Statusses to include + in the "Search". + This control does not implement a CheckBoxListBox, instead it adds a wrapper for the normal ComboBox and Items. + See the CheckBoxItems property. + ---------------- + ALSO IMPORTANT: In Data Binding when setting the DataSource. The ValueMember must be a bool type property, because it will + be binded to the Checked property of the displayed CheckBox. Also see the DisplayMemberSingleItem for more information. + ---------------- + Extends the CodeProject PopupComboBox "Simple pop-up control" "http://www.codeproject.com/cs/miscctrl/simplepopup.asp" + by Lukasz Swiatkowski. + + + + + + + + + + The checkbox list control. The public CheckBoxItems property provides a direct reference to its Items. + + + + + In DataBinding operations, this property will be used as the DisplayMember in the CheckBoxComboBoxListBox. + The normal/existing "DisplayMember" property is used by the TextBox of the ComboBox to display + a concatenated Text of the items selected. This concatenation and its formatting however is controlled + by the Binded object, since it owns that property. + + + + + Builds a CSV string of the items selected. + + + + + A direct reference to the Items of CheckBoxComboBoxListControl. + You can use it to Get or Set the Checked status of items manually if you want. + But do not manipulate the List itself directly, e.g. Adding and Removing, + since the list is synchronised when shown with the ComboBox.Items. So for changing + the list contents, use Items instead. + + + + + The DataSource of the combobox. Refreshes the CheckBox wrappers when this is set. + + + + + The ValueMember of the combobox. Refreshes the CheckBox wrappers when this is set. + + + + + In DataBinding operations, this property will be used as the DisplayMember in the CheckBoxComboBoxListBox. + The normal/existing "DisplayMember" property is used by the TextBox of the ComboBox to display + a concatenated Text of the items selected. This concatenation however is controlled by the Binded + object, since it owns that property. + + + + + Made this property Browsable again, since the Base Popup hides it. This class uses it again. + Gets an object representing the collection of the items contained in this + System.Windows.Forms.ComboBox. + + A System.Windows.Forms.ComboBox.ObjectCollection representing the items in + the System.Windows.Forms.ComboBox. + + + + + + + + + + + + + + + + + Will add an invisible item when the style is DropDownList, + to help maintain the correct text in main TextBox. + + + + + + + + + + + + A function to clear/reset the list. + (Ubiklou : http://www.codeproject.com/KB/combobox/extending_combobox.aspx?msg=2526813#xx2526813xx) + + + + + Uncheck all items. + + + + + The properties that will be assigned to the checkboxes as default values. + + + + + + + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + A container control for the ListControl to ensure the ScrollBar on the ListControl does not + Paint over the Size grip. Setting the Padding or Margin on the Popup or host control does + not work as I expected. + + + + + + + + + + Prescribed by the Popup class to ensure Resize operations work correctly. + + + + + + This ListControl that pops up to the User. It contains the CheckBoxComboBoxItems. + The items are docked DockStyle.Top in this control. + + + + + + + + + + + Simply a reference to the CheckBoxComboBox. + + + + + A Typed list of ComboBoxCheckBoxItems. + + + + + + + + + + Prescribed by the Popup control to enable Resize operations. + + + + + + + + + + + + Maintains the controls displayed in the list by keeping them in sync with the actual + items in the combobox. (e.g. removing and adding as well as ordering) + + + + + The CheckBox items displayed in the Popup of the ComboBox. + + + + + + + A reference to the CheckBoxComboBox. + A reference to the item in the ComboBox.Items that this object is extending. + + + + A reference to the CheckBoxComboBox. + + + + + A reference to the Item in ComboBox.Items that this object is extending. + + + + + A reference to the Item in ComboBox.Items that this object is extending. + + + + + When using Data Binding operations via the DataSource property of the ComboBox. This + adds the required Bindings for the CheckBoxes. + + + + + + + + + + + Added this handler because the control doesn't seem + to initialize correctly until shown for the first + time, which also means the summary text value + of the combo is out of sync initially. + + + + + A Typed List of the CheckBox items. + Simply a wrapper for the CheckBoxComboBox.Items. A list of CheckBoxComboBoxItem objects. + This List is automatically synchronised with the Items of the ComboBox and extended to + handle the additional boolean value. That said, do not Add or Remove using this List, + it will be lost or regenerated from the ComboBox.Items. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns the item with the specified displayName or Text. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Called when any property changes. + + + + + + + + + + CodeProject.com "Simple pop-up control" "http://www.codeproject.com/cs/miscctrl/simplepopup.asp". + + + + + CodeProject.com "Simple pop-up control" "http://www.codeproject.com/cs/miscctrl/simplepopup.asp". + + + + + CodeProject.com Simple pop-up control http://www.codeproject.com/cs/miscctrl/simplepopup.asp. + Represents a pop-up window. + + + + + Gets the content of the pop-up. + + + + + Gets a value indicating whether the PopupControl.Popup uses the fade effect. + + true if pop-up uses the fade effect; otherwise, false. + To use the fade effect, the FocusOnOpen property also has to be set to true. + + + + Gets or sets a value indicating whether to focus the content after the pop-up has been opened. + + true if the content should be focused after the pop-up has been opened; otherwise, false. + If the FocusOnOpen property is set to false, then pop-up cannot use the fade effect. + + + + Gets or sets a value indicating whether presing the alt key should close the pop-up. + + true if presing the alt key does not close the pop-up; otherwise, false. + + + + Gets or sets a value indicating whether this PopupControl.Popup is resizable. + + true if resizable; otherwise, false. + + + + Gets or sets the size that is the lower limit that can specify. + + An ordered pair of type representing the width and height of a rectangle. + + + + Gets or sets the size that is the upper limit that can specify. + + An ordered pair of type representing the width and height of a rectangle. + + + + Gets parameters of a new window. + + An object of type used when creating a new window. + + + + Initializes a new instance of the PopupControl.Popup class. + + The content of the pop-up. + + Pop-up will be disposed immediately after disposion of the content control. + + is null. + + + + Processes a dialog box key. + + One of the values that represents the key to process. + + true if the key was processed by the control; otherwise, false. + + + + + Updates the pop-up region. + + + + + Shows pop-up window below the specified control. + + The control below which the pop-up will be shown. + + When there is no space below the specified control, the pop-up control is shown above it. + + is null. + + + + Shows pop-up window below the specified area of specified control. + + The control used to compute screen location of specified area. + The area of control below which the pop-up will be shown. + + When there is no space below specified area, the pop-up control is shown above it. + + is null. + + + + Adjusts the size of the owner to accommodate the if the owner is currently displayed, or clears and resets active child controls of the if the is not currently displayed. + + true if the owner is currently displayed; otherwise, false. + + + + Raises the event. + + An that contains the event data. + + + + Raises the event. + + A that contains the event data. + + + + Raises the event. + + An that contains the event data. + + + + + + + + + + + + + + + + + + + + + Processes Windows messages. + + The Windows to process. + + + + Processes the resizing messages. + + The message. + true, if the WndProc method from the base class shouldn't be invoked. + + + + Paints the size grip. + + The instance containing the event data. + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + CodeProject.com "Simple pop-up control" "http://www.codeproject.com/cs/miscctrl/simplepopup.asp". + Represents a Windows combo box control with a custom popup control attached. + + + + + Initializes a new instance of the PopupControl.PopupComboBox class. + + + + + The pop-up wrapper for the dropDownControl. + Made PROTECTED instead of PRIVATE so descendent classes can set its Resizable property. + Note however the pop-up properties must be set after the dropDownControl is assigned, since this + popup wrapper is recreated when the dropDownControl is assigned. + + + + + Gets or sets the drop down control. + + The drop down control. + + + + Shows the drop down. + + + + + Hides the drop down. + + + + + Processes Windows messages. + + The Windows to process. + + + This property is not relevant for this class. + This property is not relevant for this class. + + + This property is not relevant for this class. + This property is not relevant for this class. + + + This property is not relevant for this class. + This property is not relevant for this class. + + + This property is not relevant for this class. + This property is not relevant for this class. + + + This property is not relevant for this class. + This property is not relevant for this class. + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Maintains an additional "Selected" and "Count" value for each item in a List. + Useful in the CheckBoxComboBox. It holds a reference to the List[Index] Item and + whether it is selected or not. + It also caters for a Count, if needed. + + + + + No property on the object is specified for display purposes, so simple ToString() operation + will be performed. And no Counts will be displayed + + + + + No property on the object is specified for display purposes, so simple ToString() operation + will be performed. + + + + + A Display "Name" property is specified. ToString() will not be performed on items. + This is specifically useful on DataTable implementations, or where PropertyDescriptors are used to read the values. + If a PropertyDescriptor is not found, a Property will be used. + + + + + A Display "Name" property is specified. ToString() will not be performed on items. + This is specifically useful on DataTable implementations, or where PropertyDescriptors are used to read the values. + If a PropertyDescriptor is not found, a Property will be used. + + + + + Is a Count indicator used. + + + + + The original List of values wrapped. A "Selected" and possibly "Count" functionality is added. + + + + + Used to indicate NOT to use ToString(), but read this property instead as a display value. + + + + + When specified, indicates that ToString() should not be performed on the items. + This property will be read instead. + This is specifically useful on DataTable implementations, where PropertyDescriptors are used to read the values. + + + + + Builds a concatenation list of selected items in the list. + + + + + Indicates whether the Item display value (Name) should include a count. + + + + + Reset all counts to zero. + + + + + Creates a ObjectSelectionWrapper item. + Note that the constructor signature of sub classes classes are important. + + + + + + + + + + + + + + Used together with the ListSelectionWrapper in order to wrap data sources for a CheckBoxComboBox. + It helps to ensure you don't add an extra "Selected" property to a class that don't really need or want that information. + + + + + + + + + + + + Used as a count indicator for the item. Not necessarily displayed. + + + + + Is this item selected. + + + + + A reference to the wrapped item. + + + + + The containing list for these selections. + + + + + An indicator of how many items with the specified status is available for the current filter level. + Thaught this would make the app a bit more user-friendly and help not to miss items in Statusses + that are not often used. + + + + + A reference to the item wrapped. + + + + + The item display value. If ShowCount is true, it displays the "Name [Count]". + + + + + The textbox display value. The names concatenated. + + + + + Indicates whether the item is selected. + + + + + + + + + + + + + 控件状态 @@ -439,6 +1263,12 @@ RichTextBox + + + + + + @@ -4513,6 +5343,16 @@ + + + 设置圆角半径 + + + + + Tab文字左边距离 + + @@ -4546,6 +5386,12 @@ + + + 获取所有选项卡合起来的宽度 + + + @@ -6238,6 +7084,38 @@ + + + 密码控件 + + + + + + + + + + 密码 + + + + + 必需的设计器变量。 + + + + + 清理所有正在使用的资源。 + + 如果应释放托管资源,为 true;否则为 false。 + + + + 设计器支持所需的方法 - 不要 + 使用代码编辑器修改此方法的内容。 + + 分页控件 @@ -8735,6 +9613,15 @@ 皮肤主题 + + + 设置百分比 + + + + + + 引发 ValueChanged 事件 @@ -8848,7 +9735,7 @@ 布局比较简单的Object - + @@ -14476,22 +15363,26 @@ - The contents of the control will be updated immediately after setting this property. + 设置此属性后,控件的内容将立即更新。 - This method preserves selection, if possible. Use if - you do not want to preserve the selection. Preserving selection is the slowest part of this - code and performance is O(n) where n is the number of selected rows. - This method is not thread safe. - The property DOES work on virtual lists: setting is problem-free, but if you try to get it - and the list has 10 million objects, it may take some time to return. - This collection is unfiltered. Use to access just those objects - that survive any installed filters. + 如果可能,此方法将保留所选内容。使用 if + 如果您不想保留所选内容,请执行以下操作。 + 保留选择是该代码中最慢的部分,性能为O(N),其中n是选定的行数。 + 此方法不是线程安全的。 + 该属性确实适用于虚拟列表:设置是没有问题的,但如果您尝试获取它, + 并且列表有1000万个对象,则可能需要一些时间才能返回。 + 此集合未经过筛选。使用 只访问那些在任何已安装的筛选器中幸存下来的对象。 + + + 获取当前控件所有对象组成的列表 + + - Gets the collection of objects that will be considered when creating clusters - (which are used to generate Excel-like column filters) + 获取创建群集时将考虑的对象集合。 + (用于生成类似Excel的列筛选器) @@ -14625,18 +15516,17 @@ SelectColumnsOnRightClickBehaviour设置为InlineMenu时才有效。当行为设置为SubMenu菜单时,该选项不起作用。 - - Gets or sets the column that is drawn with a slight tint. - - - - If TintSortColumn is true, the sort column will automatically - be made the selected column. - - - The colour of the tint is controlled by SelectedColumnTint. - - + + 获取或设置选定列 + + + + 如果TintSortColumn为true,则排序列将自动成为选定列。 + + + 色调的颜色由SelectedColumnTint控制。 + + @@ -14974,12 +15864,11 @@ - This delegate fetches the checkedness of an object as a boolean only. + 此委托仅将对象的检查性作为布尔值获取。 - Use this if you never want to worry about the - Indeterminate state (which is fairly common). + 如果您永远不想担心不确定状态(这是相当常见的),请使用此选项。 - This is a convenience wrapper around the CheckStateGetter property. + 这是CheckStateGetter属性的便捷包装。 @@ -14997,7 +15886,7 @@ - Gets whether or not this listview is capabale of showing groups + 获取此列表视图是否能够显示组 @@ -15035,20 +15924,17 @@ - The name of the property (or field) that holds whether or not a model is checked. + 保存是否选中模型的属性(或字段)的名称。 - The property be modifiable. It must have a return type of bool (or of bool? if - TriStateCheckBoxes is true). - Setting this property replaces any CheckStateGetter or CheckStatePutter that have been installed. - Conversely, later setting the CheckStateGetter or CheckStatePutter properties will take precedence - over the behavior of this property. + 该属性是可修改的。它必须具有bool(或bool?)返回类型。如果TriStateCheckBooks为真)。 + 设置此属性将替换任何已安装的CheckStateGetter或CheckStatePutter。 + 相反,稍后设置CheckStateGetter或CheckStatePutter属性将优先于此属性的行为。 - This delegate will be called whenever the ObjectListView needs to know the check state - of the row associated with a given model object. + 只要ObjectListView需要知道与给定模型对象关联的行的检查状态,就会调用此委托。 .NET has no support for indeterminate values, but as of v2.0, this class allows @@ -15063,20 +15949,19 @@ - - This delegate can be used to sort the table in a custom fasion. - - - - The delegate must install a ListViewItemSorter on the ObjectListView. - Installing the ItemSorter does the actual work of sorting the ListViewItems. - See ColumnComparer in the code for an example of what an ItemSorter has to do. - - - Do not install a CustomSorter on a VirtualObjectListView. Override the SortObjects() - method of the IVirtualListDataSource instead. - - + + 此委托可用于以自定义方式对表进行排序。 + + + + 委托必须在ObjectListView上安装ListViewItemSorter。 + 安装ItemSorter会执行对ListViewItems进行排序的实际工作。 + 有关ItemSorter必须执行的操作的示例,请参见代码中的ColumnCompeller。 + + + 请勿在VirtualObjectListView上安装CustomSorter。改为重写IVirtualListDataSource的SortObjects()方法。 + + @@ -15110,77 +15995,69 @@ - Add the given model object to this control. + 将给定的模型对象添加到此控件。 - The model object to be displayed + 要显示的模型对象 See AddObjects() for more details - Add the given collection of model objects to this control. + 将给定的模型对象集合添加到此控件。 - A collection of model objects + 要显示的模型对象集合 - The added objects will appear in their correct sort position, if sorting - is active (i.e. if PrimarySortColumn is not null). Otherwise, they will appear at the end of the list. - No check is performed to see if any of the objects are already in the ListView. - Null objects are silently ignored. + 如果排序处于活动状态(即,如果PrimarySortColumn不为空),则添加的对象将出现在其正确的排序位置。否则,它们将出现在列表的末尾。 + 不执行任何检查以查看是否有任何对象已在ListView中。 + 空对象将被静默忽略。 - Resize the columns to the maximum of the header width and the data. + 将列的大小调整到页眉宽度和数据的最大值。 - - Set up any automatically initialized column widths (columns that - have a width of 0 or -1 will be resized to the width of their - contents or header respectively). - - - Obviously, this will only work once. Once it runs, the columns widths will - be changed to something else (other than 0 or -1), so it wont do anything the - second time through. Use to force all columns - to change their size. - + + 设置任何自动初始化的列宽(宽度为0或-1的列将分别调整为其内容或标题的宽度)。 + + + 显然,这只会起作用一次。一旦运行,列宽将更改为其他值(不是0或-1),因此第二次运行时不会执行任何操作。 + 若要强制所有列更改其大小,请使用 。 + - Organise the view items into groups, based on the last sort column or the first column - if there is no last sort column + 根据最后一个排序列或第一列(如果没有最后一个排序列)将视图项组织到组中 - Organise the view items into groups, based on the given column + 根据给定列将视图项组织成组 - If the AlwaysGroupByColumn property is not null, - the list view items will be organisd by that column, - and the 'column' parameter will be ignored. + 如果AlwaysGroupByColumn属性不为Null,则列表视图项将按该列组织,并且将忽略‘Column’参数。 - This method triggers sorting events: BeforeSorting and AfterSorting. + 此方法触发排序事件:BeforeSorting和AfterSorting。 - The column whose values should be used for sorting. + 其值应用于排序的列。 - Organise the view items into groups, based on the given columns + 根据给定列将视图项组织成组 - What column will be used for grouping - What ordering will be used for groups - The column whose values should be used for sorting. Cannot be null - The order in which the values from column will be sorted - When the values from 'column' are equal, use the values provided by this column - How will the secondary values be sorted - This method does not trigger sorting events. Use BuildGroups() to do that + 将使用哪一列进行分组 + 组将使用什么顺序 + 其值应用于排序的列。不能为空 + 列中值的排序顺序 + 当‘column’中的值相等时,请使用此列提供的值 + 次级值将如何排序 + 此方法不会触发排序事件。使用BuildGroups()执行此操作 - Collect and return all the variables that influence the creation of groups + 收集并返回影响组创建的所有变量 @@ -15195,12 +16072,12 @@ - Build/rebuild all the list view items in the list, preserving as much state as is possible + 生成/重新生成列表中的所有列表视图项,尽可能多地保留状态 - Build/rebuild all the list view items in the list + 生成/重新生成列表中的所有列表视图项 If this is true, the control will try to preserve the selection, focused item, and the scroll position (see Remarks) @@ -15214,7 +16091,7 @@ - Clear any cached info this list may have been using + 清除此列表可能一直在使用的所有缓存信息 @@ -15249,85 +16126,85 @@ - Remove all items from this list + 移除所有对象(线程安全) This method can safely be called from background threads. - Reset the memory of which URLs have been visited + 重置已访问其URL的内存 - - Copy a text and html representation of the selected rows onto the clipboard. - - Be careful when using this with virtual lists. If the user has selected - 10,000,000 rows, this method will faithfully try to copy all of them to the clipboard. - From the user's point of view, your program will appear to have hung. + + 将选定行的文本和HTML表示复制到剪贴板上。 + + Be careful when using this with virtual lists. If the user has selected + 10,000,000 rows, this method will faithfully try to copy all of them to the clipboard. + From the user's point of view, your program will appear to have hung. - Copy a text and html representation of the given objects onto the clipboard. + 将给定对象的文本和HTML表示复制到剪贴板上。 - Return a html representation of the given objects + 返回给定对象的html表示形式 - Deselect all rows in the listview + 取消选择列表视图中的所有行 - - Return the ListViewItem that appears immediately after the given item. - If the given item is null, the first item in the list will be returned. - Return null if the given item is the last item. - - The item that is before the item that is returned, or null - A ListViewItem + + 返回紧跟在给定项后面的ListViewItem。 + 如果给定项为空,则返回列表中的第一个项。 + 如果给定项是最后一项,则返回NULL。 + + The item that is before the item that is returned, or null + A ListViewItem - - Return the last item in the order they are shown to the user. - If the control is not grouped, the display order is the same as the - sorted list order. But if the list is grouped, the display order is different. - - + + 按向用户显示的顺序返回最后一项。 + 如果控件未分组,则显示顺序与排序的列表顺序相同。 + 但如果列表是分组的,则显示顺序不同。 + + - - Return the n'th item (0-based) in the order they are shown to the user. - If the control is not grouped, the display order is the same as the - sorted list order. But if the list is grouped, the display order is different. - - - + + 按向用户显示的顺序返回第n项(从0开始)。 + 如果控件未分组,则显示顺序与排序的列表顺序相同。 + 但如果列表是分组的,则显示顺序不同。 + + + - - Return the display index of the given listviewitem index. - If the control is not grouped, the display order is the same as the - sorted list order. But if the list is grouped, the display order is different. - - - + + 返回给定listviewitem索引的显示索引。 + 如果控件未分组,则显示顺序与排序的列表顺序相同。 + 但如果列表是分组的,则显示顺序不同。 + + + - - Return the ListViewItem that appears immediately before the given item. - If the given item is null, the last item in the list will be returned. - Return null if the given item is the first item. - - The item that is before the item that is returned - A ListViewItem + + 返回紧接在给定项之前出现的ListViewItem。 + 如果给定项为空,则返回列表中的最后一项。 + 如果给定项是第一项,则返回NULL。 + + The item that is before the item that is returned + A ListViewItem - Insert the given collection of objects before the given position + 在给定位置之前插入给定的对象集合 Where to insert the objects The objects to be inserted @@ -15342,21 +16219,21 @@ - Return true if the row representing the given model is selected + 如果选择了表示给定模型的行,则返回TRUE The model object to look for Is the row selected - Has the given URL been visited? + 给定的URL是否已被访问 The string to be consider Has it been visited - Scroll the ListView by the given deltas. + 按给定的值增量滚动ListView。 Horizontal delta Vertical delta @@ -15367,32 +16244,32 @@ - - Remember that the given URL has been visited - - The url to be remembered - This does not cause the control be redrawn + + 记住给定的URL已被访问 + + The url to be remembered + This does not cause the control be redrawn - Move the given collection of objects to the given index. + 将给定的对象集合移动到给定的索引。 - This operation only makes sense on non-grouped ObjectListViews. + 此操作仅对未分组的ObjectListViews有意义。 - - Calculate what item is under the given point? - - - - + + 计算在给定点下的项目是什么? + + + + - Perform a hit test using the Windows control's SUBITEMHITTEST message. - This provides information about group hits that the standard ListView.HitTest() does not. + 使用Windows控件的SUBITEMHITTEST消息执行点击测试。 + 这提供了标准ListView.HitTest()不提供的有关组点击的信息。 @@ -15437,7 +16314,7 @@ - Remove the given model object from the ListView + 从ListView中删除给定的模型对象 The model to be removed See RemoveObjects() for more details @@ -15445,58 +16322,56 @@ - - Remove all of the given objects from the control. - - Collection of objects to be removed - - Nulls and model objects that are not in the ListView are silently ignored. - This method is thread-safe. - + + 从控件中移除所有给定对象。 + + Collection of objects to be removed + + Nulls and model objects that are not in the ListView are silently ignored. + This method is thread-safe. + - Select all rows in the listview + 选择列表视图中的所有行 - - Set the given image to be fixed in the bottom right of the list view. - This image will not scroll when the list view scrolls. - - - - This method uses ListView's native ability to display a background image. - It has a few limitations: - - - It doesn't work well with owner drawn mode. In owner drawn mode, each cell draws itself, - including its background, which covers the background image. - It doesn't look very good when grid lines are enabled, since the grid lines are drawn over the image. - It does not work at all on XP. - Obviously, it doesn't look good when alternate row background colors are enabled. - - - If you can live with these limitations, native watermarks are quite neat. They are true backgrounds, not - translucent overlays like the OverlayImage uses. They also have the decided advantage over overlays in that - they work correctly even in MDI applications. - - Setting this clears any background image. - - The image to be drawn. If null, any existing image will be removed. + + 在列表视图的右下角设置要固定的给定图像。 + 当列表视图滚动时,此图像不会滚动。 + + + + 此方法使用ListView的原生功能显示背景图像。 + 它有几个限制: + + + 它在owner drawn模式下不能很好地工作。在owner drawn绘制模式下, + 每个单元格都会绘制自身,包括覆盖背景图像的背景。 + 启用网格线时看起来不是很好,因为网格线是在图像上绘制的。 + 它在XP上完全不起作用。 + 显然,当启用交替行背景色时,效果不佳。 + + + 如果你能忍受这些限制,原生水印就相当不错了。 + 它们是真实的背景,而不是像OverlayImage使用的半透明覆盖。 + 与覆盖相比,它们也有明显的优势,因为即使在MDI应用程序中,它们也可以正常工作。 + + 设置此选项将清除所有背景图像。 + + The image to be drawn. If null, any existing image will be removed. - Set the given image to be background of the ListView so that it appears at the given - percentage offsets within the list. + 将给定的图像设置为ListView的背景,以便它在列表中以给定的百分比偏移量显示。 - This has the same limitations as described in . Make sure those limitations - are understood before using the method. - This is very similar to setting the property of the standard .NET ListView, except that the standard - BackgroundImage does not handle images with transparent areas properly -- it renders transparent areas as black. This - method does not have that problem. - Setting this clears any background watermark. + 这具有与 中所述的相同限制. + 在使用该方法之前,请确保了解这些限制。 + 这非常类似于 属性, + 但标准Backround Image不能正确处理具有透明区域的图像--它将透明区域呈现为黑色。这种方法没有这个问题。 + 设置此选项将清除所有背景水印。 The image to be drawn. If null, any existing image will be removed. The horizontal percentage where the image will be placed. 0 is absolute left, 100 is absolute right. @@ -15504,64 +16379,63 @@ - Set the given image to be the tiled background of the ListView. + 将给定图像设置为ListView的平铺背景。 - This has the same limitations as described in and . - Make sure those limitations - are understood before using the method. + 这具有与 相同的限制. + 在使用该方法之前,请确保了解这些限制。 - The image to be drawn. If null, any existing image will be removed. + 要绘制的图像。如果为null,则将删除所有现有图像。 - Set the collection of objects that will be shown in this list view. + 设置将在此列表视图中显示的对象集合。 - This method can safely be called from background threads. - The list is updated immediately + 可以从后台线程安全地调用此方法。 + 该列表将立即更新 The objects to be displayed - Set the collection of objects that will be shown in this list view. + 设置将在此列表视图中显示的对象集合。 - This method can safely be called from background threads. - The list is updated immediately + 可以从后台线程安全地调用此方法. + 该列表将立即更新 The objects to be displayed - Should the state of the list be preserved as far as is possible. + 是否应尽可能保留列表的状态。 - - Update the given model object into the ListView. The model will be added if it doesn't already exist. - - The model to be updated - - - See for more details - - This method is thread-safe. - This method will cause the list to be resorted. - This method only works on ObjectListViews and FastObjectListViews. - + + 将给定的模型对象更新到ListView中。 + 如果该模型尚不存在,则会添加该模型。 + + The model to be updated + + + See for more details + + 此方法是线程安全的。 + 此方法将导致重新排序列表。 + 此方法仅适用于ObjectListViews和FastObjectListViews。 + - - Update the pre-existing models that are equal to the given objects. If any of the model doesn't - already exist in the control, they will be added. - - Collection of objects to be updated/added - - This method will cause the list to be resorted. - Nulls are silently ignored. - This method is thread-safe. - This method only works on ObjectListViews and FastObjectListViews. - + + 更新与给定对象相等的预先存在的模型。 + 如果控件中不存在任何模型,则会添加它们。 + + Collection of objects to be updated/added + + 此方法将导致重新排序列表。 + null值将被静默忽略。 + 此方法是线程安全的。 + 此方法仅适用于ObjectListViews和FastObjectListViews。 + - Change any subscriptions to INotifyPropertyChanged events on our current - model objects so that we no longer listen for events on the old models - and do listen for events on the given collection. + 更改当前模型对象上对INotifyPropertyChanged事件的任何订阅, + 以便我们不再侦听旧模型上的事件,而侦听给定集合上的事件。 This does nothing if UseNotifyPropertyChanged is false. @@ -16585,7 +17459,7 @@ - Return the tooltip that should be shown when the mouse is hovered over the given cell + 返回当鼠标悬停在给定单元格上时应显示的工具提示 The column index whose tool tip is to be fetched The row index whose tool tip is to be fetched @@ -16593,7 +17467,7 @@ - Return the OLVListItem that displays the given model object + 返回显示给定模型对象的OLVListItem The modelObject whose item is to be found The OLVListItem that displays the model, or null @@ -16611,7 +17485,7 @@ - Prepare the listview to show alternate row backcolors + 准备列表视图以显示交替的行背景色 We cannot rely on lvi.Index in this method. In a straight list, lvi.Index is the display index, and can be used to determine @@ -16626,7 +17500,7 @@ - Tell the underlying list control which images to show against the subitems + 告诉基础列表控件针对子项显示哪些图像 the index at which the item occurs the item whose subitems are to be set @@ -16665,7 +17539,7 @@ - Trigger FormatRow and possibly FormatCell events for the given item + 触发给定项目的FormatRow和可能的FormatCell事件 @@ -16673,7 +17547,7 @@ - Trigger FormatCell events for the given item + 触发给定项目的FormatCell事件 @@ -22313,6 +23187,20 @@ The value of the aspect that should be displayed A string representation of the aspect + + + Convert the aspect object to its string representation. + + + If the column has been given a AspectToStringConverter, that will be used to do + the conversion, otherwise just use ToString(). + The returned value will not be null. Nulls are always converted + to empty strings. + + + The value of the aspect that should be displayed + A string representation of the aspect + Decide the clustering strategy that will be used for this column @@ -24366,65 +25254,79 @@ - Should this bar be drawn in the system style? + 此栏是否应以系统样式绘制? - How many pixels in from our cell border will this bar be drawn + 将从我们的单元格边框开始绘制多少像素的条形图 - - What color will be used to fill the interior of the control before the - progress bar is drawn? - + + 在绘制进度条之前,将使用什么颜色填充控件内部? + - What color should the frame of the progress bar be? + 进度条边框颜色 - How many pixels wide should the frame of the progress bar be? + 进度条的边框像素宽 - What color should the 'filled in' part of the progress bar be? + 进度条的“填充”部分应该是什么颜色? - This is only used if GradientStartColor is Color.Empty + 仅当GradientStartColor为Color.Empty时才使用此选项 - Use a gradient to fill the progress bar starting with this color + 使用渐变以此颜色开始填充进度条 - Use a gradient to fill the progress bar ending with this color + 使用渐变填充以此颜色结尾的进度条 + + + + + 使用渐变以此颜色开始填充渐满进度条 + + + + + 使用渐变填充以此颜色结尾的渐满进度条 - Regardless of how wide the column become the progress bar will never be wider than this + 无论列变得多宽,进度条都不会比这个宽。 - Regardless of how high the cell is the progress bar will never be taller than this + 无论单元格有多高,进度条都不会比这个高 - The minimum data value expected. Values less than this will given an empty bar + 预期的最小数据值。小于此值的值将显示一个空条。 + + + + + 接近满时的值,高于该值时,显示不同颜色,小于等于MinimumValue或大于MaximumValue值,则表示未设置该值 - - The maximum value for the range. Values greater than this will give a full bar - + + 范围的最大值。大于此值的值将给出一个完整的条形。 + @@ -24436,6 +25338,11 @@ The brush that will be used to fill the bar + + + The brush that will be used to fill the bar + + The brush that will be used to fill the background of the bar @@ -28202,7 +29109,7 @@ - Initializes a new instance of the class. + Initializes a new instance of the PopupControl.ComboBox class. diff --git a/Bin/Debug/MyTimeClock/ryUpdate.dll b/Bin/Debug/MyTimeClock/ryUpdate.dll index 2a69b4a..d61e7a5 100644 Binary files a/Bin/Debug/MyTimeClock/ryUpdate.dll and b/Bin/Debug/MyTimeClock/ryUpdate.dll differ diff --git a/CHANGELOG.md b/CHANGELOG.md index 3848dbc..196b962 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,9 @@ -### 2021-12-14更新 +### 2022-03-02更新 +------ +#### TimeClock V1.0.2203.0201 +- *.[改进]修复启动出错时无法保存log的bug。 + +### 2021-12-14更新 ------ #### TimeClock V1.0.2112.1401 - *.[改进]针对多显示器进行便笺靠边隐藏功能的改进。 diff --git a/Source/MyTimeClock/.vs/TimeClock/FileContentIndex/9dd83dc5-5959-48dc-b771-b84cda8e66e1.vsidx b/Source/MyTimeClock/.vs/TimeClock/FileContentIndex/9dd83dc5-5959-48dc-b771-b84cda8e66e1.vsidx new file mode 100644 index 0000000..381b82e Binary files /dev/null and b/Source/MyTimeClock/.vs/TimeClock/FileContentIndex/9dd83dc5-5959-48dc-b771-b84cda8e66e1.vsidx differ diff --git a/Source/MyTimeClock/.vs/TimeClock/FileContentIndex/read.lock b/Source/MyTimeClock/.vs/TimeClock/FileContentIndex/read.lock new file mode 100644 index 0000000..e69de29 diff --git a/Source/MyTimeClock/.vs/TimeClock/v17/.suo b/Source/MyTimeClock/.vs/TimeClock/v17/.suo index 13ba14f..184d585 100644 Binary files a/Source/MyTimeClock/.vs/TimeClock/v17/.suo and b/Source/MyTimeClock/.vs/TimeClock/v17/.suo differ diff --git a/Source/MyTimeClock/MyTimeClock/Program.cs b/Source/MyTimeClock/MyTimeClock/Program.cs index fc5d616..4392c4a 100644 --- a/Source/MyTimeClock/MyTimeClock/Program.cs +++ b/Source/MyTimeClock/MyTimeClock/Program.cs @@ -53,7 +53,7 @@ namespace MyTimeClock static void WriteLogs(string file_name, string text) { string log_text = text; - System.IO.File.WriteAllBytes(Application.StartupPath + "\\logs\\" + file_name, rySafe.AES.AESEncrypt(log_text, "ryTao")); + System.IO.File.WriteAllText(Application.StartupPath + "\\logs\\" + file_name, log_text,System.Text.Encoding.UTF8); if (MessageBox.Show("捕获到无法处理的异常!\r\n\r\n已生成错误日志,是否要提交给我们,以帮助我们尽快解决这个BUG?" + "\r\n\r\n当前日志包含了当前电脑的系统版本、进程、运行库、错误描述等信息,以帮助我们分析解决问题。\r\n\r\n选“是”自动提交错误日志。\r\n选“否”取消。", "错误", MessageBoxButtons.YesNo, MessageBoxIcon.Error) == DialogResult.Yes) { diff --git a/Source/MyTimeClock/MyTimeClock/Properties/AssemblyInfo.cs b/Source/MyTimeClock/MyTimeClock/Properties/AssemblyInfo.cs index 500c638..1e71903 100644 --- a/Source/MyTimeClock/MyTimeClock/Properties/AssemblyInfo.cs +++ b/Source/MyTimeClock/MyTimeClock/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号 // 方法是按如下所示使用“*”: : // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.0.1909.1501")] -[assembly: AssemblyFileVersion("2.0.1909.1501")] \ No newline at end of file +[assembly: AssemblyVersion("2.0.2203.0201")] +[assembly: AssemblyFileVersion("2.0.2203.0201")] \ No newline at end of file diff --git a/Source/MyTimeClock/TimeClock/DbOp/FrmSticky.cs b/Source/MyTimeClock/TimeClock/DbOp/FrmSticky.cs index d7292fc..19e76df 100644 --- a/Source/MyTimeClock/TimeClock/DbOp/FrmSticky.cs +++ b/Source/MyTimeClock/TimeClock/DbOp/FrmSticky.cs @@ -292,6 +292,7 @@ namespace TimeClock.DbOp } else { + if(!IsMini) SaveSticky(); } this.Close(); @@ -500,7 +501,8 @@ namespace TimeClock.DbOp } else { - + mStor.SetAttrValue("Width",NormalWidth); + mStor.SetAttrValue("Height",NormalHeight); } mStor.SetAttrValue("TopMost", this.TopMost); mStor.SetAttrValue("Opacity", this.Opacity); @@ -609,6 +611,7 @@ namespace TimeClock.DbOp } private void FrmSticky_ResizeEnd(object sender, EventArgs e) { + if(!IsMini) SaveSticky(); } @@ -631,7 +634,7 @@ namespace TimeClock.DbOp { if(isChange && dt_change.AddMilliseconds(delayTime)