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)