diff --git a/Bin/Debug/CommonControls/.NET4 示例/Itrycn_Project.exe b/Bin/Debug/CommonControls/.NET4 示例/Itrycn_Project.exe
index 285f52a..0382665 100644
Binary files a/Bin/Debug/CommonControls/.NET4 示例/Itrycn_Project.exe and b/Bin/Debug/CommonControls/.NET4 示例/Itrycn_Project.exe differ
diff --git a/Bin/Debug/CommonControls/.NET4 示例/Itrycn_Project2.exe b/Bin/Debug/CommonControls/.NET4 示例/Itrycn_Project2.exe
index cb6566b..04c7464 100644
Binary files a/Bin/Debug/CommonControls/.NET4 示例/Itrycn_Project2.exe and b/Bin/Debug/CommonControls/.NET4 示例/Itrycn_Project2.exe differ
diff --git a/Bin/Debug/CommonControls/.NET4 示例/MyDb.dll b/Bin/Debug/CommonControls/.NET4 示例/MyDb.dll
index b618d14..20e696e 100644
Binary files a/Bin/Debug/CommonControls/.NET4 示例/MyDb.dll and b/Bin/Debug/CommonControls/.NET4 示例/MyDb.dll differ
diff --git a/Bin/Debug/CommonControls/.NET4 示例/MyDb.xml b/Bin/Debug/CommonControls/.NET4 示例/MyDb.xml
index a1e4242..ca851d0 100644
--- a/Bin/Debug/CommonControls/.NET4 示例/MyDb.xml
+++ b/Bin/Debug/CommonControls/.NET4 示例/MyDb.xml
@@ -982,6 +982,16 @@
+
+
+ 支持忽略大小写的替换功能
+
+
+
+
+ 是否忽略大小写
+
+
获取匹配的内容
@@ -1065,6 +1075,16 @@
是否是通配符表达式,不是,则普通替换,忽略大小写,是,则启用通配符替换
+
+
+ 支持忽略大小写的替换文本功能
+
+
+
+
+ 是否忽略大小写
+
+
获取符合要求的第一个结果
diff --git a/Bin/Debug/CommonControls/.NET4 示例/MyDb_SQLite.dll b/Bin/Debug/CommonControls/.NET4 示例/MyDb_SQLite.dll
index ed84c77..8a6215c 100644
Binary files a/Bin/Debug/CommonControls/.NET4 示例/MyDb_SQLite.dll and b/Bin/Debug/CommonControls/.NET4 示例/MyDb_SQLite.dll differ
diff --git a/Bin/Debug/CommonControls/.NET4 示例/RyPrint.dll b/Bin/Debug/CommonControls/.NET4 示例/RyPrint.dll
index 0414f74..e14ba9a 100644
Binary files a/Bin/Debug/CommonControls/.NET4 示例/RyPrint.dll and b/Bin/Debug/CommonControls/.NET4 示例/RyPrint.dll differ
diff --git a/Bin/Debug/CommonControls/.NET4 示例/RyWeb.dll b/Bin/Debug/CommonControls/.NET4 示例/RyWeb.dll
index d59f490..01a363b 100644
Binary files a/Bin/Debug/CommonControls/.NET4 示例/RyWeb.dll and b/Bin/Debug/CommonControls/.NET4 示例/RyWeb.dll differ
diff --git a/Bin/Debug/CommonControls/.NET4 示例/RyWeb.xml b/Bin/Debug/CommonControls/.NET4 示例/RyWeb.xml
index 36dfc4a..0f17d55 100644
--- a/Bin/Debug/CommonControls/.NET4 示例/RyWeb.xml
+++ b/Bin/Debug/CommonControls/.NET4 示例/RyWeb.xml
@@ -472,6 +472,11 @@
+
+
+
+
+
diff --git a/Bin/Debug/CommonControls/.NET4 示例/UserDb/Win.dat b/Bin/Debug/CommonControls/.NET4 示例/UserDb/Win.dat
index e23a2ce..ee4a826 100644
--- a/Bin/Debug/CommonControls/.NET4 示例/UserDb/Win.dat
+++ b/Bin/Debug/CommonControls/.NET4 示例/UserDb/Win.dat
@@ -1,2 +1,2 @@
[Money_Op]
-hwnd=263848
+hwnd=1707890
diff --git a/Bin/Debug/CommonControls/.NET4 示例/cUpdate.dat b/Bin/Debug/CommonControls/.NET4 示例/cUpdate.dat
index 1a53d64..d0e32f2 100644
--- a/Bin/Debug/CommonControls/.NET4 示例/cUpdate.dat
+++ b/Bin/Debug/CommonControls/.NET4 示例/cUpdate.dat
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/Bin/Debug/CommonControls/.NET4 示例/ryControls.dll b/Bin/Debug/CommonControls/.NET4 示例/ryControls.dll
index e95ae72..9e7c2c2 100644
Binary files a/Bin/Debug/CommonControls/.NET4 示例/ryControls.dll and b/Bin/Debug/CommonControls/.NET4 示例/ryControls.dll differ
diff --git a/Bin/Debug/CommonControls/.NET4 示例/ryControls.xml b/Bin/Debug/CommonControls/.NET4 示例/ryControls.xml
index 01e3c20..cea5fe2 100644
--- a/Bin/Debug/CommonControls/.NET4 示例/ryControls.xml
+++ b/Bin/Debug/CommonControls/.NET4 示例/ryControls.xml
@@ -26898,6 +26898,2798 @@
The index of the matched row, or -1
+
+
+ 初始化的时候给个alpha值,这样在灰图片的时候可以半透明
+
+
+
+
+
+ 使图片单色化
+
+
+
+
+
+
+ 自定义
+
+
+
+
+ 预置
+
+
+
+
+ 系统
+
+
+
+
+ 颜色表示法
+
+
+
+
+ 根据颜色表示字符串获取对应的颜色
+
+
+
+
+
+
+ 从文件中获取Image对象
+ 这个函数的主要功能是处理一些ico文件
+ 一些ico文件的格式可能比较新,直接Image.FormFile,会报内存不足的异常
+
+
+ 是否将文件读入内存操作,如果为false,将直接返回Image.FromFile,在此情况下,
+ 必须手动释放Image对象,否则文件将一直处于占用状态,如果为true,则在内存中拷贝副本
+
+
+
+
+ 将图像转为Icon对象,使用png格式
+
+
+
+
+
+
+ 将图像转为Icon对象
+
+
+
+
+
+
+
+ 返回适应指定容器大小的图像
+ 如果图像的尺寸(长或宽)超出了容器范围,将按比例获取图像的缩略图返回,否则直接返回图像
+ 此方法最终调用 Image.GetThumbnailImage
+ 但是注意,在指定的容器尺寸过小时,返回的Image尺寸不可知,是在为了显示16x16的小缩略图是发现了此问题
+ 使用 GetScaleImage
+
+
+
+
+
+
+
+
+ 返回适应指定容器大小的图像
+ 在需要的情况下,此方法创建一个新对象,进行绘制
+
+
+
+
+
+
+
+
+ 返回适应指定容器大小的图像
+ 在需要的情况下,此方法创建一个新对象,进行绘制
+
+
+
+
+
+
+
+
+ Gets the bounding rectangle of an image required to fit
+ in to the given rectangle keeping the image aspect ratio.
+
+ The source image.
+ The rectangle to fit in to.
+ Horizontal image aligment in percent.
+ Vertical image aligment in percent.
+ New image size.
+
+
+
+ Gets the bounding rectangle of an image required to fit
+ in to the given rectangle keeping the image aspect ratio.
+ The image will be centered in the fit box.
+
+ The source image.
+ The rectangle to fit in to.
+ New image size.
+
+
+
+ Gets the scaled size of an image required to fit
+ in to the given size keeping the image aspect ratio.
+
+ The source image.
+ The size to fit in to.
+ New image size.
+
+
+
+ 获取一个圆角矩形
+
+
+
+ 角度
+
+
+
+
+ 获取一个圆角矩形
+
+
+
+ 角度
+
+
+
+
+ 返回一个表示箭头的Path
+ 如果开始坐标和结束坐标之间的距离大于箭头的大小,箭头向结束坐标对齐,顶着结束坐标
+
+ 开始坐标
+ 结束坐标(顶点,方向)
+ 箭头的长短,大小
+ 箭头的粗细
+
+
+
+
+ 在指定的Image上绘制特定标记
+
+
+
+
+ 文件不存在
+
+
+
+
+
+ 文件不存在
+
+
+
+
+
+ 无法读取文件
+
+
+
+
+
+ 验证失败中显示错误信息时用的标题
+
+
+
+
+ 验证失败时是否需要高亮显示(改变背景色)
+
+
+
+
+ 验证控件的输入
+
+
+
+
+
+
+ 自定义验证方法
+ 在基础验证都通过后,才会调用自定义验证方法(如果有)
+
+
+
+
+ 是否支持 Windows Vista 以上的玻璃效果
+
+
+
+
+ 是否打开了玻璃效果
+
+
+
+
+ 获取应用程序主窗体
+
+
+
+
+ 所对应的绑定数据类型
+
+
+
+
+ 是否对 DataBoundType 的子类型有效
+ 默认无效
+ 如果设置为 true,又同时添加了基类与子类的 codon,则运行时会取到哪个codon不确定
+ 通常取先添加的那个
+
+
+
+
+ 如果输入的字符串包含 "${...}" 这样的格式,则认为是指代资源文件中的一个字符串资源
+
+
+
+
+
+
+ 获取授予该组件的许可证密钥
+
+
+
+
+ 0:未验证
+ 1:验证失败
+ 2:验证通过
+
+
+
+
+ 获取组件的实例或类型的许可证(如果已给定上下文并确定拒绝许可证是否引发异常)。
+
+
+
+
+
+
+
+
+
+ 强类型资源类,用于查找本地化字符串等。
+
+
+
+
+ 返回此类使用的缓存 ResourceManager 实例。
+
+
+
+
+ 为使用此强类型资源类的所有资源查找
+ 重写当前线程的 CurrentUICulture 属性。
+
+
+
+
+ 查找类似 消息 的本地化字符串。
+
+
+
+
+ 查找类似 底部 的本地化字符串。
+
+
+
+
+ 查找类似 顶部 的本地化字符串。
+
+
+
+
+ 查找类似 更大 (48x48) 的本地化字符串。
+
+
+
+
+ 查找类似 大 (32x32) 的本地化字符串。
+
+
+
+
+ 查找类似 中 (24x24) 的本地化字符串。
+
+
+
+
+ 查找类似 小 (16x16) 的本地化字符串。
+
+
+
+
+ Returns true if the current language is the default language.
+
+
+
+
+ Returns a System.String that represents the current System.Object.
+
+
+
+
+ 返回此类使用的缓存 ResourceManager 实例。
+
+
+
+
+ 为使用此强类型资源类的所有资源查找
+ 重写当前线程的 CurrentUICulture 属性。
+
+
+
+
+ 查找类似 消息 的本地化字符串。
+
+
+
+
+ 查找类似 底部 的本地化字符串。
+
+
+
+
+ 查找类似 顶部 的本地化字符串。
+
+
+
+
+ 查找类似 更大 (48x48) 的本地化字符串。
+
+
+
+
+ 查找类似 大 (32x32) 的本地化字符串。
+
+
+
+
+ 查找类似 中 (24x24) 的本地化字符串。
+
+
+
+
+ 查找类似 小 (16x16) 的本地化字符串。
+
+
+
+
+ Returns true if the current language is the default language.
+
+
+
+
+ Call GetLanguages() to retrieve a list of possible languages that can be used to set this property.
+ The default value is the default language.
+
+
+
+
+ Gets a list of available languages defined in this assembly.
+
+
+
+
+ 如果输入的字符串包含 "${...}" 这样的格式,则认为是指代资源文件中的一个字符串资源
+
+
+
+
+
+
+ Represents a pop-up window.
+
+
+
+
+ Gets the content of the pop-up.
+
+
+
+
+ Determines which animation to use while showing the pop-up window.
+
+
+
+
+ Determines which animation to use while hiding the pop-up window.
+
+
+
+
+ Determines the duration of the animation.
+
+
+
+
+ Gets or sets a value indicating whether the content should receive the focus 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 the is resizable.
+
+ true if resizable; otherwise, false.
+
+
+
+ Gets or sets a minimum size of the pop-up.
+
+ An ordered pair of type representing the width and height of a rectangle.
+
+
+
+ Gets or sets a maximum size of the pop-up.
+
+ 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 class.
+
+ The content of the pop-up.
+
+ Pop-up will be disposed immediately after disposion of the content control.
+
+ is null.
+
+
+
+ Raises the event.
+
+ An that contains the event data.
+
+
+
+ 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 the 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 the pop-up window below the specified area of the 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.
+
+
+
+ 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.
+
+
+
+ Raises the event.
+
+ A 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 sizing 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.
+
+
+
+
+ Types of animation of the pop-up window.
+
+
+
+
+ Uses no animation.
+
+
+
+
+ Animates the window from left to right. This flag can be used with roll or slide animation.
+
+
+
+
+ Animates the window from right to left. This flag can be used with roll or slide animation.
+
+
+
+
+ Animates the window from top to bottom. This flag can be used with roll or slide animation.
+
+
+
+
+ Animates the window from bottom to top. This flag can be used with roll or slide animation.
+
+
+
+
+ Makes the window appear to collapse inward if it is hiding or expand outward if the window is showing.
+
+
+
+
+ Uses a slide animation.
+
+
+
+
+ Uses a fade effect.
+
+
+
+
+ Uses a roll animation.
+
+
+
+
+ Uses a default animation.
+
+
+
+
+ Represents a Windows combo box control with a custom popup control attached.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets the drop down control.
+
+ The drop down control.
+
+
+
+ Gets or sets a value indicating whether the combo box is displaying its drop-down portion.
+
+
+ true if the drop-down portion is displayed; otherwise, false. The default is false.
+
+
+
+
+ Occurs when the drop-down portion of a is shown.
+
+
+
+
+ Shows the drop down.
+
+
+
+
+ Occurs when the drop-down portion of the is no longer visible.
+
+
+
+
+ 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.
+
+
+
+
+ Represents a Windows combo box control which can be used in a popup's content control.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Raises the event.
+
+ An that contains the event data.
+
+
+
+ Raises the event.
+
+ An that contains 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.
+
+
+
+
+ 白色到灰色的垂直渐变
+
+
+
+
+ A ToolstripManager rendering class with advanced control features
+
+
+
+
+ Creates a new EasyRender class for modifications
+
+
+
+
+ Gets the manager to edit and change the appearance of the Toolstrip
+
+
+
+
+ Gets the manager to edit and change the appearance of Toolstrip buttons
+
+
+
+
+ Gets the manager to edit and change the appearance of other Toolstrip controls
+
+
+
+
+ Gets the manager to edit and change the appearance of the Panels
+
+
+
+
+ Gets the manager to edit and change the appearance of the Toolstrip split buttons
+
+
+
+
+ Gets the manager to edit and change the appearance of the Status-bar
+
+
+
+
+ Gets or sets whether to smooth the font text on all controls
+
+
+
+
+ Gets or sets the color of the text if the AlterColor is set to true
+
+
+
+
+ Gets or sets whether to override the font-color on all controls
+
+
+
+
+ Creates a GraphicsPath that appreciates an area where things can be drawn
+
+ The rectangular area which will serve as the base
+ The curve amount of the corners
+
+
+
+
+ Creates a triangle based on the size and bounds sectors
+
+ The area which the triangle is confined to
+ The size of the triangle
+ The direction which the triangle is pointing
+
+
+
+
+ Gets a color array based on the state of a normal button
+
+ The button to check the state of
+
+
+
+
+ Gets a color array based on the state of a split-button
+
+ The button to check the state of
+
+
+
+
+ Gets a color array based on the state of a menu-item
+
+ The button to check the state of
+
+
+
+
+ Gets a color array based on the state of a drop-down button
+
+ The button to check the state of
+
+
+
+
+ Gets a blending property for a specified type of Toolstrip item
+
+ The Toolstrip item
+ The type of item this is
+
+
+
+
+ Fills a specified boundary with color
+
+ The Graphics object to draw onto
+ The boundaries to draw the color
+ The brush to fill the color
+
+
+
+ Fills a specified boundary with a gradient with specified colors
+
+ The Graphics object to draw onto
+ The boundaries to draw the color
+ The color of the gradient at the top
+ The color of the gradient at the bottom
+
+
+
+ Fills a specified boundary with a gradient with specified colors at a given angle
+
+ The Graphics object to draw onto
+ The boundaries to draw the color
+ The color of the gradient at the top
+ The color of the gradient at the bottom
+ The angle which the gradient is drawn (null defaults to 90f)
+
+
+
+ Fills a specified boundary with a gradient with specified colors at a given angle and with blending properties
+
+ The Graphics object to draw onto
+ The boundaries to draw the color
+ The color of the gradient at the top
+ The color of the gradient at the bottom
+ The angle which the gradient is drawn (null defaults to 90f)
+ The blending options to draw the gradient
+
+
+
+ Draws a set path with a defined brush
+
+ The Graphics object to draw onto
+ The path to draw along
+ The brush to fill the color
+
+
+
+ Draws a set path with specified colors
+
+ The Graphics object to draw onto
+ The path to draw along
+ The area of span the border gradient covers
+ The color of the gradient at the top
+ The color of the gradient at the bottom
+
+
+
+ Draws a set path with specified colors at a given angle
+
+ The Graphics object to draw onto
+ The path to draw along
+ The area of span the border gradient covers
+ The color of the gradient at the top
+ The color of the gradient at the bottom
+ The angle which the gradient is drawn (null defaults to 90f)
+
+
+
+ Draws a set path with specified colors at a given angle with blending properties
+
+ The Graphics object to draw onto
+ The path to draw along
+ The color of the gradient at the top
+ The color of the gradient at the bottom
+ The angle which the gradient is drawn (null defaults to 90f)
+ The blending options to draw the gradient
+
+
+
+ Draws a Toolstrip button
+
+ The Toolstrip button
+ The Graphics object to handle
+ The parent Toolstrip
+
+
+
+ Draws a Toolstrip button
+
+ The Toolstrip button
+ The Graphics object to handle
+ The parent Toolstrip
+
+
+
+ Draws the Toolstrip background
+
+ The Toolstrip being drawn
+ The Graphics object to handle
+ The affected bounds
+
+
+
+ Draws a Toolstrip split-button
+
+ The Toolstrip split-button
+ The Graphics object to handle
+ The parent Toolstrip
+
+
+
+ Draws the Statusbar background
+
+ The Statusbar being drawn
+ The Graphics object to handle
+ The affected bounds
+
+
+
+ Draws a Menustrip item
+
+ The Menustrip item
+ The Graphics object to handle
+ The parent Toolstrip
+
+
+
+ Covers the button background rendering
+
+
+
+
+
+ Applies any and all changes made to the Renderer
+
+
+
+
+ A class designed to be used in the EasyRender master control to customize the look and feel of the base Toolstrip
+
+
+
+
+ Creates a new IToolstrip class for customization
+
+
+
+
+ Creates a new IToolstrip class for customization
+
+ The IToolstrip to import the settings from
+
+
+
+ Disposes of the IToolstrip class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the Toolstrip background gradient from the top
+
+
+
+
+ Gets or sets the color of the Toolstrip background gradient from the bottom
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Toolstrip background
+ If set to null, the Toolstrip will simply draw the gradient
+
+
+
+
+ Gets or sets the angle which the Toolstrip background will be drawn
+
+
+
+
+ Gets or sets the color of the Toolstrip border gradient from the top
+
+
+
+
+ Gets or sets the color of the Toolstrip border gradient from the bottom
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Toolstrip border
+ If set to null, the Toolstrip will simply draw the border
+
+
+
+
+ Gets or sets the angle which the Toolstrip border will be drawn
+
+
+
+
+ Gets or sets the curve of the border of the Toolstrip
+
+
+
+
+ Imports the settings from a previous or pre-defined IToolstrip and applies it to the current
+
+ The IToolstrip to import the settings from
+
+
+
+ Sets the blending for both border and background to their defaults
+
+
+
+
+ Creates a new IToolstripControls class for customization
+
+
+
+
+ Disposes of the IToolstripControls class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the Toolstrip seperator on the dark side
+
+
+
+
+ Gets or sets the color of the Toolstrip seperator on the light side
+
+
+
+
+ Gets or sets the height of the Toolstrip seperator control
+
+
+
+
+ Gets or sets the color of the grip dots/line at the top
+
+
+
+
+ Gets or sets the color of the grip shadow
+
+
+
+
+ Gets or sets in what mode the grip will be drawn
+
+
+
+
+ Gets or sets the distance, in pixels, between each grip dot
+
+
+
+
+ Gets or sets the size of the dots or lines for the grip
+
+
+
+
+ Imports the settings from a previous or pre-defined IToolstripControls and applies it to the current
+
+ The IToolstripControls to import the settings from
+
+
+
+ Creates a new IButton class for customization
+
+
+
+
+ Creates a new IButton class for customization
+
+ The IButton to import the settings from
+
+
+
+ Disposes of the IButton class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the Button background at the top, when hovered over
+
+
+
+
+ Gets or sets the color of the Button background at the bottom, when hovered over
+
+
+
+
+ Gets or sets the color of the Button background at the top, when clicked
+
+
+
+
+ Gets or sets the color of the Button background at the bottom, when clicked
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Button background
+ If set to null, the Button will simply draw the gradient
+
+
+
+
+ Gets or sets the angle which the Button background will be drawn
+
+
+
+
+ Gets or sets the color of the Button border gradient from the top
+
+
+
+
+ Gets or sets the color of the Button border gradient from the bottom
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Button border
+ If set to null, the Button will simply draw the border
+
+
+
+
+ Gets or sets the angle which the Button border will be drawn
+
+
+
+
+ Gets or sets the color of the inside border
+
+
+
+
+ Gets or sets when to apply the rendering ("Normal" does not apply here)
+
+
+
+
+ Gets or sets the curve of the border of the Button
+
+
+
+
+ Imports the settings from a previous or pre-defined IButton and applies it to the current
+
+ The IButton to import the settings from
+
+
+
+ Sets the blending for both border and background to their defaults
+
+
+
+
+ Creates a new IButton class for customization
+
+
+
+
+ Creates a new IButton class for customization
+
+ The IButton to import the settings from
+
+
+
+ Disposes of the IButton class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the Button background at the top, when hovered over
+
+
+
+
+ Gets or sets the color of the Button background at the bottom, when hovered over
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Button background
+ If set to null, the Button will simply draw the gradient
+
+
+
+
+ Gets or sets the angle which the Button background will be drawn
+
+
+
+
+ Gets or sets the color of the Button border gradient from the top
+
+
+
+
+ Gets or sets the color of the Button border gradient from the bottom
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Button border
+ If set to null, the Button will simply draw the border
+
+
+
+
+ Gets or sets the angle which the Button border will be drawn
+
+
+
+
+ Gets or sets the color of the inside border
+
+
+
+
+ Gets or sets when to apply the rendering ("Normal" and "Click" do not apply here)
+
+
+
+
+ Gets or sets the curve of the border of the Button
+
+
+
+
+ Imports the settings from a previous or pre-defined IDropDownButton and applies it to the current
+
+ The IDropDownButton to import the settings from
+
+
+
+ Sets the blending for both border and background to their defaults
+
+
+
+
+ Creates a new ISplitButton class for customization
+
+
+
+
+ Disposes of the ISplitButton class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the Button background at the top, when hovered over
+
+
+
+
+ Gets or sets the color of the Button background at the bottom, when hovered over
+
+
+
+
+ Gets or sets the color of the Button background at the top, when clicked
+
+
+
+
+ Gets or sets the color of the Button background at the bottom, when clicked
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Button background
+ If set to null, the Button will simply draw the gradient
+
+
+
+
+ Gets or sets the angle which the Button background will be drawn
+
+
+
+
+ Gets or sets the color of the Button border gradient from the top
+
+
+
+
+ Gets or sets the color of the Button border gradient from the bottom
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Button border
+ If set to null, the Button will simply draw the border
+
+
+
+
+ Gets or sets the angle which the Button border will be drawn
+
+
+
+
+ Gets or sets the color of the inside border
+
+
+
+
+ Gets or sets when to apply the rendering ("Normal" does not apply here)
+
+
+
+
+ Gets or sets the curve of the border of the Button
+
+
+
+
+ Gets or sets when to display the drop-down arrow
+
+
+
+
+ Gets or sets the color of the drop-down arrow
+
+
+
+
+ Imports the settings from a previous or pre-defined ISplitButton and applies it to the current
+
+ The ISplitButton to import the settings from
+
+
+
+ Sets the blending for both border and background to their defaults
+
+
+
+
+ Creates a new IPanel class for customization
+
+
+
+
+ Disposes of the IButton class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the gradient at the top of the content panel
+
+
+
+
+ Gets or sets the color of the gradient at the bottom of the content panel
+
+
+
+
+ Gets or sets whether each panel inherits the shading from the content panel
+
+
+
+
+ Gets or sets the angle which the background gradient is drawn
+
+
+
+
+ Gets or sets the blend of the background
+
+
+
+
+ Gets or sets a mode to render the background in
+
+
+
+
+ Creates a new IStatusBar class for customization
+
+
+
+
+ Disposes of the IButton class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the gradient of the background at the top
+
+
+
+
+ Gets or sets the color of the gradient of the background at the bottom
+
+
+
+
+ Gets or sets the blending that will apply to the background
+
+
+
+
+ Gets or sets the angle which the background gradient will be drawn
+
+
+
+
+ Gets or sets the color of the dark border
+
+
+
+
+ Gets or sets the color of the light border
+
+
+
+
+ Gets or sets the color of the grip at the top-most
+
+
+
+
+ Gets or sets the color of the grip at the bottom-most
+
+
+
+
+ Gets or sets the spacing of the grip blocks
+
+
+
+
+ Imports the settings from a previous or pre-defined IStatusBar and applies it to the current
+
+ The IStatusBar to import the settings from
+
+
+
+ Sets the blending for both border and background to their defaults
+
+
+
+
+ A class designed to be used in the EasyRender master control to customize the look and feel of the base Menustrip
+
+
+
+
+ Creates a new IToolstrip class for customization
+
+
+
+
+ Creates a new IMenustrip class for customization
+
+ The IMenustrip to import the settings from
+
+
+
+ Disposes of the IMenustrip class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the menu-strip border (dark)
+
+
+
+
+ Gets or sets the color of the menu-strip border (light)
+
+
+
+
+ Gets or sets how the background of the menu-strip is inherited
+
+
+
+
+ If inheritence is set to none, the color of the background gradient at the top
+
+
+
+
+ If inheritence is set to none, the color of the background gradient at the bottom
+
+
+
+
+ If inheritence is set to none, the blending option for the background
+
+
+
+
+ Gets or sets the color of the margin gradient at the left
+
+
+
+
+ Gets or sets the color of the margin gradient at the right
+
+
+
+
+ Gets or sets the color of the margin border (displayed to the right)
+
+
+
+
+ Gets or sets the color of the root menu-strip button background when it is selected
+
+
+
+
+ Gets or sets the color of the root menu-strip button border when it is selected
+
+
+
+
+ Gets or sets the color of the seperator dark color
+
+
+
+
+ Gets or sets the color of the seperator light color
+
+
+
+
+ Gets or sets the inset position of the seperator from the left
+
+
+
+
+ Gets the class that handles the look and feel of the menu-strip items
+
+
+
+
+ Imports the settings from a previous or pre-defined IMenustrip and applies it to the current
+
+ The IMenustrip to import the settings from
+
+
+
+ Sets the blending for the background to it's default
+
+
+
+
+ Defines when to show an arrow
+
+
+
+
+ Defines when to use a blend property
+
+
+
+
+ Use the blend when the object is drawn
+
+
+
+
+ Use the blend when the object is hovered over
+
+
+
+
+ Use the blend when the object is clicked
+
+
+
+
+ Use the blend when the object is checked
+
+
+
+
+ Always use the blend regardless of the state of the object
+
+
+
+
+ Defines a method of drawing a grip on a control
+
+
+
+
+ Draws the grip as a set of dots
+
+
+
+
+ Draws the grip as two lines
+
+
+
+
+ Does not draw the grip at all, but the object remains moveable
+
+
+
+
+ Defines a specific type of button to search by
+
+
+
+
+ Defines a method for background or object inheritence
+
+
+
+
+ Defines a method of rendering
+
+
+
+
+ 主菜单
+
+
+
+
+ 背景透明的工具条
+
+
+
+
+ 银白色至白色渐变
+
+
+
+
+ 白色至银白色渐变
+
+
+
+
+ 当前工作区窗体所关联并激活的工具栏
+
+
+
+
+ 模拟运行时的外观
+
+
+
+
+ Represents the visual state of an image list view item.
+
+
+
+
+ 没有任何选择状态,处于一般正常状态
+
+
+
+
+ 项处于选中状态
+
+
+
+
+ 鼠标滑过
+
+
+
+
+ 边框宽度
+
+
+
+
+ 文本和description文本之间的间距
+
+
+
+
+ 最大显示的项数
+
+
+
+
+ 是否显示说明字段,此属性不影响弹出面板是否显示
+ 弹出面板是否显示由DescriptionMember是否设置决定
+
+
+
+
+ 下拉列表的布局模式
+
+
+
+
+ 是否允许空
+
+
+
+
+ 测量当前控件应该的高度
+
+
+
+
+
+ 整个可用的绘图表面
+
+
+
+
+ 右边按钮的绘图表面
+
+
+
+
+ 绘制边框
+
+
+
+
+
+ 绘制背景
+
+
+
+
+
+ 绘制文本
+
+
+
+
+
+ 当前热点项生改变
+
+
+
+
+ 通过外能事件获取用于绘制项的文本
+
+
+
+
+ 标题
+
+
+
+
+ 验证失败时是否需要高亮显示(改变背景色)
+
+
+
+
+ 排序箭头开始颜色
+
+
+
+
+ 排序箭头开始颜色
+
+
+
+
+ 控件的背景画布颜色
+ 因为控件的边框和过度色都有依靠改变透明度实现渐变,所以一个白色的底版就非常重要
+ 使过度色不受控件本身背景色的影响,光不绘制背景不行,要刷上白色背景
+
+
+
+
+ 控件背景色
+
+
+
+
+ 边框颜色
+
+
+
+
+ Represents the visual state of an image list view item.
+
+
+
+
+ 没有任何选择状态,处于一般正常状态
+
+
+
+
+ 项处于选中状态
+
+
+
+
+ 该项具有输入焦点
+
+
+
+
+ 鼠标滑过
+
+
+
+
+ The item is not visible.
+
+
+
+
+ The item is partially visible.
+
+
+
+
+ The item is fully visible.
+
+
+
+
+ 布局方式
+
+
+
+
+ 标准布局
+
+
+
+
+ 使项带有描述的布局
+
+
+
+
+ 双击项事件参数
+
+
+
+
+ 项被删除事件参数
+
+
+
+
+ 为项绘制带有描述信息的渲染器
+
+
+
+
+ 字的高度是否已初始化
+ 在第一次绘制时,测量文本的高度
+
+
+
+
+ 框选的最短开始长度
+
+
+
+
+ 框选时滚动条的自动滚动速度
+
+
+
+
+ 用于鼠标框选时,框出了控件中项的显示范围时,自动滚动滚动条
+
+
+
+
+ 自动滚动时,滚动值
+
+
+
+
+ 是否处于框选状态中
+
+
+
+
+ 内框offset,内框offset是绝对相对于滚动条的
+
+
+
+
+ 整个可显示项的边界的offset,包括上下padding部分
+
+
+
+
+ 鼠标按下时项区域边界的offset,即 _itemsAreaOffset
+ 用于框选时,跨越可视部队画框
+
+
+
+
+ 当前所能显示的最大行数
+
+
+
+
+ Gets whether the shift key is down.
+
+
+
+
+ Gets whether the control key is down.
+
+
+
+
+ 没有任何项
+
+
+
+
+ 没有任何项处于可显示状态
+
+
+
+
+ 整个控件区域
+
+
+
+
+ 整个可用于绘制项的可视区域
+ 去除左右Padding部分,去除滚动条
+
+
+
+
+ 用于绘制项的区域
+ 考虑边距间隔大小和滚动条区域
+
+
+
+
+ 项的尺寸
+ 不放在ListView本身中定义而是放在LayoutManager中定义,是因为不同的布局方式
+ 可能会是带长宽的Size做为itemSize,比如平铺的方式
+
+
+
+
+ 项周围的边距
+
+
+
+
+ 更新整个布局引擎的状态
+
+
+
+
+ 判断指定的项是否处于可见状态
+
+
+
+
+
+
+ 获取项的呈现区域
+
+
+
+
+
+
+ 获取当前所有可见项
+
+
+
+
+
+ Calculates the maximum number of rows and columns
+ that can be fully displayed.
+
+
+
+
+ 计算当前可见项的index范围
+
+
+
+
+ 更新滚动条状态
+
+
+
+
+ 创建框选框
+
+
+
+
+
+ 根据矩形区域选择项
+
+
+
+
+
+ 应用导航键,如上下左右,返回应用导航键之后的项的坐标
+
+
+
+
+ 使指定下标的项处于可见状态
+
+
+
+
+
+ 默认渲染器,不绘制项的实际内容,但是绘制DEBUG信息
+
+
+
+
+ 用于子类重写时删除相应的缓存
+
+
+
+
+
+ 绘制项的背景
+
+ The System.Drawing.Graphics to draw on.
+ The client coordinates of the item area.
+
+
+
+ 绘制最终的前景
+
+
+
+
+
+
+ 绘制选择边框
+
+ The System.Drawing.Graphics to draw on.
+ The client coordinates of the selection rectangle.
+
+
+
+ 绘制项的边框
+
+
+
+
+
+
+ 绘制项
+
+
+
+
+
+
+
+
+ 绘制项的背景
+
+
+
+
+
+
+ 绘制项的内容
+
+
+
+
+
+
+
+ 绘制背景
+
+
+
+
+
+ 绘制当前所有可见项
+
+
+
+
+
+ Renders the selection rectangle.
+
+ The graphics to draw on.
+
+
+
+ 默认渲染器,以类似微软ListView的方式按行绘制项,只绘制简单的文本
+
+
+
+
+ 字的高度是否已初始化
+ 在第一次绘制时,测量文本的高度
+
+
+
+
+ 项的背景色
+
+
+
+
+ 控件背景色
+
+
+
+
+ 项的边框色
+
+
+
+
+ 选择框颜色
+
+
+
+
+ 选择框的边框色
+
+
+
+
+ 当控件具有焦点时选定项的背景色
+
+
+
+
+ 控件失去焦点时选定项的背景色
+
+
+
+
+ 热点项的背景色
+
+
+
+
+ 图像内边框颜色
+
+
+
+
+ 图像外边框颜色
+
+
+
+
+ Creates a control with a border.
+
+
+
+
+ Specifies that the control has a border with a sunken edge.
+
+
+
+
+ 是否需要在调用 ResumeLayout 时重绘
+
+
+
+
+ 为项扩展的用于呈现的属性
+
+
+
+
+ Gets whether the shift key is down.
+
+
+
+
+ Gets whether the control key is down.
+
+
+
+
+ 鼠标左键是否处于按下状态
+
+
+
+
+ 鼠标右键是否处于按下状态
+
+
+
+
+ 鼠标最后点击的位置
+
+
+
+
+ 当前鼠标经过的项
+
+
+
+
+ 配色方案
+
+
+
+
+ 当前布局中项的高度
+
+
+
+
+ 是否没有任何项
+
+
+
+
+ 获取当前具有输入焦点的项
+
+
+
+
+ 默认的用于呈现为项中文本的Property
+
+
+
+
+ 更改了选择的项
+
+
+
+
+ 双击项
+
+
+
+
+
+ 请求在下次调用 ResumeLayout 时重绘
+
+
+
+
+ 获取当前选中的所有项
+
+
+
+
+
+ 设置扩展属性供特定LayoutEngine使用
+ 如果指定的 ExtendMember 已存在,覆盖之
+ 用String.Empty 或 null 做为 propertyName传入,表示删除指定的 member
+
+
+
+
+
+
+ 恢复正常的布局逻辑。
+
+
+
+
+ 临时挂起控件的布局逻辑。
+
+
+
+
+ 获取当前选中项所绑定的对象
+ 如果没有选中项,返回null,如果选中多项,返回选中项集合中的第一个
+
+
+
+
+
+ 根据指定的绑定项对象
+ 设置当前列表中选定的项
+
+
+
+
+
+ 获取当前选中的所有项的绑定对象集合
+ 如果当前没有选中任何项,返回空集合
+
+
+
+
+
+ 取消所有项的选择
+
+
+
+
+ 获取创建控件句柄时所需要的创建参数
+
+
+
+
+ 更改了选择的项
+
+
+
+
+ 双击项
+
+
+
+
+ 项被删除
+
+
+
+
+ 通过外能事件获取用于绘制项的文本
+
+
+
+
+ Represents the color palette of the image list view.
+
+
+
+
+ Gets or sets the background color of the ImageListView control.
+
+
+
+
+ Gets or sets the background color of the ImageListViewItem.
+
+
+
+
+ Gets or sets the background color of alternating cells in Details View.
+
+
+
+
+ Gets or sets the border color of the ImageListViewItem.
+
+
+
+
+ Gets or sets the foreground color of the ImageListViewItem.
+
+
+
+
+ Gets or sets the background gradient color1 of the ImageListViewItem if the control is not focused.
+
+
+
+
+ Gets or sets the background gradient color2 of the ImageListViewItem if the control is not focused.
+
+
+
+
+ Gets or sets the border color of the ImageListViewItem if the control is not focused.
+
+
+
+
+ Gets or sets the fore color of the ImageListViewItem if the control is not focused.
+
+
+
+
+ Gets or sets the background gradient color1 if the ImageListViewItem is hovered.
+
+
+
+
+ Gets or sets the background gradient color2 if the ImageListViewItem is hovered.
+
+
+
+
+ Gets or sets the border color of the ImageListViewItem if the item is hovered.
+
+
+
+
+ Gets or sets the color of the insertion caret.
+
+
+
+
+ Gets or sets the background gradient color1 if the ImageListViewItem is selected.
+
+
+
+
+ Gets or sets the background gradient color2 if the ImageListViewItem is selected.
+
+
+
+
+ Gets or sets the border color of the ImageListViewItem if the item is selected.
+
+
+
+
+ Gets or sets the fore color of the ImageListViewItem if the item is selected.
+
+
+
+
+ Gets or sets the background gradient color1 of the column header.
+
+
+
+
+ Gets or sets the background gradient color2 of the column header.
+
+
+
+
+ Gets or sets the background hover gradient color1 of the column header.
+
+
+
+
+ Gets or sets the background hover gradient color2 of the column header.
+
+
+
+
+ Gets or sets the cells foreground color of the column header text.
+
+
+
+
+ Gets or sets the cells background color if column is selected in Details View.
+
+
+
+
+ Gets or sets the color of the separator in Details View.
+
+
+
+
+ Gets or sets the foreground color of the cell text in Details View.
+
+
+
+
+ Gets or sets the foreground color of alternating cells text in Details View.
+
+
+
+
+ Gets or sets the background color of the image pane.
+
+
+
+
+ Gets or sets the separator line color between image pane and thumbnail view.
+
+
+
+
+ Gets or sets the color of labels in pane view.
+
+
+
+
+ Gets or sets the image inner border color for thumbnails and pane.
+
+
+
+
+ Gets or sets the image outer border color for thumbnails and pane.
+
+
+
+
+ Gets or sets the background color1 of the selection rectangle.
+
+
+
+
+ Gets or sets the background color2 of the selection rectangle.
+
+
+
+
+ Gets or sets the color of the selection rectangle border.
+
+
+
+
+ Initializes a new instance of the ImageListViewColor class.
+
+
+
+
+ Initializes a new instance of the ImageListViewColor class
+ from its string representation.
+
+ String representation of the object.
+
+
+
+ Copies color values from the given object.
+
+ The source object.
+
+
+
+ Represents the default color theme.
+
+
+
+
+ Represents the noir color theme.
+
+
+
+
+ Represents the mandarin color theme.
+
+
+
+
+ Sets the color palette to default colors.
+
+
+
+
+ Sets the color palette to mandarin colors.
+
+
+
+
+ Sets the color palette to noir colors.
+
+
+
+
+ Determines whether all color values of the specified
+ ImageListViewColor are equal to this instance.
+
+ The object to compare with this instance.
+ true if the two instances have the same color values;
+ otherwise false.
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in
+ hashing algorithms and data structures like a hash table.
+
+
+
+
+ Returns a string that represents this instance.
+
+
+ A string that represents this instance.
+
+
+
+
+ 测试坐标
+
+
+
+
+ 项的坐标
+
+
+
+
+ 是否点击了项
+
+
+
+
+ 该项当前的选中状态
+
+
+
+
+ 所绑定的对象
+
+
+
+
+ 将指定的事件移动到(紧邻)另一个事件之前
+
+
+
+
+
+
+ 将指定的事件移动到(紧邻)另一个事件之后
+
+
+
+
+
+
+ 通过窗口的标题来查找窗口的句柄
+
+
+
+
+
+
+
+ 发送 Windows 消息
+
+
+
+
+
+
+
+
+
+ 发送消息,只能传递一个自定义的消息ID和消息字符串,想传一个结构,但没成功
+
+ 目标进程名称,如果有多个,则给每个都发送
+ 自定义数据,可以通过这个来决定如何解析下面的strMsg
+ 传递的消息,是一个字符串
+
+
+
+ 接收消息,得到消息字符串
+
+ System.Windows.Forms.Message m
+ 接收到的消息字符串
+
+
+
+ 最大圆角半径
+
+
+
+
+ 最小矩形边长,用于自动处理圆角大小
+
+
+
+
+ 绘制一个圆角矩形.
+
+ 当前屏幕的图形对象
+ 矩形线条的颜色
+ 矩形左上角X坐标
+ 矩形左上角Y坐标
+ 矩形右下角X坐标
+ 矩形右下角Y坐标
+ 圆角的半径长度
+
+
+
+ 绘制一个圆角矩形.
+
+ 当前屏幕的图形对象
+ 矩形线条的颜色
+ 要绘制的矩形对象
+ 圆角的半径长度
+
+
+
+ 绘制一个圆角矩形.
+
+ 当前屏幕的图形对象
+ 矩形线条的颜色
+ 要绘制的矩形对象
+
+
+
+ 填充一个圆角矩形.
+
+ 当前屏幕的图形对象
+ 矩形线条的颜色
+ 矩形左上角X坐标
+ 矩形左上角Y坐标
+ 矩形右下角X坐标
+ 矩形右下角Y坐标
+ 圆角的半径长度
+
+
+
+ 填充一个圆角矩形.
+
+ 当前屏幕的图形对象
+ 矩形线条的颜色
+ 要填充的矩形
+ 填充区域针对矩形的缩进距离
+ 圆角的半径长度
+
+
+
+ 填充一个圆角矩形.
+
+ 当前屏幕的图形对象
+ 矩形线条的颜色
+ 要填充的矩形
+
+
+
+ 使图片单色化
+
+
+
+
获取颜色
diff --git a/Bin/Debug/CommonControls/.NET4 示例/ryUpdate.dll b/Bin/Debug/CommonControls/.NET4 示例/ryUpdate.dll
index ac81536..26700de 100644
Binary files a/Bin/Debug/CommonControls/.NET4 示例/ryUpdate.dll and b/Bin/Debug/CommonControls/.NET4 示例/ryUpdate.dll differ
diff --git a/Bin/Debug/CommonControls/.NET4/MyDb.dll b/Bin/Debug/CommonControls/.NET4/MyDb.dll
index b618d14..20e696e 100644
Binary files a/Bin/Debug/CommonControls/.NET4/MyDb.dll and b/Bin/Debug/CommonControls/.NET4/MyDb.dll differ
diff --git a/Bin/Debug/CommonControls/.NET4/MyDb.xml b/Bin/Debug/CommonControls/.NET4/MyDb.xml
index a1e4242..ca851d0 100644
--- a/Bin/Debug/CommonControls/.NET4/MyDb.xml
+++ b/Bin/Debug/CommonControls/.NET4/MyDb.xml
@@ -982,6 +982,16 @@
+
+
+ 支持忽略大小写的替换功能
+
+
+
+
+ 是否忽略大小写
+
+
获取匹配的内容
@@ -1065,6 +1075,16 @@
是否是通配符表达式,不是,则普通替换,忽略大小写,是,则启用通配符替换
+
+
+ 支持忽略大小写的替换文本功能
+
+
+
+
+ 是否忽略大小写
+
+
获取符合要求的第一个结果
diff --git a/Bin/Debug/CommonControls/.NET4/MyDb_MSSQL.dll b/Bin/Debug/CommonControls/.NET4/MyDb_MSSQL.dll
index d22f2fe..fc0beb9 100644
Binary files a/Bin/Debug/CommonControls/.NET4/MyDb_MSSQL.dll and b/Bin/Debug/CommonControls/.NET4/MyDb_MSSQL.dll differ
diff --git a/Bin/Debug/CommonControls/.NET4/MyDb_MySQL.dll b/Bin/Debug/CommonControls/.NET4/MyDb_MySQL.dll
index 6cf9476..8503b3a 100644
Binary files a/Bin/Debug/CommonControls/.NET4/MyDb_MySQL.dll and b/Bin/Debug/CommonControls/.NET4/MyDb_MySQL.dll differ
diff --git a/Bin/Debug/CommonControls/.NET4/MyDb_SQLite.dll b/Bin/Debug/CommonControls/.NET4/MyDb_SQLite.dll
index ed84c77..8a6215c 100644
Binary files a/Bin/Debug/CommonControls/.NET4/MyDb_SQLite.dll and b/Bin/Debug/CommonControls/.NET4/MyDb_SQLite.dll differ
diff --git a/Bin/Debug/CommonControls/.NET4/RyPrint.dll b/Bin/Debug/CommonControls/.NET4/RyPrint.dll
index 0414f74..e14ba9a 100644
Binary files a/Bin/Debug/CommonControls/.NET4/RyPrint.dll and b/Bin/Debug/CommonControls/.NET4/RyPrint.dll differ
diff --git a/Bin/Debug/CommonControls/.NET4/RyWeb.dll b/Bin/Debug/CommonControls/.NET4/RyWeb.dll
index d59f490..17ef08f 100644
Binary files a/Bin/Debug/CommonControls/.NET4/RyWeb.dll and b/Bin/Debug/CommonControls/.NET4/RyWeb.dll differ
diff --git a/Bin/Debug/CommonControls/.NET4/RyWeb.xml b/Bin/Debug/CommonControls/.NET4/RyWeb.xml
index 36dfc4a..0f17d55 100644
--- a/Bin/Debug/CommonControls/.NET4/RyWeb.xml
+++ b/Bin/Debug/CommonControls/.NET4/RyWeb.xml
@@ -472,6 +472,11 @@
+
+
+
+
+
diff --git a/Bin/Debug/CommonControls/.NET4/ryControls.dll b/Bin/Debug/CommonControls/.NET4/ryControls.dll
index e95ae72..9e7c2c2 100644
Binary files a/Bin/Debug/CommonControls/.NET4/ryControls.dll and b/Bin/Debug/CommonControls/.NET4/ryControls.dll differ
diff --git a/Bin/Debug/CommonControls/.NET4/ryControls.xml b/Bin/Debug/CommonControls/.NET4/ryControls.xml
index 01e3c20..cea5fe2 100644
--- a/Bin/Debug/CommonControls/.NET4/ryControls.xml
+++ b/Bin/Debug/CommonControls/.NET4/ryControls.xml
@@ -26898,6 +26898,2798 @@
The index of the matched row, or -1
+
+
+ 初始化的时候给个alpha值,这样在灰图片的时候可以半透明
+
+
+
+
+
+ 使图片单色化
+
+
+
+
+
+
+ 自定义
+
+
+
+
+ 预置
+
+
+
+
+ 系统
+
+
+
+
+ 颜色表示法
+
+
+
+
+ 根据颜色表示字符串获取对应的颜色
+
+
+
+
+
+
+ 从文件中获取Image对象
+ 这个函数的主要功能是处理一些ico文件
+ 一些ico文件的格式可能比较新,直接Image.FormFile,会报内存不足的异常
+
+
+ 是否将文件读入内存操作,如果为false,将直接返回Image.FromFile,在此情况下,
+ 必须手动释放Image对象,否则文件将一直处于占用状态,如果为true,则在内存中拷贝副本
+
+
+
+
+ 将图像转为Icon对象,使用png格式
+
+
+
+
+
+
+ 将图像转为Icon对象
+
+
+
+
+
+
+
+ 返回适应指定容器大小的图像
+ 如果图像的尺寸(长或宽)超出了容器范围,将按比例获取图像的缩略图返回,否则直接返回图像
+ 此方法最终调用 Image.GetThumbnailImage
+ 但是注意,在指定的容器尺寸过小时,返回的Image尺寸不可知,是在为了显示16x16的小缩略图是发现了此问题
+ 使用 GetScaleImage
+
+
+
+
+
+
+
+
+ 返回适应指定容器大小的图像
+ 在需要的情况下,此方法创建一个新对象,进行绘制
+
+
+
+
+
+
+
+
+ 返回适应指定容器大小的图像
+ 在需要的情况下,此方法创建一个新对象,进行绘制
+
+
+
+
+
+
+
+
+ Gets the bounding rectangle of an image required to fit
+ in to the given rectangle keeping the image aspect ratio.
+
+ The source image.
+ The rectangle to fit in to.
+ Horizontal image aligment in percent.
+ Vertical image aligment in percent.
+ New image size.
+
+
+
+ Gets the bounding rectangle of an image required to fit
+ in to the given rectangle keeping the image aspect ratio.
+ The image will be centered in the fit box.
+
+ The source image.
+ The rectangle to fit in to.
+ New image size.
+
+
+
+ Gets the scaled size of an image required to fit
+ in to the given size keeping the image aspect ratio.
+
+ The source image.
+ The size to fit in to.
+ New image size.
+
+
+
+ 获取一个圆角矩形
+
+
+
+ 角度
+
+
+
+
+ 获取一个圆角矩形
+
+
+
+ 角度
+
+
+
+
+ 返回一个表示箭头的Path
+ 如果开始坐标和结束坐标之间的距离大于箭头的大小,箭头向结束坐标对齐,顶着结束坐标
+
+ 开始坐标
+ 结束坐标(顶点,方向)
+ 箭头的长短,大小
+ 箭头的粗细
+
+
+
+
+ 在指定的Image上绘制特定标记
+
+
+
+
+ 文件不存在
+
+
+
+
+
+ 文件不存在
+
+
+
+
+
+ 无法读取文件
+
+
+
+
+
+ 验证失败中显示错误信息时用的标题
+
+
+
+
+ 验证失败时是否需要高亮显示(改变背景色)
+
+
+
+
+ 验证控件的输入
+
+
+
+
+
+
+ 自定义验证方法
+ 在基础验证都通过后,才会调用自定义验证方法(如果有)
+
+
+
+
+ 是否支持 Windows Vista 以上的玻璃效果
+
+
+
+
+ 是否打开了玻璃效果
+
+
+
+
+ 获取应用程序主窗体
+
+
+
+
+ 所对应的绑定数据类型
+
+
+
+
+ 是否对 DataBoundType 的子类型有效
+ 默认无效
+ 如果设置为 true,又同时添加了基类与子类的 codon,则运行时会取到哪个codon不确定
+ 通常取先添加的那个
+
+
+
+
+ 如果输入的字符串包含 "${...}" 这样的格式,则认为是指代资源文件中的一个字符串资源
+
+
+
+
+
+
+ 获取授予该组件的许可证密钥
+
+
+
+
+ 0:未验证
+ 1:验证失败
+ 2:验证通过
+
+
+
+
+ 获取组件的实例或类型的许可证(如果已给定上下文并确定拒绝许可证是否引发异常)。
+
+
+
+
+
+
+
+
+
+ 强类型资源类,用于查找本地化字符串等。
+
+
+
+
+ 返回此类使用的缓存 ResourceManager 实例。
+
+
+
+
+ 为使用此强类型资源类的所有资源查找
+ 重写当前线程的 CurrentUICulture 属性。
+
+
+
+
+ 查找类似 消息 的本地化字符串。
+
+
+
+
+ 查找类似 底部 的本地化字符串。
+
+
+
+
+ 查找类似 顶部 的本地化字符串。
+
+
+
+
+ 查找类似 更大 (48x48) 的本地化字符串。
+
+
+
+
+ 查找类似 大 (32x32) 的本地化字符串。
+
+
+
+
+ 查找类似 中 (24x24) 的本地化字符串。
+
+
+
+
+ 查找类似 小 (16x16) 的本地化字符串。
+
+
+
+
+ Returns true if the current language is the default language.
+
+
+
+
+ Returns a System.String that represents the current System.Object.
+
+
+
+
+ 返回此类使用的缓存 ResourceManager 实例。
+
+
+
+
+ 为使用此强类型资源类的所有资源查找
+ 重写当前线程的 CurrentUICulture 属性。
+
+
+
+
+ 查找类似 消息 的本地化字符串。
+
+
+
+
+ 查找类似 底部 的本地化字符串。
+
+
+
+
+ 查找类似 顶部 的本地化字符串。
+
+
+
+
+ 查找类似 更大 (48x48) 的本地化字符串。
+
+
+
+
+ 查找类似 大 (32x32) 的本地化字符串。
+
+
+
+
+ 查找类似 中 (24x24) 的本地化字符串。
+
+
+
+
+ 查找类似 小 (16x16) 的本地化字符串。
+
+
+
+
+ Returns true if the current language is the default language.
+
+
+
+
+ Call GetLanguages() to retrieve a list of possible languages that can be used to set this property.
+ The default value is the default language.
+
+
+
+
+ Gets a list of available languages defined in this assembly.
+
+
+
+
+ 如果输入的字符串包含 "${...}" 这样的格式,则认为是指代资源文件中的一个字符串资源
+
+
+
+
+
+
+ Represents a pop-up window.
+
+
+
+
+ Gets the content of the pop-up.
+
+
+
+
+ Determines which animation to use while showing the pop-up window.
+
+
+
+
+ Determines which animation to use while hiding the pop-up window.
+
+
+
+
+ Determines the duration of the animation.
+
+
+
+
+ Gets or sets a value indicating whether the content should receive the focus 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 the is resizable.
+
+ true if resizable; otherwise, false.
+
+
+
+ Gets or sets a minimum size of the pop-up.
+
+ An ordered pair of type representing the width and height of a rectangle.
+
+
+
+ Gets or sets a maximum size of the pop-up.
+
+ 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 class.
+
+ The content of the pop-up.
+
+ Pop-up will be disposed immediately after disposion of the content control.
+
+ is null.
+
+
+
+ Raises the event.
+
+ An that contains the event data.
+
+
+
+ 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 the 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 the pop-up window below the specified area of the 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.
+
+
+
+ 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.
+
+
+
+ Raises the event.
+
+ A 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 sizing 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.
+
+
+
+
+ Types of animation of the pop-up window.
+
+
+
+
+ Uses no animation.
+
+
+
+
+ Animates the window from left to right. This flag can be used with roll or slide animation.
+
+
+
+
+ Animates the window from right to left. This flag can be used with roll or slide animation.
+
+
+
+
+ Animates the window from top to bottom. This flag can be used with roll or slide animation.
+
+
+
+
+ Animates the window from bottom to top. This flag can be used with roll or slide animation.
+
+
+
+
+ Makes the window appear to collapse inward if it is hiding or expand outward if the window is showing.
+
+
+
+
+ Uses a slide animation.
+
+
+
+
+ Uses a fade effect.
+
+
+
+
+ Uses a roll animation.
+
+
+
+
+ Uses a default animation.
+
+
+
+
+ Represents a Windows combo box control with a custom popup control attached.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets the drop down control.
+
+ The drop down control.
+
+
+
+ Gets or sets a value indicating whether the combo box is displaying its drop-down portion.
+
+
+ true if the drop-down portion is displayed; otherwise, false. The default is false.
+
+
+
+
+ Occurs when the drop-down portion of a is shown.
+
+
+
+
+ Shows the drop down.
+
+
+
+
+ Occurs when the drop-down portion of the is no longer visible.
+
+
+
+
+ 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.
+
+
+
+
+ Represents a Windows combo box control which can be used in a popup's content control.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Raises the event.
+
+ An that contains the event data.
+
+
+
+ Raises the event.
+
+ An that contains 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.
+
+
+
+
+ 白色到灰色的垂直渐变
+
+
+
+
+ A ToolstripManager rendering class with advanced control features
+
+
+
+
+ Creates a new EasyRender class for modifications
+
+
+
+
+ Gets the manager to edit and change the appearance of the Toolstrip
+
+
+
+
+ Gets the manager to edit and change the appearance of Toolstrip buttons
+
+
+
+
+ Gets the manager to edit and change the appearance of other Toolstrip controls
+
+
+
+
+ Gets the manager to edit and change the appearance of the Panels
+
+
+
+
+ Gets the manager to edit and change the appearance of the Toolstrip split buttons
+
+
+
+
+ Gets the manager to edit and change the appearance of the Status-bar
+
+
+
+
+ Gets or sets whether to smooth the font text on all controls
+
+
+
+
+ Gets or sets the color of the text if the AlterColor is set to true
+
+
+
+
+ Gets or sets whether to override the font-color on all controls
+
+
+
+
+ Creates a GraphicsPath that appreciates an area where things can be drawn
+
+ The rectangular area which will serve as the base
+ The curve amount of the corners
+
+
+
+
+ Creates a triangle based on the size and bounds sectors
+
+ The area which the triangle is confined to
+ The size of the triangle
+ The direction which the triangle is pointing
+
+
+
+
+ Gets a color array based on the state of a normal button
+
+ The button to check the state of
+
+
+
+
+ Gets a color array based on the state of a split-button
+
+ The button to check the state of
+
+
+
+
+ Gets a color array based on the state of a menu-item
+
+ The button to check the state of
+
+
+
+
+ Gets a color array based on the state of a drop-down button
+
+ The button to check the state of
+
+
+
+
+ Gets a blending property for a specified type of Toolstrip item
+
+ The Toolstrip item
+ The type of item this is
+
+
+
+
+ Fills a specified boundary with color
+
+ The Graphics object to draw onto
+ The boundaries to draw the color
+ The brush to fill the color
+
+
+
+ Fills a specified boundary with a gradient with specified colors
+
+ The Graphics object to draw onto
+ The boundaries to draw the color
+ The color of the gradient at the top
+ The color of the gradient at the bottom
+
+
+
+ Fills a specified boundary with a gradient with specified colors at a given angle
+
+ The Graphics object to draw onto
+ The boundaries to draw the color
+ The color of the gradient at the top
+ The color of the gradient at the bottom
+ The angle which the gradient is drawn (null defaults to 90f)
+
+
+
+ Fills a specified boundary with a gradient with specified colors at a given angle and with blending properties
+
+ The Graphics object to draw onto
+ The boundaries to draw the color
+ The color of the gradient at the top
+ The color of the gradient at the bottom
+ The angle which the gradient is drawn (null defaults to 90f)
+ The blending options to draw the gradient
+
+
+
+ Draws a set path with a defined brush
+
+ The Graphics object to draw onto
+ The path to draw along
+ The brush to fill the color
+
+
+
+ Draws a set path with specified colors
+
+ The Graphics object to draw onto
+ The path to draw along
+ The area of span the border gradient covers
+ The color of the gradient at the top
+ The color of the gradient at the bottom
+
+
+
+ Draws a set path with specified colors at a given angle
+
+ The Graphics object to draw onto
+ The path to draw along
+ The area of span the border gradient covers
+ The color of the gradient at the top
+ The color of the gradient at the bottom
+ The angle which the gradient is drawn (null defaults to 90f)
+
+
+
+ Draws a set path with specified colors at a given angle with blending properties
+
+ The Graphics object to draw onto
+ The path to draw along
+ The color of the gradient at the top
+ The color of the gradient at the bottom
+ The angle which the gradient is drawn (null defaults to 90f)
+ The blending options to draw the gradient
+
+
+
+ Draws a Toolstrip button
+
+ The Toolstrip button
+ The Graphics object to handle
+ The parent Toolstrip
+
+
+
+ Draws a Toolstrip button
+
+ The Toolstrip button
+ The Graphics object to handle
+ The parent Toolstrip
+
+
+
+ Draws the Toolstrip background
+
+ The Toolstrip being drawn
+ The Graphics object to handle
+ The affected bounds
+
+
+
+ Draws a Toolstrip split-button
+
+ The Toolstrip split-button
+ The Graphics object to handle
+ The parent Toolstrip
+
+
+
+ Draws the Statusbar background
+
+ The Statusbar being drawn
+ The Graphics object to handle
+ The affected bounds
+
+
+
+ Draws a Menustrip item
+
+ The Menustrip item
+ The Graphics object to handle
+ The parent Toolstrip
+
+
+
+ Covers the button background rendering
+
+
+
+
+
+ Applies any and all changes made to the Renderer
+
+
+
+
+ A class designed to be used in the EasyRender master control to customize the look and feel of the base Toolstrip
+
+
+
+
+ Creates a new IToolstrip class for customization
+
+
+
+
+ Creates a new IToolstrip class for customization
+
+ The IToolstrip to import the settings from
+
+
+
+ Disposes of the IToolstrip class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the Toolstrip background gradient from the top
+
+
+
+
+ Gets or sets the color of the Toolstrip background gradient from the bottom
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Toolstrip background
+ If set to null, the Toolstrip will simply draw the gradient
+
+
+
+
+ Gets or sets the angle which the Toolstrip background will be drawn
+
+
+
+
+ Gets or sets the color of the Toolstrip border gradient from the top
+
+
+
+
+ Gets or sets the color of the Toolstrip border gradient from the bottom
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Toolstrip border
+ If set to null, the Toolstrip will simply draw the border
+
+
+
+
+ Gets or sets the angle which the Toolstrip border will be drawn
+
+
+
+
+ Gets or sets the curve of the border of the Toolstrip
+
+
+
+
+ Imports the settings from a previous or pre-defined IToolstrip and applies it to the current
+
+ The IToolstrip to import the settings from
+
+
+
+ Sets the blending for both border and background to their defaults
+
+
+
+
+ Creates a new IToolstripControls class for customization
+
+
+
+
+ Disposes of the IToolstripControls class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the Toolstrip seperator on the dark side
+
+
+
+
+ Gets or sets the color of the Toolstrip seperator on the light side
+
+
+
+
+ Gets or sets the height of the Toolstrip seperator control
+
+
+
+
+ Gets or sets the color of the grip dots/line at the top
+
+
+
+
+ Gets or sets the color of the grip shadow
+
+
+
+
+ Gets or sets in what mode the grip will be drawn
+
+
+
+
+ Gets or sets the distance, in pixels, between each grip dot
+
+
+
+
+ Gets or sets the size of the dots or lines for the grip
+
+
+
+
+ Imports the settings from a previous or pre-defined IToolstripControls and applies it to the current
+
+ The IToolstripControls to import the settings from
+
+
+
+ Creates a new IButton class for customization
+
+
+
+
+ Creates a new IButton class for customization
+
+ The IButton to import the settings from
+
+
+
+ Disposes of the IButton class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the Button background at the top, when hovered over
+
+
+
+
+ Gets or sets the color of the Button background at the bottom, when hovered over
+
+
+
+
+ Gets or sets the color of the Button background at the top, when clicked
+
+
+
+
+ Gets or sets the color of the Button background at the bottom, when clicked
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Button background
+ If set to null, the Button will simply draw the gradient
+
+
+
+
+ Gets or sets the angle which the Button background will be drawn
+
+
+
+
+ Gets or sets the color of the Button border gradient from the top
+
+
+
+
+ Gets or sets the color of the Button border gradient from the bottom
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Button border
+ If set to null, the Button will simply draw the border
+
+
+
+
+ Gets or sets the angle which the Button border will be drawn
+
+
+
+
+ Gets or sets the color of the inside border
+
+
+
+
+ Gets or sets when to apply the rendering ("Normal" does not apply here)
+
+
+
+
+ Gets or sets the curve of the border of the Button
+
+
+
+
+ Imports the settings from a previous or pre-defined IButton and applies it to the current
+
+ The IButton to import the settings from
+
+
+
+ Sets the blending for both border and background to their defaults
+
+
+
+
+ Creates a new IButton class for customization
+
+
+
+
+ Creates a new IButton class for customization
+
+ The IButton to import the settings from
+
+
+
+ Disposes of the IButton class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the Button background at the top, when hovered over
+
+
+
+
+ Gets or sets the color of the Button background at the bottom, when hovered over
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Button background
+ If set to null, the Button will simply draw the gradient
+
+
+
+
+ Gets or sets the angle which the Button background will be drawn
+
+
+
+
+ Gets or sets the color of the Button border gradient from the top
+
+
+
+
+ Gets or sets the color of the Button border gradient from the bottom
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Button border
+ If set to null, the Button will simply draw the border
+
+
+
+
+ Gets or sets the angle which the Button border will be drawn
+
+
+
+
+ Gets or sets the color of the inside border
+
+
+
+
+ Gets or sets when to apply the rendering ("Normal" and "Click" do not apply here)
+
+
+
+
+ Gets or sets the curve of the border of the Button
+
+
+
+
+ Imports the settings from a previous or pre-defined IDropDownButton and applies it to the current
+
+ The IDropDownButton to import the settings from
+
+
+
+ Sets the blending for both border and background to their defaults
+
+
+
+
+ Creates a new ISplitButton class for customization
+
+
+
+
+ Disposes of the ISplitButton class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the Button background at the top, when hovered over
+
+
+
+
+ Gets or sets the color of the Button background at the bottom, when hovered over
+
+
+
+
+ Gets or sets the color of the Button background at the top, when clicked
+
+
+
+
+ Gets or sets the color of the Button background at the bottom, when clicked
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Button background
+ If set to null, the Button will simply draw the gradient
+
+
+
+
+ Gets or sets the angle which the Button background will be drawn
+
+
+
+
+ Gets or sets the color of the Button border gradient from the top
+
+
+
+
+ Gets or sets the color of the Button border gradient from the bottom
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Button border
+ If set to null, the Button will simply draw the border
+
+
+
+
+ Gets or sets the angle which the Button border will be drawn
+
+
+
+
+ Gets or sets the color of the inside border
+
+
+
+
+ Gets or sets when to apply the rendering ("Normal" does not apply here)
+
+
+
+
+ Gets or sets the curve of the border of the Button
+
+
+
+
+ Gets or sets when to display the drop-down arrow
+
+
+
+
+ Gets or sets the color of the drop-down arrow
+
+
+
+
+ Imports the settings from a previous or pre-defined ISplitButton and applies it to the current
+
+ The ISplitButton to import the settings from
+
+
+
+ Sets the blending for both border and background to their defaults
+
+
+
+
+ Creates a new IPanel class for customization
+
+
+
+
+ Disposes of the IButton class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the gradient at the top of the content panel
+
+
+
+
+ Gets or sets the color of the gradient at the bottom of the content panel
+
+
+
+
+ Gets or sets whether each panel inherits the shading from the content panel
+
+
+
+
+ Gets or sets the angle which the background gradient is drawn
+
+
+
+
+ Gets or sets the blend of the background
+
+
+
+
+ Gets or sets a mode to render the background in
+
+
+
+
+ Creates a new IStatusBar class for customization
+
+
+
+
+ Disposes of the IButton class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the gradient of the background at the top
+
+
+
+
+ Gets or sets the color of the gradient of the background at the bottom
+
+
+
+
+ Gets or sets the blending that will apply to the background
+
+
+
+
+ Gets or sets the angle which the background gradient will be drawn
+
+
+
+
+ Gets or sets the color of the dark border
+
+
+
+
+ Gets or sets the color of the light border
+
+
+
+
+ Gets or sets the color of the grip at the top-most
+
+
+
+
+ Gets or sets the color of the grip at the bottom-most
+
+
+
+
+ Gets or sets the spacing of the grip blocks
+
+
+
+
+ Imports the settings from a previous or pre-defined IStatusBar and applies it to the current
+
+ The IStatusBar to import the settings from
+
+
+
+ Sets the blending for both border and background to their defaults
+
+
+
+
+ A class designed to be used in the EasyRender master control to customize the look and feel of the base Menustrip
+
+
+
+
+ Creates a new IToolstrip class for customization
+
+
+
+
+ Creates a new IMenustrip class for customization
+
+ The IMenustrip to import the settings from
+
+
+
+ Disposes of the IMenustrip class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the menu-strip border (dark)
+
+
+
+
+ Gets or sets the color of the menu-strip border (light)
+
+
+
+
+ Gets or sets how the background of the menu-strip is inherited
+
+
+
+
+ If inheritence is set to none, the color of the background gradient at the top
+
+
+
+
+ If inheritence is set to none, the color of the background gradient at the bottom
+
+
+
+
+ If inheritence is set to none, the blending option for the background
+
+
+
+
+ Gets or sets the color of the margin gradient at the left
+
+
+
+
+ Gets or sets the color of the margin gradient at the right
+
+
+
+
+ Gets or sets the color of the margin border (displayed to the right)
+
+
+
+
+ Gets or sets the color of the root menu-strip button background when it is selected
+
+
+
+
+ Gets or sets the color of the root menu-strip button border when it is selected
+
+
+
+
+ Gets or sets the color of the seperator dark color
+
+
+
+
+ Gets or sets the color of the seperator light color
+
+
+
+
+ Gets or sets the inset position of the seperator from the left
+
+
+
+
+ Gets the class that handles the look and feel of the menu-strip items
+
+
+
+
+ Imports the settings from a previous or pre-defined IMenustrip and applies it to the current
+
+ The IMenustrip to import the settings from
+
+
+
+ Sets the blending for the background to it's default
+
+
+
+
+ Defines when to show an arrow
+
+
+
+
+ Defines when to use a blend property
+
+
+
+
+ Use the blend when the object is drawn
+
+
+
+
+ Use the blend when the object is hovered over
+
+
+
+
+ Use the blend when the object is clicked
+
+
+
+
+ Use the blend when the object is checked
+
+
+
+
+ Always use the blend regardless of the state of the object
+
+
+
+
+ Defines a method of drawing a grip on a control
+
+
+
+
+ Draws the grip as a set of dots
+
+
+
+
+ Draws the grip as two lines
+
+
+
+
+ Does not draw the grip at all, but the object remains moveable
+
+
+
+
+ Defines a specific type of button to search by
+
+
+
+
+ Defines a method for background or object inheritence
+
+
+
+
+ Defines a method of rendering
+
+
+
+
+ 主菜单
+
+
+
+
+ 背景透明的工具条
+
+
+
+
+ 银白色至白色渐变
+
+
+
+
+ 白色至银白色渐变
+
+
+
+
+ 当前工作区窗体所关联并激活的工具栏
+
+
+
+
+ 模拟运行时的外观
+
+
+
+
+ Represents the visual state of an image list view item.
+
+
+
+
+ 没有任何选择状态,处于一般正常状态
+
+
+
+
+ 项处于选中状态
+
+
+
+
+ 鼠标滑过
+
+
+
+
+ 边框宽度
+
+
+
+
+ 文本和description文本之间的间距
+
+
+
+
+ 最大显示的项数
+
+
+
+
+ 是否显示说明字段,此属性不影响弹出面板是否显示
+ 弹出面板是否显示由DescriptionMember是否设置决定
+
+
+
+
+ 下拉列表的布局模式
+
+
+
+
+ 是否允许空
+
+
+
+
+ 测量当前控件应该的高度
+
+
+
+
+
+ 整个可用的绘图表面
+
+
+
+
+ 右边按钮的绘图表面
+
+
+
+
+ 绘制边框
+
+
+
+
+
+ 绘制背景
+
+
+
+
+
+ 绘制文本
+
+
+
+
+
+ 当前热点项生改变
+
+
+
+
+ 通过外能事件获取用于绘制项的文本
+
+
+
+
+ 标题
+
+
+
+
+ 验证失败时是否需要高亮显示(改变背景色)
+
+
+
+
+ 排序箭头开始颜色
+
+
+
+
+ 排序箭头开始颜色
+
+
+
+
+ 控件的背景画布颜色
+ 因为控件的边框和过度色都有依靠改变透明度实现渐变,所以一个白色的底版就非常重要
+ 使过度色不受控件本身背景色的影响,光不绘制背景不行,要刷上白色背景
+
+
+
+
+ 控件背景色
+
+
+
+
+ 边框颜色
+
+
+
+
+ Represents the visual state of an image list view item.
+
+
+
+
+ 没有任何选择状态,处于一般正常状态
+
+
+
+
+ 项处于选中状态
+
+
+
+
+ 该项具有输入焦点
+
+
+
+
+ 鼠标滑过
+
+
+
+
+ The item is not visible.
+
+
+
+
+ The item is partially visible.
+
+
+
+
+ The item is fully visible.
+
+
+
+
+ 布局方式
+
+
+
+
+ 标准布局
+
+
+
+
+ 使项带有描述的布局
+
+
+
+
+ 双击项事件参数
+
+
+
+
+ 项被删除事件参数
+
+
+
+
+ 为项绘制带有描述信息的渲染器
+
+
+
+
+ 字的高度是否已初始化
+ 在第一次绘制时,测量文本的高度
+
+
+
+
+ 框选的最短开始长度
+
+
+
+
+ 框选时滚动条的自动滚动速度
+
+
+
+
+ 用于鼠标框选时,框出了控件中项的显示范围时,自动滚动滚动条
+
+
+
+
+ 自动滚动时,滚动值
+
+
+
+
+ 是否处于框选状态中
+
+
+
+
+ 内框offset,内框offset是绝对相对于滚动条的
+
+
+
+
+ 整个可显示项的边界的offset,包括上下padding部分
+
+
+
+
+ 鼠标按下时项区域边界的offset,即 _itemsAreaOffset
+ 用于框选时,跨越可视部队画框
+
+
+
+
+ 当前所能显示的最大行数
+
+
+
+
+ Gets whether the shift key is down.
+
+
+
+
+ Gets whether the control key is down.
+
+
+
+
+ 没有任何项
+
+
+
+
+ 没有任何项处于可显示状态
+
+
+
+
+ 整个控件区域
+
+
+
+
+ 整个可用于绘制项的可视区域
+ 去除左右Padding部分,去除滚动条
+
+
+
+
+ 用于绘制项的区域
+ 考虑边距间隔大小和滚动条区域
+
+
+
+
+ 项的尺寸
+ 不放在ListView本身中定义而是放在LayoutManager中定义,是因为不同的布局方式
+ 可能会是带长宽的Size做为itemSize,比如平铺的方式
+
+
+
+
+ 项周围的边距
+
+
+
+
+ 更新整个布局引擎的状态
+
+
+
+
+ 判断指定的项是否处于可见状态
+
+
+
+
+
+
+ 获取项的呈现区域
+
+
+
+
+
+
+ 获取当前所有可见项
+
+
+
+
+
+ Calculates the maximum number of rows and columns
+ that can be fully displayed.
+
+
+
+
+ 计算当前可见项的index范围
+
+
+
+
+ 更新滚动条状态
+
+
+
+
+ 创建框选框
+
+
+
+
+
+ 根据矩形区域选择项
+
+
+
+
+
+ 应用导航键,如上下左右,返回应用导航键之后的项的坐标
+
+
+
+
+ 使指定下标的项处于可见状态
+
+
+
+
+
+ 默认渲染器,不绘制项的实际内容,但是绘制DEBUG信息
+
+
+
+
+ 用于子类重写时删除相应的缓存
+
+
+
+
+
+ 绘制项的背景
+
+ The System.Drawing.Graphics to draw on.
+ The client coordinates of the item area.
+
+
+
+ 绘制最终的前景
+
+
+
+
+
+
+ 绘制选择边框
+
+ The System.Drawing.Graphics to draw on.
+ The client coordinates of the selection rectangle.
+
+
+
+ 绘制项的边框
+
+
+
+
+
+
+ 绘制项
+
+
+
+
+
+
+
+
+ 绘制项的背景
+
+
+
+
+
+
+ 绘制项的内容
+
+
+
+
+
+
+
+ 绘制背景
+
+
+
+
+
+ 绘制当前所有可见项
+
+
+
+
+
+ Renders the selection rectangle.
+
+ The graphics to draw on.
+
+
+
+ 默认渲染器,以类似微软ListView的方式按行绘制项,只绘制简单的文本
+
+
+
+
+ 字的高度是否已初始化
+ 在第一次绘制时,测量文本的高度
+
+
+
+
+ 项的背景色
+
+
+
+
+ 控件背景色
+
+
+
+
+ 项的边框色
+
+
+
+
+ 选择框颜色
+
+
+
+
+ 选择框的边框色
+
+
+
+
+ 当控件具有焦点时选定项的背景色
+
+
+
+
+ 控件失去焦点时选定项的背景色
+
+
+
+
+ 热点项的背景色
+
+
+
+
+ 图像内边框颜色
+
+
+
+
+ 图像外边框颜色
+
+
+
+
+ Creates a control with a border.
+
+
+
+
+ Specifies that the control has a border with a sunken edge.
+
+
+
+
+ 是否需要在调用 ResumeLayout 时重绘
+
+
+
+
+ 为项扩展的用于呈现的属性
+
+
+
+
+ Gets whether the shift key is down.
+
+
+
+
+ Gets whether the control key is down.
+
+
+
+
+ 鼠标左键是否处于按下状态
+
+
+
+
+ 鼠标右键是否处于按下状态
+
+
+
+
+ 鼠标最后点击的位置
+
+
+
+
+ 当前鼠标经过的项
+
+
+
+
+ 配色方案
+
+
+
+
+ 当前布局中项的高度
+
+
+
+
+ 是否没有任何项
+
+
+
+
+ 获取当前具有输入焦点的项
+
+
+
+
+ 默认的用于呈现为项中文本的Property
+
+
+
+
+ 更改了选择的项
+
+
+
+
+ 双击项
+
+
+
+
+
+ 请求在下次调用 ResumeLayout 时重绘
+
+
+
+
+ 获取当前选中的所有项
+
+
+
+
+
+ 设置扩展属性供特定LayoutEngine使用
+ 如果指定的 ExtendMember 已存在,覆盖之
+ 用String.Empty 或 null 做为 propertyName传入,表示删除指定的 member
+
+
+
+
+
+
+ 恢复正常的布局逻辑。
+
+
+
+
+ 临时挂起控件的布局逻辑。
+
+
+
+
+ 获取当前选中项所绑定的对象
+ 如果没有选中项,返回null,如果选中多项,返回选中项集合中的第一个
+
+
+
+
+
+ 根据指定的绑定项对象
+ 设置当前列表中选定的项
+
+
+
+
+
+ 获取当前选中的所有项的绑定对象集合
+ 如果当前没有选中任何项,返回空集合
+
+
+
+
+
+ 取消所有项的选择
+
+
+
+
+ 获取创建控件句柄时所需要的创建参数
+
+
+
+
+ 更改了选择的项
+
+
+
+
+ 双击项
+
+
+
+
+ 项被删除
+
+
+
+
+ 通过外能事件获取用于绘制项的文本
+
+
+
+
+ Represents the color palette of the image list view.
+
+
+
+
+ Gets or sets the background color of the ImageListView control.
+
+
+
+
+ Gets or sets the background color of the ImageListViewItem.
+
+
+
+
+ Gets or sets the background color of alternating cells in Details View.
+
+
+
+
+ Gets or sets the border color of the ImageListViewItem.
+
+
+
+
+ Gets or sets the foreground color of the ImageListViewItem.
+
+
+
+
+ Gets or sets the background gradient color1 of the ImageListViewItem if the control is not focused.
+
+
+
+
+ Gets or sets the background gradient color2 of the ImageListViewItem if the control is not focused.
+
+
+
+
+ Gets or sets the border color of the ImageListViewItem if the control is not focused.
+
+
+
+
+ Gets or sets the fore color of the ImageListViewItem if the control is not focused.
+
+
+
+
+ Gets or sets the background gradient color1 if the ImageListViewItem is hovered.
+
+
+
+
+ Gets or sets the background gradient color2 if the ImageListViewItem is hovered.
+
+
+
+
+ Gets or sets the border color of the ImageListViewItem if the item is hovered.
+
+
+
+
+ Gets or sets the color of the insertion caret.
+
+
+
+
+ Gets or sets the background gradient color1 if the ImageListViewItem is selected.
+
+
+
+
+ Gets or sets the background gradient color2 if the ImageListViewItem is selected.
+
+
+
+
+ Gets or sets the border color of the ImageListViewItem if the item is selected.
+
+
+
+
+ Gets or sets the fore color of the ImageListViewItem if the item is selected.
+
+
+
+
+ Gets or sets the background gradient color1 of the column header.
+
+
+
+
+ Gets or sets the background gradient color2 of the column header.
+
+
+
+
+ Gets or sets the background hover gradient color1 of the column header.
+
+
+
+
+ Gets or sets the background hover gradient color2 of the column header.
+
+
+
+
+ Gets or sets the cells foreground color of the column header text.
+
+
+
+
+ Gets or sets the cells background color if column is selected in Details View.
+
+
+
+
+ Gets or sets the color of the separator in Details View.
+
+
+
+
+ Gets or sets the foreground color of the cell text in Details View.
+
+
+
+
+ Gets or sets the foreground color of alternating cells text in Details View.
+
+
+
+
+ Gets or sets the background color of the image pane.
+
+
+
+
+ Gets or sets the separator line color between image pane and thumbnail view.
+
+
+
+
+ Gets or sets the color of labels in pane view.
+
+
+
+
+ Gets or sets the image inner border color for thumbnails and pane.
+
+
+
+
+ Gets or sets the image outer border color for thumbnails and pane.
+
+
+
+
+ Gets or sets the background color1 of the selection rectangle.
+
+
+
+
+ Gets or sets the background color2 of the selection rectangle.
+
+
+
+
+ Gets or sets the color of the selection rectangle border.
+
+
+
+
+ Initializes a new instance of the ImageListViewColor class.
+
+
+
+
+ Initializes a new instance of the ImageListViewColor class
+ from its string representation.
+
+ String representation of the object.
+
+
+
+ Copies color values from the given object.
+
+ The source object.
+
+
+
+ Represents the default color theme.
+
+
+
+
+ Represents the noir color theme.
+
+
+
+
+ Represents the mandarin color theme.
+
+
+
+
+ Sets the color palette to default colors.
+
+
+
+
+ Sets the color palette to mandarin colors.
+
+
+
+
+ Sets the color palette to noir colors.
+
+
+
+
+ Determines whether all color values of the specified
+ ImageListViewColor are equal to this instance.
+
+ The object to compare with this instance.
+ true if the two instances have the same color values;
+ otherwise false.
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in
+ hashing algorithms and data structures like a hash table.
+
+
+
+
+ Returns a string that represents this instance.
+
+
+ A string that represents this instance.
+
+
+
+
+ 测试坐标
+
+
+
+
+ 项的坐标
+
+
+
+
+ 是否点击了项
+
+
+
+
+ 该项当前的选中状态
+
+
+
+
+ 所绑定的对象
+
+
+
+
+ 将指定的事件移动到(紧邻)另一个事件之前
+
+
+
+
+
+
+ 将指定的事件移动到(紧邻)另一个事件之后
+
+
+
+
+
+
+ 通过窗口的标题来查找窗口的句柄
+
+
+
+
+
+
+
+ 发送 Windows 消息
+
+
+
+
+
+
+
+
+
+ 发送消息,只能传递一个自定义的消息ID和消息字符串,想传一个结构,但没成功
+
+ 目标进程名称,如果有多个,则给每个都发送
+ 自定义数据,可以通过这个来决定如何解析下面的strMsg
+ 传递的消息,是一个字符串
+
+
+
+ 接收消息,得到消息字符串
+
+ System.Windows.Forms.Message m
+ 接收到的消息字符串
+
+
+
+ 最大圆角半径
+
+
+
+
+ 最小矩形边长,用于自动处理圆角大小
+
+
+
+
+ 绘制一个圆角矩形.
+
+ 当前屏幕的图形对象
+ 矩形线条的颜色
+ 矩形左上角X坐标
+ 矩形左上角Y坐标
+ 矩形右下角X坐标
+ 矩形右下角Y坐标
+ 圆角的半径长度
+
+
+
+ 绘制一个圆角矩形.
+
+ 当前屏幕的图形对象
+ 矩形线条的颜色
+ 要绘制的矩形对象
+ 圆角的半径长度
+
+
+
+ 绘制一个圆角矩形.
+
+ 当前屏幕的图形对象
+ 矩形线条的颜色
+ 要绘制的矩形对象
+
+
+
+ 填充一个圆角矩形.
+
+ 当前屏幕的图形对象
+ 矩形线条的颜色
+ 矩形左上角X坐标
+ 矩形左上角Y坐标
+ 矩形右下角X坐标
+ 矩形右下角Y坐标
+ 圆角的半径长度
+
+
+
+ 填充一个圆角矩形.
+
+ 当前屏幕的图形对象
+ 矩形线条的颜色
+ 要填充的矩形
+ 填充区域针对矩形的缩进距离
+ 圆角的半径长度
+
+
+
+ 填充一个圆角矩形.
+
+ 当前屏幕的图形对象
+ 矩形线条的颜色
+ 要填充的矩形
+
+
+
+ 使图片单色化
+
+
+
+
获取颜色
diff --git a/Bin/Debug/CommonControls/.NET4/ryUpdate.dll b/Bin/Debug/CommonControls/.NET4/ryUpdate.dll
index ac81536..26700de 100644
Binary files a/Bin/Debug/CommonControls/.NET4/ryUpdate.dll and b/Bin/Debug/CommonControls/.NET4/ryUpdate.dll differ
diff --git a/Bin/Release/CommonControls/.NET4 示例/Itrycn_Project.exe b/Bin/Release/CommonControls/.NET4 示例/Itrycn_Project.exe
index ea2b1fa..2c68059 100644
Binary files a/Bin/Release/CommonControls/.NET4 示例/Itrycn_Project.exe and b/Bin/Release/CommonControls/.NET4 示例/Itrycn_Project.exe differ
diff --git a/Bin/Release/CommonControls/.NET4 示例/MyDb.dll b/Bin/Release/CommonControls/.NET4 示例/MyDb.dll
index 3923da8..76c08a5 100644
Binary files a/Bin/Release/CommonControls/.NET4 示例/MyDb.dll and b/Bin/Release/CommonControls/.NET4 示例/MyDb.dll differ
diff --git a/Bin/Release/CommonControls/.NET4 示例/MyDb.xml b/Bin/Release/CommonControls/.NET4 示例/MyDb.xml
index a1e4242..ca851d0 100644
--- a/Bin/Release/CommonControls/.NET4 示例/MyDb.xml
+++ b/Bin/Release/CommonControls/.NET4 示例/MyDb.xml
@@ -982,6 +982,16 @@
+
+
+ 支持忽略大小写的替换功能
+
+
+
+
+ 是否忽略大小写
+
+
获取匹配的内容
@@ -1065,6 +1075,16 @@
是否是通配符表达式,不是,则普通替换,忽略大小写,是,则启用通配符替换
+
+
+ 支持忽略大小写的替换文本功能
+
+
+
+
+ 是否忽略大小写
+
+
获取符合要求的第一个结果
diff --git a/Bin/Release/CommonControls/.NET4 示例/MyDb_SQLite.dll b/Bin/Release/CommonControls/.NET4 示例/MyDb_SQLite.dll
index ebcd6e2..0469281 100644
Binary files a/Bin/Release/CommonControls/.NET4 示例/MyDb_SQLite.dll and b/Bin/Release/CommonControls/.NET4 示例/MyDb_SQLite.dll differ
diff --git a/Bin/Release/CommonControls/.NET4 示例/RyPrint.dll b/Bin/Release/CommonControls/.NET4 示例/RyPrint.dll
index 5d19da3..c954a9a 100644
Binary files a/Bin/Release/CommonControls/.NET4 示例/RyPrint.dll and b/Bin/Release/CommonControls/.NET4 示例/RyPrint.dll differ
diff --git a/Bin/Release/CommonControls/.NET4 示例/RyWeb.dll b/Bin/Release/CommonControls/.NET4 示例/RyWeb.dll
index 083dba2..01a363b 100644
Binary files a/Bin/Release/CommonControls/.NET4 示例/RyWeb.dll and b/Bin/Release/CommonControls/.NET4 示例/RyWeb.dll differ
diff --git a/Bin/Release/CommonControls/.NET4 示例/RyWeb.xml b/Bin/Release/CommonControls/.NET4 示例/RyWeb.xml
index 36dfc4a..0f17d55 100644
--- a/Bin/Release/CommonControls/.NET4 示例/RyWeb.xml
+++ b/Bin/Release/CommonControls/.NET4 示例/RyWeb.xml
@@ -472,6 +472,11 @@
+
+
+
+
+
diff --git a/Bin/Release/CommonControls/.NET4 示例/ryControls.dll b/Bin/Release/CommonControls/.NET4 示例/ryControls.dll
index 3f08c52..c476fc0 100644
Binary files a/Bin/Release/CommonControls/.NET4 示例/ryControls.dll and b/Bin/Release/CommonControls/.NET4 示例/ryControls.dll differ
diff --git a/Bin/Release/CommonControls/.NET4 示例/ryControls.xml b/Bin/Release/CommonControls/.NET4 示例/ryControls.xml
index 01e3c20..cea5fe2 100644
--- a/Bin/Release/CommonControls/.NET4 示例/ryControls.xml
+++ b/Bin/Release/CommonControls/.NET4 示例/ryControls.xml
@@ -26898,6 +26898,2798 @@
The index of the matched row, or -1
+
+
+ 初始化的时候给个alpha值,这样在灰图片的时候可以半透明
+
+
+
+
+
+ 使图片单色化
+
+
+
+
+
+
+ 自定义
+
+
+
+
+ 预置
+
+
+
+
+ 系统
+
+
+
+
+ 颜色表示法
+
+
+
+
+ 根据颜色表示字符串获取对应的颜色
+
+
+
+
+
+
+ 从文件中获取Image对象
+ 这个函数的主要功能是处理一些ico文件
+ 一些ico文件的格式可能比较新,直接Image.FormFile,会报内存不足的异常
+
+
+ 是否将文件读入内存操作,如果为false,将直接返回Image.FromFile,在此情况下,
+ 必须手动释放Image对象,否则文件将一直处于占用状态,如果为true,则在内存中拷贝副本
+
+
+
+
+ 将图像转为Icon对象,使用png格式
+
+
+
+
+
+
+ 将图像转为Icon对象
+
+
+
+
+
+
+
+ 返回适应指定容器大小的图像
+ 如果图像的尺寸(长或宽)超出了容器范围,将按比例获取图像的缩略图返回,否则直接返回图像
+ 此方法最终调用 Image.GetThumbnailImage
+ 但是注意,在指定的容器尺寸过小时,返回的Image尺寸不可知,是在为了显示16x16的小缩略图是发现了此问题
+ 使用 GetScaleImage
+
+
+
+
+
+
+
+
+ 返回适应指定容器大小的图像
+ 在需要的情况下,此方法创建一个新对象,进行绘制
+
+
+
+
+
+
+
+
+ 返回适应指定容器大小的图像
+ 在需要的情况下,此方法创建一个新对象,进行绘制
+
+
+
+
+
+
+
+
+ Gets the bounding rectangle of an image required to fit
+ in to the given rectangle keeping the image aspect ratio.
+
+ The source image.
+ The rectangle to fit in to.
+ Horizontal image aligment in percent.
+ Vertical image aligment in percent.
+ New image size.
+
+
+
+ Gets the bounding rectangle of an image required to fit
+ in to the given rectangle keeping the image aspect ratio.
+ The image will be centered in the fit box.
+
+ The source image.
+ The rectangle to fit in to.
+ New image size.
+
+
+
+ Gets the scaled size of an image required to fit
+ in to the given size keeping the image aspect ratio.
+
+ The source image.
+ The size to fit in to.
+ New image size.
+
+
+
+ 获取一个圆角矩形
+
+
+
+ 角度
+
+
+
+
+ 获取一个圆角矩形
+
+
+
+ 角度
+
+
+
+
+ 返回一个表示箭头的Path
+ 如果开始坐标和结束坐标之间的距离大于箭头的大小,箭头向结束坐标对齐,顶着结束坐标
+
+ 开始坐标
+ 结束坐标(顶点,方向)
+ 箭头的长短,大小
+ 箭头的粗细
+
+
+
+
+ 在指定的Image上绘制特定标记
+
+
+
+
+ 文件不存在
+
+
+
+
+
+ 文件不存在
+
+
+
+
+
+ 无法读取文件
+
+
+
+
+
+ 验证失败中显示错误信息时用的标题
+
+
+
+
+ 验证失败时是否需要高亮显示(改变背景色)
+
+
+
+
+ 验证控件的输入
+
+
+
+
+
+
+ 自定义验证方法
+ 在基础验证都通过后,才会调用自定义验证方法(如果有)
+
+
+
+
+ 是否支持 Windows Vista 以上的玻璃效果
+
+
+
+
+ 是否打开了玻璃效果
+
+
+
+
+ 获取应用程序主窗体
+
+
+
+
+ 所对应的绑定数据类型
+
+
+
+
+ 是否对 DataBoundType 的子类型有效
+ 默认无效
+ 如果设置为 true,又同时添加了基类与子类的 codon,则运行时会取到哪个codon不确定
+ 通常取先添加的那个
+
+
+
+
+ 如果输入的字符串包含 "${...}" 这样的格式,则认为是指代资源文件中的一个字符串资源
+
+
+
+
+
+
+ 获取授予该组件的许可证密钥
+
+
+
+
+ 0:未验证
+ 1:验证失败
+ 2:验证通过
+
+
+
+
+ 获取组件的实例或类型的许可证(如果已给定上下文并确定拒绝许可证是否引发异常)。
+
+
+
+
+
+
+
+
+
+ 强类型资源类,用于查找本地化字符串等。
+
+
+
+
+ 返回此类使用的缓存 ResourceManager 实例。
+
+
+
+
+ 为使用此强类型资源类的所有资源查找
+ 重写当前线程的 CurrentUICulture 属性。
+
+
+
+
+ 查找类似 消息 的本地化字符串。
+
+
+
+
+ 查找类似 底部 的本地化字符串。
+
+
+
+
+ 查找类似 顶部 的本地化字符串。
+
+
+
+
+ 查找类似 更大 (48x48) 的本地化字符串。
+
+
+
+
+ 查找类似 大 (32x32) 的本地化字符串。
+
+
+
+
+ 查找类似 中 (24x24) 的本地化字符串。
+
+
+
+
+ 查找类似 小 (16x16) 的本地化字符串。
+
+
+
+
+ Returns true if the current language is the default language.
+
+
+
+
+ Returns a System.String that represents the current System.Object.
+
+
+
+
+ 返回此类使用的缓存 ResourceManager 实例。
+
+
+
+
+ 为使用此强类型资源类的所有资源查找
+ 重写当前线程的 CurrentUICulture 属性。
+
+
+
+
+ 查找类似 消息 的本地化字符串。
+
+
+
+
+ 查找类似 底部 的本地化字符串。
+
+
+
+
+ 查找类似 顶部 的本地化字符串。
+
+
+
+
+ 查找类似 更大 (48x48) 的本地化字符串。
+
+
+
+
+ 查找类似 大 (32x32) 的本地化字符串。
+
+
+
+
+ 查找类似 中 (24x24) 的本地化字符串。
+
+
+
+
+ 查找类似 小 (16x16) 的本地化字符串。
+
+
+
+
+ Returns true if the current language is the default language.
+
+
+
+
+ Call GetLanguages() to retrieve a list of possible languages that can be used to set this property.
+ The default value is the default language.
+
+
+
+
+ Gets a list of available languages defined in this assembly.
+
+
+
+
+ 如果输入的字符串包含 "${...}" 这样的格式,则认为是指代资源文件中的一个字符串资源
+
+
+
+
+
+
+ Represents a pop-up window.
+
+
+
+
+ Gets the content of the pop-up.
+
+
+
+
+ Determines which animation to use while showing the pop-up window.
+
+
+
+
+ Determines which animation to use while hiding the pop-up window.
+
+
+
+
+ Determines the duration of the animation.
+
+
+
+
+ Gets or sets a value indicating whether the content should receive the focus 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 the is resizable.
+
+ true if resizable; otherwise, false.
+
+
+
+ Gets or sets a minimum size of the pop-up.
+
+ An ordered pair of type representing the width and height of a rectangle.
+
+
+
+ Gets or sets a maximum size of the pop-up.
+
+ 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 class.
+
+ The content of the pop-up.
+
+ Pop-up will be disposed immediately after disposion of the content control.
+
+ is null.
+
+
+
+ Raises the event.
+
+ An that contains the event data.
+
+
+
+ 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 the 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 the pop-up window below the specified area of the 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.
+
+
+
+ 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.
+
+
+
+ Raises the event.
+
+ A 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 sizing 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.
+
+
+
+
+ Types of animation of the pop-up window.
+
+
+
+
+ Uses no animation.
+
+
+
+
+ Animates the window from left to right. This flag can be used with roll or slide animation.
+
+
+
+
+ Animates the window from right to left. This flag can be used with roll or slide animation.
+
+
+
+
+ Animates the window from top to bottom. This flag can be used with roll or slide animation.
+
+
+
+
+ Animates the window from bottom to top. This flag can be used with roll or slide animation.
+
+
+
+
+ Makes the window appear to collapse inward if it is hiding or expand outward if the window is showing.
+
+
+
+
+ Uses a slide animation.
+
+
+
+
+ Uses a fade effect.
+
+
+
+
+ Uses a roll animation.
+
+
+
+
+ Uses a default animation.
+
+
+
+
+ Represents a Windows combo box control with a custom popup control attached.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets the drop down control.
+
+ The drop down control.
+
+
+
+ Gets or sets a value indicating whether the combo box is displaying its drop-down portion.
+
+
+ true if the drop-down portion is displayed; otherwise, false. The default is false.
+
+
+
+
+ Occurs when the drop-down portion of a is shown.
+
+
+
+
+ Shows the drop down.
+
+
+
+
+ Occurs when the drop-down portion of the is no longer visible.
+
+
+
+
+ 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.
+
+
+
+
+ Represents a Windows combo box control which can be used in a popup's content control.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Raises the event.
+
+ An that contains the event data.
+
+
+
+ Raises the event.
+
+ An that contains 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.
+
+
+
+
+ 白色到灰色的垂直渐变
+
+
+
+
+ A ToolstripManager rendering class with advanced control features
+
+
+
+
+ Creates a new EasyRender class for modifications
+
+
+
+
+ Gets the manager to edit and change the appearance of the Toolstrip
+
+
+
+
+ Gets the manager to edit and change the appearance of Toolstrip buttons
+
+
+
+
+ Gets the manager to edit and change the appearance of other Toolstrip controls
+
+
+
+
+ Gets the manager to edit and change the appearance of the Panels
+
+
+
+
+ Gets the manager to edit and change the appearance of the Toolstrip split buttons
+
+
+
+
+ Gets the manager to edit and change the appearance of the Status-bar
+
+
+
+
+ Gets or sets whether to smooth the font text on all controls
+
+
+
+
+ Gets or sets the color of the text if the AlterColor is set to true
+
+
+
+
+ Gets or sets whether to override the font-color on all controls
+
+
+
+
+ Creates a GraphicsPath that appreciates an area where things can be drawn
+
+ The rectangular area which will serve as the base
+ The curve amount of the corners
+
+
+
+
+ Creates a triangle based on the size and bounds sectors
+
+ The area which the triangle is confined to
+ The size of the triangle
+ The direction which the triangle is pointing
+
+
+
+
+ Gets a color array based on the state of a normal button
+
+ The button to check the state of
+
+
+
+
+ Gets a color array based on the state of a split-button
+
+ The button to check the state of
+
+
+
+
+ Gets a color array based on the state of a menu-item
+
+ The button to check the state of
+
+
+
+
+ Gets a color array based on the state of a drop-down button
+
+ The button to check the state of
+
+
+
+
+ Gets a blending property for a specified type of Toolstrip item
+
+ The Toolstrip item
+ The type of item this is
+
+
+
+
+ Fills a specified boundary with color
+
+ The Graphics object to draw onto
+ The boundaries to draw the color
+ The brush to fill the color
+
+
+
+ Fills a specified boundary with a gradient with specified colors
+
+ The Graphics object to draw onto
+ The boundaries to draw the color
+ The color of the gradient at the top
+ The color of the gradient at the bottom
+
+
+
+ Fills a specified boundary with a gradient with specified colors at a given angle
+
+ The Graphics object to draw onto
+ The boundaries to draw the color
+ The color of the gradient at the top
+ The color of the gradient at the bottom
+ The angle which the gradient is drawn (null defaults to 90f)
+
+
+
+ Fills a specified boundary with a gradient with specified colors at a given angle and with blending properties
+
+ The Graphics object to draw onto
+ The boundaries to draw the color
+ The color of the gradient at the top
+ The color of the gradient at the bottom
+ The angle which the gradient is drawn (null defaults to 90f)
+ The blending options to draw the gradient
+
+
+
+ Draws a set path with a defined brush
+
+ The Graphics object to draw onto
+ The path to draw along
+ The brush to fill the color
+
+
+
+ Draws a set path with specified colors
+
+ The Graphics object to draw onto
+ The path to draw along
+ The area of span the border gradient covers
+ The color of the gradient at the top
+ The color of the gradient at the bottom
+
+
+
+ Draws a set path with specified colors at a given angle
+
+ The Graphics object to draw onto
+ The path to draw along
+ The area of span the border gradient covers
+ The color of the gradient at the top
+ The color of the gradient at the bottom
+ The angle which the gradient is drawn (null defaults to 90f)
+
+
+
+ Draws a set path with specified colors at a given angle with blending properties
+
+ The Graphics object to draw onto
+ The path to draw along
+ The color of the gradient at the top
+ The color of the gradient at the bottom
+ The angle which the gradient is drawn (null defaults to 90f)
+ The blending options to draw the gradient
+
+
+
+ Draws a Toolstrip button
+
+ The Toolstrip button
+ The Graphics object to handle
+ The parent Toolstrip
+
+
+
+ Draws a Toolstrip button
+
+ The Toolstrip button
+ The Graphics object to handle
+ The parent Toolstrip
+
+
+
+ Draws the Toolstrip background
+
+ The Toolstrip being drawn
+ The Graphics object to handle
+ The affected bounds
+
+
+
+ Draws a Toolstrip split-button
+
+ The Toolstrip split-button
+ The Graphics object to handle
+ The parent Toolstrip
+
+
+
+ Draws the Statusbar background
+
+ The Statusbar being drawn
+ The Graphics object to handle
+ The affected bounds
+
+
+
+ Draws a Menustrip item
+
+ The Menustrip item
+ The Graphics object to handle
+ The parent Toolstrip
+
+
+
+ Covers the button background rendering
+
+
+
+
+
+ Applies any and all changes made to the Renderer
+
+
+
+
+ A class designed to be used in the EasyRender master control to customize the look and feel of the base Toolstrip
+
+
+
+
+ Creates a new IToolstrip class for customization
+
+
+
+
+ Creates a new IToolstrip class for customization
+
+ The IToolstrip to import the settings from
+
+
+
+ Disposes of the IToolstrip class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the Toolstrip background gradient from the top
+
+
+
+
+ Gets or sets the color of the Toolstrip background gradient from the bottom
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Toolstrip background
+ If set to null, the Toolstrip will simply draw the gradient
+
+
+
+
+ Gets or sets the angle which the Toolstrip background will be drawn
+
+
+
+
+ Gets or sets the color of the Toolstrip border gradient from the top
+
+
+
+
+ Gets or sets the color of the Toolstrip border gradient from the bottom
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Toolstrip border
+ If set to null, the Toolstrip will simply draw the border
+
+
+
+
+ Gets or sets the angle which the Toolstrip border will be drawn
+
+
+
+
+ Gets or sets the curve of the border of the Toolstrip
+
+
+
+
+ Imports the settings from a previous or pre-defined IToolstrip and applies it to the current
+
+ The IToolstrip to import the settings from
+
+
+
+ Sets the blending for both border and background to their defaults
+
+
+
+
+ Creates a new IToolstripControls class for customization
+
+
+
+
+ Disposes of the IToolstripControls class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the Toolstrip seperator on the dark side
+
+
+
+
+ Gets or sets the color of the Toolstrip seperator on the light side
+
+
+
+
+ Gets or sets the height of the Toolstrip seperator control
+
+
+
+
+ Gets or sets the color of the grip dots/line at the top
+
+
+
+
+ Gets or sets the color of the grip shadow
+
+
+
+
+ Gets or sets in what mode the grip will be drawn
+
+
+
+
+ Gets or sets the distance, in pixels, between each grip dot
+
+
+
+
+ Gets or sets the size of the dots or lines for the grip
+
+
+
+
+ Imports the settings from a previous or pre-defined IToolstripControls and applies it to the current
+
+ The IToolstripControls to import the settings from
+
+
+
+ Creates a new IButton class for customization
+
+
+
+
+ Creates a new IButton class for customization
+
+ The IButton to import the settings from
+
+
+
+ Disposes of the IButton class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the Button background at the top, when hovered over
+
+
+
+
+ Gets or sets the color of the Button background at the bottom, when hovered over
+
+
+
+
+ Gets or sets the color of the Button background at the top, when clicked
+
+
+
+
+ Gets or sets the color of the Button background at the bottom, when clicked
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Button background
+ If set to null, the Button will simply draw the gradient
+
+
+
+
+ Gets or sets the angle which the Button background will be drawn
+
+
+
+
+ Gets or sets the color of the Button border gradient from the top
+
+
+
+
+ Gets or sets the color of the Button border gradient from the bottom
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Button border
+ If set to null, the Button will simply draw the border
+
+
+
+
+ Gets or sets the angle which the Button border will be drawn
+
+
+
+
+ Gets or sets the color of the inside border
+
+
+
+
+ Gets or sets when to apply the rendering ("Normal" does not apply here)
+
+
+
+
+ Gets or sets the curve of the border of the Button
+
+
+
+
+ Imports the settings from a previous or pre-defined IButton and applies it to the current
+
+ The IButton to import the settings from
+
+
+
+ Sets the blending for both border and background to their defaults
+
+
+
+
+ Creates a new IButton class for customization
+
+
+
+
+ Creates a new IButton class for customization
+
+ The IButton to import the settings from
+
+
+
+ Disposes of the IButton class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the Button background at the top, when hovered over
+
+
+
+
+ Gets or sets the color of the Button background at the bottom, when hovered over
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Button background
+ If set to null, the Button will simply draw the gradient
+
+
+
+
+ Gets or sets the angle which the Button background will be drawn
+
+
+
+
+ Gets or sets the color of the Button border gradient from the top
+
+
+
+
+ Gets or sets the color of the Button border gradient from the bottom
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Button border
+ If set to null, the Button will simply draw the border
+
+
+
+
+ Gets or sets the angle which the Button border will be drawn
+
+
+
+
+ Gets or sets the color of the inside border
+
+
+
+
+ Gets or sets when to apply the rendering ("Normal" and "Click" do not apply here)
+
+
+
+
+ Gets or sets the curve of the border of the Button
+
+
+
+
+ Imports the settings from a previous or pre-defined IDropDownButton and applies it to the current
+
+ The IDropDownButton to import the settings from
+
+
+
+ Sets the blending for both border and background to their defaults
+
+
+
+
+ Creates a new ISplitButton class for customization
+
+
+
+
+ Disposes of the ISplitButton class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the Button background at the top, when hovered over
+
+
+
+
+ Gets or sets the color of the Button background at the bottom, when hovered over
+
+
+
+
+ Gets or sets the color of the Button background at the top, when clicked
+
+
+
+
+ Gets or sets the color of the Button background at the bottom, when clicked
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Button background
+ If set to null, the Button will simply draw the gradient
+
+
+
+
+ Gets or sets the angle which the Button background will be drawn
+
+
+
+
+ Gets or sets the color of the Button border gradient from the top
+
+
+
+
+ Gets or sets the color of the Button border gradient from the bottom
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Button border
+ If set to null, the Button will simply draw the border
+
+
+
+
+ Gets or sets the angle which the Button border will be drawn
+
+
+
+
+ Gets or sets the color of the inside border
+
+
+
+
+ Gets or sets when to apply the rendering ("Normal" does not apply here)
+
+
+
+
+ Gets or sets the curve of the border of the Button
+
+
+
+
+ Gets or sets when to display the drop-down arrow
+
+
+
+
+ Gets or sets the color of the drop-down arrow
+
+
+
+
+ Imports the settings from a previous or pre-defined ISplitButton and applies it to the current
+
+ The ISplitButton to import the settings from
+
+
+
+ Sets the blending for both border and background to their defaults
+
+
+
+
+ Creates a new IPanel class for customization
+
+
+
+
+ Disposes of the IButton class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the gradient at the top of the content panel
+
+
+
+
+ Gets or sets the color of the gradient at the bottom of the content panel
+
+
+
+
+ Gets or sets whether each panel inherits the shading from the content panel
+
+
+
+
+ Gets or sets the angle which the background gradient is drawn
+
+
+
+
+ Gets or sets the blend of the background
+
+
+
+
+ Gets or sets a mode to render the background in
+
+
+
+
+ Creates a new IStatusBar class for customization
+
+
+
+
+ Disposes of the IButton class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the gradient of the background at the top
+
+
+
+
+ Gets or sets the color of the gradient of the background at the bottom
+
+
+
+
+ Gets or sets the blending that will apply to the background
+
+
+
+
+ Gets or sets the angle which the background gradient will be drawn
+
+
+
+
+ Gets or sets the color of the dark border
+
+
+
+
+ Gets or sets the color of the light border
+
+
+
+
+ Gets or sets the color of the grip at the top-most
+
+
+
+
+ Gets or sets the color of the grip at the bottom-most
+
+
+
+
+ Gets or sets the spacing of the grip blocks
+
+
+
+
+ Imports the settings from a previous or pre-defined IStatusBar and applies it to the current
+
+ The IStatusBar to import the settings from
+
+
+
+ Sets the blending for both border and background to their defaults
+
+
+
+
+ A class designed to be used in the EasyRender master control to customize the look and feel of the base Menustrip
+
+
+
+
+ Creates a new IToolstrip class for customization
+
+
+
+
+ Creates a new IMenustrip class for customization
+
+ The IMenustrip to import the settings from
+
+
+
+ Disposes of the IMenustrip class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the menu-strip border (dark)
+
+
+
+
+ Gets or sets the color of the menu-strip border (light)
+
+
+
+
+ Gets or sets how the background of the menu-strip is inherited
+
+
+
+
+ If inheritence is set to none, the color of the background gradient at the top
+
+
+
+
+ If inheritence is set to none, the color of the background gradient at the bottom
+
+
+
+
+ If inheritence is set to none, the blending option for the background
+
+
+
+
+ Gets or sets the color of the margin gradient at the left
+
+
+
+
+ Gets or sets the color of the margin gradient at the right
+
+
+
+
+ Gets or sets the color of the margin border (displayed to the right)
+
+
+
+
+ Gets or sets the color of the root menu-strip button background when it is selected
+
+
+
+
+ Gets or sets the color of the root menu-strip button border when it is selected
+
+
+
+
+ Gets or sets the color of the seperator dark color
+
+
+
+
+ Gets or sets the color of the seperator light color
+
+
+
+
+ Gets or sets the inset position of the seperator from the left
+
+
+
+
+ Gets the class that handles the look and feel of the menu-strip items
+
+
+
+
+ Imports the settings from a previous or pre-defined IMenustrip and applies it to the current
+
+ The IMenustrip to import the settings from
+
+
+
+ Sets the blending for the background to it's default
+
+
+
+
+ Defines when to show an arrow
+
+
+
+
+ Defines when to use a blend property
+
+
+
+
+ Use the blend when the object is drawn
+
+
+
+
+ Use the blend when the object is hovered over
+
+
+
+
+ Use the blend when the object is clicked
+
+
+
+
+ Use the blend when the object is checked
+
+
+
+
+ Always use the blend regardless of the state of the object
+
+
+
+
+ Defines a method of drawing a grip on a control
+
+
+
+
+ Draws the grip as a set of dots
+
+
+
+
+ Draws the grip as two lines
+
+
+
+
+ Does not draw the grip at all, but the object remains moveable
+
+
+
+
+ Defines a specific type of button to search by
+
+
+
+
+ Defines a method for background or object inheritence
+
+
+
+
+ Defines a method of rendering
+
+
+
+
+ 主菜单
+
+
+
+
+ 背景透明的工具条
+
+
+
+
+ 银白色至白色渐变
+
+
+
+
+ 白色至银白色渐变
+
+
+
+
+ 当前工作区窗体所关联并激活的工具栏
+
+
+
+
+ 模拟运行时的外观
+
+
+
+
+ Represents the visual state of an image list view item.
+
+
+
+
+ 没有任何选择状态,处于一般正常状态
+
+
+
+
+ 项处于选中状态
+
+
+
+
+ 鼠标滑过
+
+
+
+
+ 边框宽度
+
+
+
+
+ 文本和description文本之间的间距
+
+
+
+
+ 最大显示的项数
+
+
+
+
+ 是否显示说明字段,此属性不影响弹出面板是否显示
+ 弹出面板是否显示由DescriptionMember是否设置决定
+
+
+
+
+ 下拉列表的布局模式
+
+
+
+
+ 是否允许空
+
+
+
+
+ 测量当前控件应该的高度
+
+
+
+
+
+ 整个可用的绘图表面
+
+
+
+
+ 右边按钮的绘图表面
+
+
+
+
+ 绘制边框
+
+
+
+
+
+ 绘制背景
+
+
+
+
+
+ 绘制文本
+
+
+
+
+
+ 当前热点项生改变
+
+
+
+
+ 通过外能事件获取用于绘制项的文本
+
+
+
+
+ 标题
+
+
+
+
+ 验证失败时是否需要高亮显示(改变背景色)
+
+
+
+
+ 排序箭头开始颜色
+
+
+
+
+ 排序箭头开始颜色
+
+
+
+
+ 控件的背景画布颜色
+ 因为控件的边框和过度色都有依靠改变透明度实现渐变,所以一个白色的底版就非常重要
+ 使过度色不受控件本身背景色的影响,光不绘制背景不行,要刷上白色背景
+
+
+
+
+ 控件背景色
+
+
+
+
+ 边框颜色
+
+
+
+
+ Represents the visual state of an image list view item.
+
+
+
+
+ 没有任何选择状态,处于一般正常状态
+
+
+
+
+ 项处于选中状态
+
+
+
+
+ 该项具有输入焦点
+
+
+
+
+ 鼠标滑过
+
+
+
+
+ The item is not visible.
+
+
+
+
+ The item is partially visible.
+
+
+
+
+ The item is fully visible.
+
+
+
+
+ 布局方式
+
+
+
+
+ 标准布局
+
+
+
+
+ 使项带有描述的布局
+
+
+
+
+ 双击项事件参数
+
+
+
+
+ 项被删除事件参数
+
+
+
+
+ 为项绘制带有描述信息的渲染器
+
+
+
+
+ 字的高度是否已初始化
+ 在第一次绘制时,测量文本的高度
+
+
+
+
+ 框选的最短开始长度
+
+
+
+
+ 框选时滚动条的自动滚动速度
+
+
+
+
+ 用于鼠标框选时,框出了控件中项的显示范围时,自动滚动滚动条
+
+
+
+
+ 自动滚动时,滚动值
+
+
+
+
+ 是否处于框选状态中
+
+
+
+
+ 内框offset,内框offset是绝对相对于滚动条的
+
+
+
+
+ 整个可显示项的边界的offset,包括上下padding部分
+
+
+
+
+ 鼠标按下时项区域边界的offset,即 _itemsAreaOffset
+ 用于框选时,跨越可视部队画框
+
+
+
+
+ 当前所能显示的最大行数
+
+
+
+
+ Gets whether the shift key is down.
+
+
+
+
+ Gets whether the control key is down.
+
+
+
+
+ 没有任何项
+
+
+
+
+ 没有任何项处于可显示状态
+
+
+
+
+ 整个控件区域
+
+
+
+
+ 整个可用于绘制项的可视区域
+ 去除左右Padding部分,去除滚动条
+
+
+
+
+ 用于绘制项的区域
+ 考虑边距间隔大小和滚动条区域
+
+
+
+
+ 项的尺寸
+ 不放在ListView本身中定义而是放在LayoutManager中定义,是因为不同的布局方式
+ 可能会是带长宽的Size做为itemSize,比如平铺的方式
+
+
+
+
+ 项周围的边距
+
+
+
+
+ 更新整个布局引擎的状态
+
+
+
+
+ 判断指定的项是否处于可见状态
+
+
+
+
+
+
+ 获取项的呈现区域
+
+
+
+
+
+
+ 获取当前所有可见项
+
+
+
+
+
+ Calculates the maximum number of rows and columns
+ that can be fully displayed.
+
+
+
+
+ 计算当前可见项的index范围
+
+
+
+
+ 更新滚动条状态
+
+
+
+
+ 创建框选框
+
+
+
+
+
+ 根据矩形区域选择项
+
+
+
+
+
+ 应用导航键,如上下左右,返回应用导航键之后的项的坐标
+
+
+
+
+ 使指定下标的项处于可见状态
+
+
+
+
+
+ 默认渲染器,不绘制项的实际内容,但是绘制DEBUG信息
+
+
+
+
+ 用于子类重写时删除相应的缓存
+
+
+
+
+
+ 绘制项的背景
+
+ The System.Drawing.Graphics to draw on.
+ The client coordinates of the item area.
+
+
+
+ 绘制最终的前景
+
+
+
+
+
+
+ 绘制选择边框
+
+ The System.Drawing.Graphics to draw on.
+ The client coordinates of the selection rectangle.
+
+
+
+ 绘制项的边框
+
+
+
+
+
+
+ 绘制项
+
+
+
+
+
+
+
+
+ 绘制项的背景
+
+
+
+
+
+
+ 绘制项的内容
+
+
+
+
+
+
+
+ 绘制背景
+
+
+
+
+
+ 绘制当前所有可见项
+
+
+
+
+
+ Renders the selection rectangle.
+
+ The graphics to draw on.
+
+
+
+ 默认渲染器,以类似微软ListView的方式按行绘制项,只绘制简单的文本
+
+
+
+
+ 字的高度是否已初始化
+ 在第一次绘制时,测量文本的高度
+
+
+
+
+ 项的背景色
+
+
+
+
+ 控件背景色
+
+
+
+
+ 项的边框色
+
+
+
+
+ 选择框颜色
+
+
+
+
+ 选择框的边框色
+
+
+
+
+ 当控件具有焦点时选定项的背景色
+
+
+
+
+ 控件失去焦点时选定项的背景色
+
+
+
+
+ 热点项的背景色
+
+
+
+
+ 图像内边框颜色
+
+
+
+
+ 图像外边框颜色
+
+
+
+
+ Creates a control with a border.
+
+
+
+
+ Specifies that the control has a border with a sunken edge.
+
+
+
+
+ 是否需要在调用 ResumeLayout 时重绘
+
+
+
+
+ 为项扩展的用于呈现的属性
+
+
+
+
+ Gets whether the shift key is down.
+
+
+
+
+ Gets whether the control key is down.
+
+
+
+
+ 鼠标左键是否处于按下状态
+
+
+
+
+ 鼠标右键是否处于按下状态
+
+
+
+
+ 鼠标最后点击的位置
+
+
+
+
+ 当前鼠标经过的项
+
+
+
+
+ 配色方案
+
+
+
+
+ 当前布局中项的高度
+
+
+
+
+ 是否没有任何项
+
+
+
+
+ 获取当前具有输入焦点的项
+
+
+
+
+ 默认的用于呈现为项中文本的Property
+
+
+
+
+ 更改了选择的项
+
+
+
+
+ 双击项
+
+
+
+
+
+ 请求在下次调用 ResumeLayout 时重绘
+
+
+
+
+ 获取当前选中的所有项
+
+
+
+
+
+ 设置扩展属性供特定LayoutEngine使用
+ 如果指定的 ExtendMember 已存在,覆盖之
+ 用String.Empty 或 null 做为 propertyName传入,表示删除指定的 member
+
+
+
+
+
+
+ 恢复正常的布局逻辑。
+
+
+
+
+ 临时挂起控件的布局逻辑。
+
+
+
+
+ 获取当前选中项所绑定的对象
+ 如果没有选中项,返回null,如果选中多项,返回选中项集合中的第一个
+
+
+
+
+
+ 根据指定的绑定项对象
+ 设置当前列表中选定的项
+
+
+
+
+
+ 获取当前选中的所有项的绑定对象集合
+ 如果当前没有选中任何项,返回空集合
+
+
+
+
+
+ 取消所有项的选择
+
+
+
+
+ 获取创建控件句柄时所需要的创建参数
+
+
+
+
+ 更改了选择的项
+
+
+
+
+ 双击项
+
+
+
+
+ 项被删除
+
+
+
+
+ 通过外能事件获取用于绘制项的文本
+
+
+
+
+ Represents the color palette of the image list view.
+
+
+
+
+ Gets or sets the background color of the ImageListView control.
+
+
+
+
+ Gets or sets the background color of the ImageListViewItem.
+
+
+
+
+ Gets or sets the background color of alternating cells in Details View.
+
+
+
+
+ Gets or sets the border color of the ImageListViewItem.
+
+
+
+
+ Gets or sets the foreground color of the ImageListViewItem.
+
+
+
+
+ Gets or sets the background gradient color1 of the ImageListViewItem if the control is not focused.
+
+
+
+
+ Gets or sets the background gradient color2 of the ImageListViewItem if the control is not focused.
+
+
+
+
+ Gets or sets the border color of the ImageListViewItem if the control is not focused.
+
+
+
+
+ Gets or sets the fore color of the ImageListViewItem if the control is not focused.
+
+
+
+
+ Gets or sets the background gradient color1 if the ImageListViewItem is hovered.
+
+
+
+
+ Gets or sets the background gradient color2 if the ImageListViewItem is hovered.
+
+
+
+
+ Gets or sets the border color of the ImageListViewItem if the item is hovered.
+
+
+
+
+ Gets or sets the color of the insertion caret.
+
+
+
+
+ Gets or sets the background gradient color1 if the ImageListViewItem is selected.
+
+
+
+
+ Gets or sets the background gradient color2 if the ImageListViewItem is selected.
+
+
+
+
+ Gets or sets the border color of the ImageListViewItem if the item is selected.
+
+
+
+
+ Gets or sets the fore color of the ImageListViewItem if the item is selected.
+
+
+
+
+ Gets or sets the background gradient color1 of the column header.
+
+
+
+
+ Gets or sets the background gradient color2 of the column header.
+
+
+
+
+ Gets or sets the background hover gradient color1 of the column header.
+
+
+
+
+ Gets or sets the background hover gradient color2 of the column header.
+
+
+
+
+ Gets or sets the cells foreground color of the column header text.
+
+
+
+
+ Gets or sets the cells background color if column is selected in Details View.
+
+
+
+
+ Gets or sets the color of the separator in Details View.
+
+
+
+
+ Gets or sets the foreground color of the cell text in Details View.
+
+
+
+
+ Gets or sets the foreground color of alternating cells text in Details View.
+
+
+
+
+ Gets or sets the background color of the image pane.
+
+
+
+
+ Gets or sets the separator line color between image pane and thumbnail view.
+
+
+
+
+ Gets or sets the color of labels in pane view.
+
+
+
+
+ Gets or sets the image inner border color for thumbnails and pane.
+
+
+
+
+ Gets or sets the image outer border color for thumbnails and pane.
+
+
+
+
+ Gets or sets the background color1 of the selection rectangle.
+
+
+
+
+ Gets or sets the background color2 of the selection rectangle.
+
+
+
+
+ Gets or sets the color of the selection rectangle border.
+
+
+
+
+ Initializes a new instance of the ImageListViewColor class.
+
+
+
+
+ Initializes a new instance of the ImageListViewColor class
+ from its string representation.
+
+ String representation of the object.
+
+
+
+ Copies color values from the given object.
+
+ The source object.
+
+
+
+ Represents the default color theme.
+
+
+
+
+ Represents the noir color theme.
+
+
+
+
+ Represents the mandarin color theme.
+
+
+
+
+ Sets the color palette to default colors.
+
+
+
+
+ Sets the color palette to mandarin colors.
+
+
+
+
+ Sets the color palette to noir colors.
+
+
+
+
+ Determines whether all color values of the specified
+ ImageListViewColor are equal to this instance.
+
+ The object to compare with this instance.
+ true if the two instances have the same color values;
+ otherwise false.
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in
+ hashing algorithms and data structures like a hash table.
+
+
+
+
+ Returns a string that represents this instance.
+
+
+ A string that represents this instance.
+
+
+
+
+ 测试坐标
+
+
+
+
+ 项的坐标
+
+
+
+
+ 是否点击了项
+
+
+
+
+ 该项当前的选中状态
+
+
+
+
+ 所绑定的对象
+
+
+
+
+ 将指定的事件移动到(紧邻)另一个事件之前
+
+
+
+
+
+
+ 将指定的事件移动到(紧邻)另一个事件之后
+
+
+
+
+
+
+ 通过窗口的标题来查找窗口的句柄
+
+
+
+
+
+
+
+ 发送 Windows 消息
+
+
+
+
+
+
+
+
+
+ 发送消息,只能传递一个自定义的消息ID和消息字符串,想传一个结构,但没成功
+
+ 目标进程名称,如果有多个,则给每个都发送
+ 自定义数据,可以通过这个来决定如何解析下面的strMsg
+ 传递的消息,是一个字符串
+
+
+
+ 接收消息,得到消息字符串
+
+ System.Windows.Forms.Message m
+ 接收到的消息字符串
+
+
+
+ 最大圆角半径
+
+
+
+
+ 最小矩形边长,用于自动处理圆角大小
+
+
+
+
+ 绘制一个圆角矩形.
+
+ 当前屏幕的图形对象
+ 矩形线条的颜色
+ 矩形左上角X坐标
+ 矩形左上角Y坐标
+ 矩形右下角X坐标
+ 矩形右下角Y坐标
+ 圆角的半径长度
+
+
+
+ 绘制一个圆角矩形.
+
+ 当前屏幕的图形对象
+ 矩形线条的颜色
+ 要绘制的矩形对象
+ 圆角的半径长度
+
+
+
+ 绘制一个圆角矩形.
+
+ 当前屏幕的图形对象
+ 矩形线条的颜色
+ 要绘制的矩形对象
+
+
+
+ 填充一个圆角矩形.
+
+ 当前屏幕的图形对象
+ 矩形线条的颜色
+ 矩形左上角X坐标
+ 矩形左上角Y坐标
+ 矩形右下角X坐标
+ 矩形右下角Y坐标
+ 圆角的半径长度
+
+
+
+ 填充一个圆角矩形.
+
+ 当前屏幕的图形对象
+ 矩形线条的颜色
+ 要填充的矩形
+ 填充区域针对矩形的缩进距离
+ 圆角的半径长度
+
+
+
+ 填充一个圆角矩形.
+
+ 当前屏幕的图形对象
+ 矩形线条的颜色
+ 要填充的矩形
+
+
+
+ 使图片单色化
+
+
+
+
获取颜色
diff --git a/Bin/Release/CommonControls/.NET4 示例/ryUpdate.dll b/Bin/Release/CommonControls/.NET4 示例/ryUpdate.dll
index 1fd80bf..48d8f7d 100644
Binary files a/Bin/Release/CommonControls/.NET4 示例/ryUpdate.dll and b/Bin/Release/CommonControls/.NET4 示例/ryUpdate.dll differ
diff --git a/Bin/Release/CommonControls/.NET4/MyDb.dll b/Bin/Release/CommonControls/.NET4/MyDb.dll
index 3923da8..76c08a5 100644
Binary files a/Bin/Release/CommonControls/.NET4/MyDb.dll and b/Bin/Release/CommonControls/.NET4/MyDb.dll differ
diff --git a/Bin/Release/CommonControls/.NET4/MyDb.xml b/Bin/Release/CommonControls/.NET4/MyDb.xml
index a1e4242..ca851d0 100644
--- a/Bin/Release/CommonControls/.NET4/MyDb.xml
+++ b/Bin/Release/CommonControls/.NET4/MyDb.xml
@@ -982,6 +982,16 @@
+
+
+ 支持忽略大小写的替换功能
+
+
+
+
+ 是否忽略大小写
+
+
获取匹配的内容
@@ -1065,6 +1075,16 @@
是否是通配符表达式,不是,则普通替换,忽略大小写,是,则启用通配符替换
+
+
+ 支持忽略大小写的替换文本功能
+
+
+
+
+ 是否忽略大小写
+
+
获取符合要求的第一个结果
diff --git a/Bin/Release/CommonControls/.NET4/MyDb_MSSQL.dll b/Bin/Release/CommonControls/.NET4/MyDb_MSSQL.dll
index a83935c..bce5822 100644
Binary files a/Bin/Release/CommonControls/.NET4/MyDb_MSSQL.dll and b/Bin/Release/CommonControls/.NET4/MyDb_MSSQL.dll differ
diff --git a/Bin/Release/CommonControls/.NET4/MyDb_MySQL.dll b/Bin/Release/CommonControls/.NET4/MyDb_MySQL.dll
index 20841f7..df58c06 100644
Binary files a/Bin/Release/CommonControls/.NET4/MyDb_MySQL.dll and b/Bin/Release/CommonControls/.NET4/MyDb_MySQL.dll differ
diff --git a/Bin/Release/CommonControls/.NET4/MyDb_SQLite.dll b/Bin/Release/CommonControls/.NET4/MyDb_SQLite.dll
index ebcd6e2..0469281 100644
Binary files a/Bin/Release/CommonControls/.NET4/MyDb_SQLite.dll and b/Bin/Release/CommonControls/.NET4/MyDb_SQLite.dll differ
diff --git a/Bin/Release/CommonControls/.NET4/RyPrint.dll b/Bin/Release/CommonControls/.NET4/RyPrint.dll
index 5d19da3..c954a9a 100644
Binary files a/Bin/Release/CommonControls/.NET4/RyPrint.dll and b/Bin/Release/CommonControls/.NET4/RyPrint.dll differ
diff --git a/Bin/Release/CommonControls/.NET4/RyWeb.dll b/Bin/Release/CommonControls/.NET4/RyWeb.dll
index 18fdbc2..f01c184 100644
Binary files a/Bin/Release/CommonControls/.NET4/RyWeb.dll and b/Bin/Release/CommonControls/.NET4/RyWeb.dll differ
diff --git a/Bin/Release/CommonControls/.NET4/RyWeb.xml b/Bin/Release/CommonControls/.NET4/RyWeb.xml
index 36dfc4a..0f17d55 100644
--- a/Bin/Release/CommonControls/.NET4/RyWeb.xml
+++ b/Bin/Release/CommonControls/.NET4/RyWeb.xml
@@ -472,6 +472,11 @@
+
+
+
+
+
diff --git a/Bin/Release/CommonControls/.NET4/ryControls.dll b/Bin/Release/CommonControls/.NET4/ryControls.dll
index 3f08c52..c476fc0 100644
Binary files a/Bin/Release/CommonControls/.NET4/ryControls.dll and b/Bin/Release/CommonControls/.NET4/ryControls.dll differ
diff --git a/Bin/Release/CommonControls/.NET4/ryControls.xml b/Bin/Release/CommonControls/.NET4/ryControls.xml
index 01e3c20..cea5fe2 100644
--- a/Bin/Release/CommonControls/.NET4/ryControls.xml
+++ b/Bin/Release/CommonControls/.NET4/ryControls.xml
@@ -26898,6 +26898,2798 @@
The index of the matched row, or -1
+
+
+ 初始化的时候给个alpha值,这样在灰图片的时候可以半透明
+
+
+
+
+
+ 使图片单色化
+
+
+
+
+
+
+ 自定义
+
+
+
+
+ 预置
+
+
+
+
+ 系统
+
+
+
+
+ 颜色表示法
+
+
+
+
+ 根据颜色表示字符串获取对应的颜色
+
+
+
+
+
+
+ 从文件中获取Image对象
+ 这个函数的主要功能是处理一些ico文件
+ 一些ico文件的格式可能比较新,直接Image.FormFile,会报内存不足的异常
+
+
+ 是否将文件读入内存操作,如果为false,将直接返回Image.FromFile,在此情况下,
+ 必须手动释放Image对象,否则文件将一直处于占用状态,如果为true,则在内存中拷贝副本
+
+
+
+
+ 将图像转为Icon对象,使用png格式
+
+
+
+
+
+
+ 将图像转为Icon对象
+
+
+
+
+
+
+
+ 返回适应指定容器大小的图像
+ 如果图像的尺寸(长或宽)超出了容器范围,将按比例获取图像的缩略图返回,否则直接返回图像
+ 此方法最终调用 Image.GetThumbnailImage
+ 但是注意,在指定的容器尺寸过小时,返回的Image尺寸不可知,是在为了显示16x16的小缩略图是发现了此问题
+ 使用 GetScaleImage
+
+
+
+
+
+
+
+
+ 返回适应指定容器大小的图像
+ 在需要的情况下,此方法创建一个新对象,进行绘制
+
+
+
+
+
+
+
+
+ 返回适应指定容器大小的图像
+ 在需要的情况下,此方法创建一个新对象,进行绘制
+
+
+
+
+
+
+
+
+ Gets the bounding rectangle of an image required to fit
+ in to the given rectangle keeping the image aspect ratio.
+
+ The source image.
+ The rectangle to fit in to.
+ Horizontal image aligment in percent.
+ Vertical image aligment in percent.
+ New image size.
+
+
+
+ Gets the bounding rectangle of an image required to fit
+ in to the given rectangle keeping the image aspect ratio.
+ The image will be centered in the fit box.
+
+ The source image.
+ The rectangle to fit in to.
+ New image size.
+
+
+
+ Gets the scaled size of an image required to fit
+ in to the given size keeping the image aspect ratio.
+
+ The source image.
+ The size to fit in to.
+ New image size.
+
+
+
+ 获取一个圆角矩形
+
+
+
+ 角度
+
+
+
+
+ 获取一个圆角矩形
+
+
+
+ 角度
+
+
+
+
+ 返回一个表示箭头的Path
+ 如果开始坐标和结束坐标之间的距离大于箭头的大小,箭头向结束坐标对齐,顶着结束坐标
+
+ 开始坐标
+ 结束坐标(顶点,方向)
+ 箭头的长短,大小
+ 箭头的粗细
+
+
+
+
+ 在指定的Image上绘制特定标记
+
+
+
+
+ 文件不存在
+
+
+
+
+
+ 文件不存在
+
+
+
+
+
+ 无法读取文件
+
+
+
+
+
+ 验证失败中显示错误信息时用的标题
+
+
+
+
+ 验证失败时是否需要高亮显示(改变背景色)
+
+
+
+
+ 验证控件的输入
+
+
+
+
+
+
+ 自定义验证方法
+ 在基础验证都通过后,才会调用自定义验证方法(如果有)
+
+
+
+
+ 是否支持 Windows Vista 以上的玻璃效果
+
+
+
+
+ 是否打开了玻璃效果
+
+
+
+
+ 获取应用程序主窗体
+
+
+
+
+ 所对应的绑定数据类型
+
+
+
+
+ 是否对 DataBoundType 的子类型有效
+ 默认无效
+ 如果设置为 true,又同时添加了基类与子类的 codon,则运行时会取到哪个codon不确定
+ 通常取先添加的那个
+
+
+
+
+ 如果输入的字符串包含 "${...}" 这样的格式,则认为是指代资源文件中的一个字符串资源
+
+
+
+
+
+
+ 获取授予该组件的许可证密钥
+
+
+
+
+ 0:未验证
+ 1:验证失败
+ 2:验证通过
+
+
+
+
+ 获取组件的实例或类型的许可证(如果已给定上下文并确定拒绝许可证是否引发异常)。
+
+
+
+
+
+
+
+
+
+ 强类型资源类,用于查找本地化字符串等。
+
+
+
+
+ 返回此类使用的缓存 ResourceManager 实例。
+
+
+
+
+ 为使用此强类型资源类的所有资源查找
+ 重写当前线程的 CurrentUICulture 属性。
+
+
+
+
+ 查找类似 消息 的本地化字符串。
+
+
+
+
+ 查找类似 底部 的本地化字符串。
+
+
+
+
+ 查找类似 顶部 的本地化字符串。
+
+
+
+
+ 查找类似 更大 (48x48) 的本地化字符串。
+
+
+
+
+ 查找类似 大 (32x32) 的本地化字符串。
+
+
+
+
+ 查找类似 中 (24x24) 的本地化字符串。
+
+
+
+
+ 查找类似 小 (16x16) 的本地化字符串。
+
+
+
+
+ Returns true if the current language is the default language.
+
+
+
+
+ Returns a System.String that represents the current System.Object.
+
+
+
+
+ 返回此类使用的缓存 ResourceManager 实例。
+
+
+
+
+ 为使用此强类型资源类的所有资源查找
+ 重写当前线程的 CurrentUICulture 属性。
+
+
+
+
+ 查找类似 消息 的本地化字符串。
+
+
+
+
+ 查找类似 底部 的本地化字符串。
+
+
+
+
+ 查找类似 顶部 的本地化字符串。
+
+
+
+
+ 查找类似 更大 (48x48) 的本地化字符串。
+
+
+
+
+ 查找类似 大 (32x32) 的本地化字符串。
+
+
+
+
+ 查找类似 中 (24x24) 的本地化字符串。
+
+
+
+
+ 查找类似 小 (16x16) 的本地化字符串。
+
+
+
+
+ Returns true if the current language is the default language.
+
+
+
+
+ Call GetLanguages() to retrieve a list of possible languages that can be used to set this property.
+ The default value is the default language.
+
+
+
+
+ Gets a list of available languages defined in this assembly.
+
+
+
+
+ 如果输入的字符串包含 "${...}" 这样的格式,则认为是指代资源文件中的一个字符串资源
+
+
+
+
+
+
+ Represents a pop-up window.
+
+
+
+
+ Gets the content of the pop-up.
+
+
+
+
+ Determines which animation to use while showing the pop-up window.
+
+
+
+
+ Determines which animation to use while hiding the pop-up window.
+
+
+
+
+ Determines the duration of the animation.
+
+
+
+
+ Gets or sets a value indicating whether the content should receive the focus 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 the is resizable.
+
+ true if resizable; otherwise, false.
+
+
+
+ Gets or sets a minimum size of the pop-up.
+
+ An ordered pair of type representing the width and height of a rectangle.
+
+
+
+ Gets or sets a maximum size of the pop-up.
+
+ 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 class.
+
+ The content of the pop-up.
+
+ Pop-up will be disposed immediately after disposion of the content control.
+
+ is null.
+
+
+
+ Raises the event.
+
+ An that contains the event data.
+
+
+
+ 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 the 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 the pop-up window below the specified area of the 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.
+
+
+
+ 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.
+
+
+
+ Raises the event.
+
+ A 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 sizing 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.
+
+
+
+
+ Types of animation of the pop-up window.
+
+
+
+
+ Uses no animation.
+
+
+
+
+ Animates the window from left to right. This flag can be used with roll or slide animation.
+
+
+
+
+ Animates the window from right to left. This flag can be used with roll or slide animation.
+
+
+
+
+ Animates the window from top to bottom. This flag can be used with roll or slide animation.
+
+
+
+
+ Animates the window from bottom to top. This flag can be used with roll or slide animation.
+
+
+
+
+ Makes the window appear to collapse inward if it is hiding or expand outward if the window is showing.
+
+
+
+
+ Uses a slide animation.
+
+
+
+
+ Uses a fade effect.
+
+
+
+
+ Uses a roll animation.
+
+
+
+
+ Uses a default animation.
+
+
+
+
+ Represents a Windows combo box control with a custom popup control attached.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets the drop down control.
+
+ The drop down control.
+
+
+
+ Gets or sets a value indicating whether the combo box is displaying its drop-down portion.
+
+
+ true if the drop-down portion is displayed; otherwise, false. The default is false.
+
+
+
+
+ Occurs when the drop-down portion of a is shown.
+
+
+
+
+ Shows the drop down.
+
+
+
+
+ Occurs when the drop-down portion of the is no longer visible.
+
+
+
+
+ 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.
+
+
+
+
+ Represents a Windows combo box control which can be used in a popup's content control.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Raises the event.
+
+ An that contains the event data.
+
+
+
+ Raises the event.
+
+ An that contains 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.
+
+
+
+
+ 白色到灰色的垂直渐变
+
+
+
+
+ A ToolstripManager rendering class with advanced control features
+
+
+
+
+ Creates a new EasyRender class for modifications
+
+
+
+
+ Gets the manager to edit and change the appearance of the Toolstrip
+
+
+
+
+ Gets the manager to edit and change the appearance of Toolstrip buttons
+
+
+
+
+ Gets the manager to edit and change the appearance of other Toolstrip controls
+
+
+
+
+ Gets the manager to edit and change the appearance of the Panels
+
+
+
+
+ Gets the manager to edit and change the appearance of the Toolstrip split buttons
+
+
+
+
+ Gets the manager to edit and change the appearance of the Status-bar
+
+
+
+
+ Gets or sets whether to smooth the font text on all controls
+
+
+
+
+ Gets or sets the color of the text if the AlterColor is set to true
+
+
+
+
+ Gets or sets whether to override the font-color on all controls
+
+
+
+
+ Creates a GraphicsPath that appreciates an area where things can be drawn
+
+ The rectangular area which will serve as the base
+ The curve amount of the corners
+
+
+
+
+ Creates a triangle based on the size and bounds sectors
+
+ The area which the triangle is confined to
+ The size of the triangle
+ The direction which the triangle is pointing
+
+
+
+
+ Gets a color array based on the state of a normal button
+
+ The button to check the state of
+
+
+
+
+ Gets a color array based on the state of a split-button
+
+ The button to check the state of
+
+
+
+
+ Gets a color array based on the state of a menu-item
+
+ The button to check the state of
+
+
+
+
+ Gets a color array based on the state of a drop-down button
+
+ The button to check the state of
+
+
+
+
+ Gets a blending property for a specified type of Toolstrip item
+
+ The Toolstrip item
+ The type of item this is
+
+
+
+
+ Fills a specified boundary with color
+
+ The Graphics object to draw onto
+ The boundaries to draw the color
+ The brush to fill the color
+
+
+
+ Fills a specified boundary with a gradient with specified colors
+
+ The Graphics object to draw onto
+ The boundaries to draw the color
+ The color of the gradient at the top
+ The color of the gradient at the bottom
+
+
+
+ Fills a specified boundary with a gradient with specified colors at a given angle
+
+ The Graphics object to draw onto
+ The boundaries to draw the color
+ The color of the gradient at the top
+ The color of the gradient at the bottom
+ The angle which the gradient is drawn (null defaults to 90f)
+
+
+
+ Fills a specified boundary with a gradient with specified colors at a given angle and with blending properties
+
+ The Graphics object to draw onto
+ The boundaries to draw the color
+ The color of the gradient at the top
+ The color of the gradient at the bottom
+ The angle which the gradient is drawn (null defaults to 90f)
+ The blending options to draw the gradient
+
+
+
+ Draws a set path with a defined brush
+
+ The Graphics object to draw onto
+ The path to draw along
+ The brush to fill the color
+
+
+
+ Draws a set path with specified colors
+
+ The Graphics object to draw onto
+ The path to draw along
+ The area of span the border gradient covers
+ The color of the gradient at the top
+ The color of the gradient at the bottom
+
+
+
+ Draws a set path with specified colors at a given angle
+
+ The Graphics object to draw onto
+ The path to draw along
+ The area of span the border gradient covers
+ The color of the gradient at the top
+ The color of the gradient at the bottom
+ The angle which the gradient is drawn (null defaults to 90f)
+
+
+
+ Draws a set path with specified colors at a given angle with blending properties
+
+ The Graphics object to draw onto
+ The path to draw along
+ The color of the gradient at the top
+ The color of the gradient at the bottom
+ The angle which the gradient is drawn (null defaults to 90f)
+ The blending options to draw the gradient
+
+
+
+ Draws a Toolstrip button
+
+ The Toolstrip button
+ The Graphics object to handle
+ The parent Toolstrip
+
+
+
+ Draws a Toolstrip button
+
+ The Toolstrip button
+ The Graphics object to handle
+ The parent Toolstrip
+
+
+
+ Draws the Toolstrip background
+
+ The Toolstrip being drawn
+ The Graphics object to handle
+ The affected bounds
+
+
+
+ Draws a Toolstrip split-button
+
+ The Toolstrip split-button
+ The Graphics object to handle
+ The parent Toolstrip
+
+
+
+ Draws the Statusbar background
+
+ The Statusbar being drawn
+ The Graphics object to handle
+ The affected bounds
+
+
+
+ Draws a Menustrip item
+
+ The Menustrip item
+ The Graphics object to handle
+ The parent Toolstrip
+
+
+
+ Covers the button background rendering
+
+
+
+
+
+ Applies any and all changes made to the Renderer
+
+
+
+
+ A class designed to be used in the EasyRender master control to customize the look and feel of the base Toolstrip
+
+
+
+
+ Creates a new IToolstrip class for customization
+
+
+
+
+ Creates a new IToolstrip class for customization
+
+ The IToolstrip to import the settings from
+
+
+
+ Disposes of the IToolstrip class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the Toolstrip background gradient from the top
+
+
+
+
+ Gets or sets the color of the Toolstrip background gradient from the bottom
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Toolstrip background
+ If set to null, the Toolstrip will simply draw the gradient
+
+
+
+
+ Gets or sets the angle which the Toolstrip background will be drawn
+
+
+
+
+ Gets or sets the color of the Toolstrip border gradient from the top
+
+
+
+
+ Gets or sets the color of the Toolstrip border gradient from the bottom
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Toolstrip border
+ If set to null, the Toolstrip will simply draw the border
+
+
+
+
+ Gets or sets the angle which the Toolstrip border will be drawn
+
+
+
+
+ Gets or sets the curve of the border of the Toolstrip
+
+
+
+
+ Imports the settings from a previous or pre-defined IToolstrip and applies it to the current
+
+ The IToolstrip to import the settings from
+
+
+
+ Sets the blending for both border and background to their defaults
+
+
+
+
+ Creates a new IToolstripControls class for customization
+
+
+
+
+ Disposes of the IToolstripControls class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the Toolstrip seperator on the dark side
+
+
+
+
+ Gets or sets the color of the Toolstrip seperator on the light side
+
+
+
+
+ Gets or sets the height of the Toolstrip seperator control
+
+
+
+
+ Gets or sets the color of the grip dots/line at the top
+
+
+
+
+ Gets or sets the color of the grip shadow
+
+
+
+
+ Gets or sets in what mode the grip will be drawn
+
+
+
+
+ Gets or sets the distance, in pixels, between each grip dot
+
+
+
+
+ Gets or sets the size of the dots or lines for the grip
+
+
+
+
+ Imports the settings from a previous or pre-defined IToolstripControls and applies it to the current
+
+ The IToolstripControls to import the settings from
+
+
+
+ Creates a new IButton class for customization
+
+
+
+
+ Creates a new IButton class for customization
+
+ The IButton to import the settings from
+
+
+
+ Disposes of the IButton class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the Button background at the top, when hovered over
+
+
+
+
+ Gets or sets the color of the Button background at the bottom, when hovered over
+
+
+
+
+ Gets or sets the color of the Button background at the top, when clicked
+
+
+
+
+ Gets or sets the color of the Button background at the bottom, when clicked
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Button background
+ If set to null, the Button will simply draw the gradient
+
+
+
+
+ Gets or sets the angle which the Button background will be drawn
+
+
+
+
+ Gets or sets the color of the Button border gradient from the top
+
+
+
+
+ Gets or sets the color of the Button border gradient from the bottom
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Button border
+ If set to null, the Button will simply draw the border
+
+
+
+
+ Gets or sets the angle which the Button border will be drawn
+
+
+
+
+ Gets or sets the color of the inside border
+
+
+
+
+ Gets or sets when to apply the rendering ("Normal" does not apply here)
+
+
+
+
+ Gets or sets the curve of the border of the Button
+
+
+
+
+ Imports the settings from a previous or pre-defined IButton and applies it to the current
+
+ The IButton to import the settings from
+
+
+
+ Sets the blending for both border and background to their defaults
+
+
+
+
+ Creates a new IButton class for customization
+
+
+
+
+ Creates a new IButton class for customization
+
+ The IButton to import the settings from
+
+
+
+ Disposes of the IButton class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the Button background at the top, when hovered over
+
+
+
+
+ Gets or sets the color of the Button background at the bottom, when hovered over
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Button background
+ If set to null, the Button will simply draw the gradient
+
+
+
+
+ Gets or sets the angle which the Button background will be drawn
+
+
+
+
+ Gets or sets the color of the Button border gradient from the top
+
+
+
+
+ Gets or sets the color of the Button border gradient from the bottom
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Button border
+ If set to null, the Button will simply draw the border
+
+
+
+
+ Gets or sets the angle which the Button border will be drawn
+
+
+
+
+ Gets or sets the color of the inside border
+
+
+
+
+ Gets or sets when to apply the rendering ("Normal" and "Click" do not apply here)
+
+
+
+
+ Gets or sets the curve of the border of the Button
+
+
+
+
+ Imports the settings from a previous or pre-defined IDropDownButton and applies it to the current
+
+ The IDropDownButton to import the settings from
+
+
+
+ Sets the blending for both border and background to their defaults
+
+
+
+
+ Creates a new ISplitButton class for customization
+
+
+
+
+ Disposes of the ISplitButton class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the Button background at the top, when hovered over
+
+
+
+
+ Gets or sets the color of the Button background at the bottom, when hovered over
+
+
+
+
+ Gets or sets the color of the Button background at the top, when clicked
+
+
+
+
+ Gets or sets the color of the Button background at the bottom, when clicked
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Button background
+ If set to null, the Button will simply draw the gradient
+
+
+
+
+ Gets or sets the angle which the Button background will be drawn
+
+
+
+
+ Gets or sets the color of the Button border gradient from the top
+
+
+
+
+ Gets or sets the color of the Button border gradient from the bottom
+
+
+
+
+ Gets or sets the blending that will occur when rendering the Button border
+ If set to null, the Button will simply draw the border
+
+
+
+
+ Gets or sets the angle which the Button border will be drawn
+
+
+
+
+ Gets or sets the color of the inside border
+
+
+
+
+ Gets or sets when to apply the rendering ("Normal" does not apply here)
+
+
+
+
+ Gets or sets the curve of the border of the Button
+
+
+
+
+ Gets or sets when to display the drop-down arrow
+
+
+
+
+ Gets or sets the color of the drop-down arrow
+
+
+
+
+ Imports the settings from a previous or pre-defined ISplitButton and applies it to the current
+
+ The ISplitButton to import the settings from
+
+
+
+ Sets the blending for both border and background to their defaults
+
+
+
+
+ Creates a new IPanel class for customization
+
+
+
+
+ Disposes of the IButton class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the gradient at the top of the content panel
+
+
+
+
+ Gets or sets the color of the gradient at the bottom of the content panel
+
+
+
+
+ Gets or sets whether each panel inherits the shading from the content panel
+
+
+
+
+ Gets or sets the angle which the background gradient is drawn
+
+
+
+
+ Gets or sets the blend of the background
+
+
+
+
+ Gets or sets a mode to render the background in
+
+
+
+
+ Creates a new IStatusBar class for customization
+
+
+
+
+ Disposes of the IButton class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the gradient of the background at the top
+
+
+
+
+ Gets or sets the color of the gradient of the background at the bottom
+
+
+
+
+ Gets or sets the blending that will apply to the background
+
+
+
+
+ Gets or sets the angle which the background gradient will be drawn
+
+
+
+
+ Gets or sets the color of the dark border
+
+
+
+
+ Gets or sets the color of the light border
+
+
+
+
+ Gets or sets the color of the grip at the top-most
+
+
+
+
+ Gets or sets the color of the grip at the bottom-most
+
+
+
+
+ Gets or sets the spacing of the grip blocks
+
+
+
+
+ Imports the settings from a previous or pre-defined IStatusBar and applies it to the current
+
+ The IStatusBar to import the settings from
+
+
+
+ Sets the blending for both border and background to their defaults
+
+
+
+
+ A class designed to be used in the EasyRender master control to customize the look and feel of the base Menustrip
+
+
+
+
+ Creates a new IToolstrip class for customization
+
+
+
+
+ Creates a new IMenustrip class for customization
+
+ The IMenustrip to import the settings from
+
+
+
+ Disposes of the IMenustrip class and clears all resources related to it
+
+
+
+
+ Gets or sets the color of the menu-strip border (dark)
+
+
+
+
+ Gets or sets the color of the menu-strip border (light)
+
+
+
+
+ Gets or sets how the background of the menu-strip is inherited
+
+
+
+
+ If inheritence is set to none, the color of the background gradient at the top
+
+
+
+
+ If inheritence is set to none, the color of the background gradient at the bottom
+
+
+
+
+ If inheritence is set to none, the blending option for the background
+
+
+
+
+ Gets or sets the color of the margin gradient at the left
+
+
+
+
+ Gets or sets the color of the margin gradient at the right
+
+
+
+
+ Gets or sets the color of the margin border (displayed to the right)
+
+
+
+
+ Gets or sets the color of the root menu-strip button background when it is selected
+
+
+
+
+ Gets or sets the color of the root menu-strip button border when it is selected
+
+
+
+
+ Gets or sets the color of the seperator dark color
+
+
+
+
+ Gets or sets the color of the seperator light color
+
+
+
+
+ Gets or sets the inset position of the seperator from the left
+
+
+
+
+ Gets the class that handles the look and feel of the menu-strip items
+
+
+
+
+ Imports the settings from a previous or pre-defined IMenustrip and applies it to the current
+
+ The IMenustrip to import the settings from
+
+
+
+ Sets the blending for the background to it's default
+
+
+
+
+ Defines when to show an arrow
+
+
+
+
+ Defines when to use a blend property
+
+
+
+
+ Use the blend when the object is drawn
+
+
+
+
+ Use the blend when the object is hovered over
+
+
+
+
+ Use the blend when the object is clicked
+
+
+
+
+ Use the blend when the object is checked
+
+
+
+
+ Always use the blend regardless of the state of the object
+
+
+
+
+ Defines a method of drawing a grip on a control
+
+
+
+
+ Draws the grip as a set of dots
+
+
+
+
+ Draws the grip as two lines
+
+
+
+
+ Does not draw the grip at all, but the object remains moveable
+
+
+
+
+ Defines a specific type of button to search by
+
+
+
+
+ Defines a method for background or object inheritence
+
+
+
+
+ Defines a method of rendering
+
+
+
+
+ 主菜单
+
+
+
+
+ 背景透明的工具条
+
+
+
+
+ 银白色至白色渐变
+
+
+
+
+ 白色至银白色渐变
+
+
+
+
+ 当前工作区窗体所关联并激活的工具栏
+
+
+
+
+ 模拟运行时的外观
+
+
+
+
+ Represents the visual state of an image list view item.
+
+
+
+
+ 没有任何选择状态,处于一般正常状态
+
+
+
+
+ 项处于选中状态
+
+
+
+
+ 鼠标滑过
+
+
+
+
+ 边框宽度
+
+
+
+
+ 文本和description文本之间的间距
+
+
+
+
+ 最大显示的项数
+
+
+
+
+ 是否显示说明字段,此属性不影响弹出面板是否显示
+ 弹出面板是否显示由DescriptionMember是否设置决定
+
+
+
+
+ 下拉列表的布局模式
+
+
+
+
+ 是否允许空
+
+
+
+
+ 测量当前控件应该的高度
+
+
+
+
+
+ 整个可用的绘图表面
+
+
+
+
+ 右边按钮的绘图表面
+
+
+
+
+ 绘制边框
+
+
+
+
+
+ 绘制背景
+
+
+
+
+
+ 绘制文本
+
+
+
+
+
+ 当前热点项生改变
+
+
+
+
+ 通过外能事件获取用于绘制项的文本
+
+
+
+
+ 标题
+
+
+
+
+ 验证失败时是否需要高亮显示(改变背景色)
+
+
+
+
+ 排序箭头开始颜色
+
+
+
+
+ 排序箭头开始颜色
+
+
+
+
+ 控件的背景画布颜色
+ 因为控件的边框和过度色都有依靠改变透明度实现渐变,所以一个白色的底版就非常重要
+ 使过度色不受控件本身背景色的影响,光不绘制背景不行,要刷上白色背景
+
+
+
+
+ 控件背景色
+
+
+
+
+ 边框颜色
+
+
+
+
+ Represents the visual state of an image list view item.
+
+
+
+
+ 没有任何选择状态,处于一般正常状态
+
+
+
+
+ 项处于选中状态
+
+
+
+
+ 该项具有输入焦点
+
+
+
+
+ 鼠标滑过
+
+
+
+
+ The item is not visible.
+
+
+
+
+ The item is partially visible.
+
+
+
+
+ The item is fully visible.
+
+
+
+
+ 布局方式
+
+
+
+
+ 标准布局
+
+
+
+
+ 使项带有描述的布局
+
+
+
+
+ 双击项事件参数
+
+
+
+
+ 项被删除事件参数
+
+
+
+
+ 为项绘制带有描述信息的渲染器
+
+
+
+
+ 字的高度是否已初始化
+ 在第一次绘制时,测量文本的高度
+
+
+
+
+ 框选的最短开始长度
+
+
+
+
+ 框选时滚动条的自动滚动速度
+
+
+
+
+ 用于鼠标框选时,框出了控件中项的显示范围时,自动滚动滚动条
+
+
+
+
+ 自动滚动时,滚动值
+
+
+
+
+ 是否处于框选状态中
+
+
+
+
+ 内框offset,内框offset是绝对相对于滚动条的
+
+
+
+
+ 整个可显示项的边界的offset,包括上下padding部分
+
+
+
+
+ 鼠标按下时项区域边界的offset,即 _itemsAreaOffset
+ 用于框选时,跨越可视部队画框
+
+
+
+
+ 当前所能显示的最大行数
+
+
+
+
+ Gets whether the shift key is down.
+
+
+
+
+ Gets whether the control key is down.
+
+
+
+
+ 没有任何项
+
+
+
+
+ 没有任何项处于可显示状态
+
+
+
+
+ 整个控件区域
+
+
+
+
+ 整个可用于绘制项的可视区域
+ 去除左右Padding部分,去除滚动条
+
+
+
+
+ 用于绘制项的区域
+ 考虑边距间隔大小和滚动条区域
+
+
+
+
+ 项的尺寸
+ 不放在ListView本身中定义而是放在LayoutManager中定义,是因为不同的布局方式
+ 可能会是带长宽的Size做为itemSize,比如平铺的方式
+
+
+
+
+ 项周围的边距
+
+
+
+
+ 更新整个布局引擎的状态
+
+
+
+
+ 判断指定的项是否处于可见状态
+
+
+
+
+
+
+ 获取项的呈现区域
+
+
+
+
+
+
+ 获取当前所有可见项
+
+
+
+
+
+ Calculates the maximum number of rows and columns
+ that can be fully displayed.
+
+
+
+
+ 计算当前可见项的index范围
+
+
+
+
+ 更新滚动条状态
+
+
+
+
+ 创建框选框
+
+
+
+
+
+ 根据矩形区域选择项
+
+
+
+
+
+ 应用导航键,如上下左右,返回应用导航键之后的项的坐标
+
+
+
+
+ 使指定下标的项处于可见状态
+
+
+
+
+
+ 默认渲染器,不绘制项的实际内容,但是绘制DEBUG信息
+
+
+
+
+ 用于子类重写时删除相应的缓存
+
+
+
+
+
+ 绘制项的背景
+
+ The System.Drawing.Graphics to draw on.
+ The client coordinates of the item area.
+
+
+
+ 绘制最终的前景
+
+
+
+
+
+
+ 绘制选择边框
+
+ The System.Drawing.Graphics to draw on.
+ The client coordinates of the selection rectangle.
+
+
+
+ 绘制项的边框
+
+
+
+
+
+
+ 绘制项
+
+
+
+
+
+
+
+
+ 绘制项的背景
+
+
+
+
+
+
+ 绘制项的内容
+
+
+
+
+
+
+
+ 绘制背景
+
+
+
+
+
+ 绘制当前所有可见项
+
+
+
+
+
+ Renders the selection rectangle.
+
+ The graphics to draw on.
+
+
+
+ 默认渲染器,以类似微软ListView的方式按行绘制项,只绘制简单的文本
+
+
+
+
+ 字的高度是否已初始化
+ 在第一次绘制时,测量文本的高度
+
+
+
+
+ 项的背景色
+
+
+
+
+ 控件背景色
+
+
+
+
+ 项的边框色
+
+
+
+
+ 选择框颜色
+
+
+
+
+ 选择框的边框色
+
+
+
+
+ 当控件具有焦点时选定项的背景色
+
+
+
+
+ 控件失去焦点时选定项的背景色
+
+
+
+
+ 热点项的背景色
+
+
+
+
+ 图像内边框颜色
+
+
+
+
+ 图像外边框颜色
+
+
+
+
+ Creates a control with a border.
+
+
+
+
+ Specifies that the control has a border with a sunken edge.
+
+
+
+
+ 是否需要在调用 ResumeLayout 时重绘
+
+
+
+
+ 为项扩展的用于呈现的属性
+
+
+
+
+ Gets whether the shift key is down.
+
+
+
+
+ Gets whether the control key is down.
+
+
+
+
+ 鼠标左键是否处于按下状态
+
+
+
+
+ 鼠标右键是否处于按下状态
+
+
+
+
+ 鼠标最后点击的位置
+
+
+
+
+ 当前鼠标经过的项
+
+
+
+
+ 配色方案
+
+
+
+
+ 当前布局中项的高度
+
+
+
+
+ 是否没有任何项
+
+
+
+
+ 获取当前具有输入焦点的项
+
+
+
+
+ 默认的用于呈现为项中文本的Property
+
+
+
+
+ 更改了选择的项
+
+
+
+
+ 双击项
+
+
+
+
+
+ 请求在下次调用 ResumeLayout 时重绘
+
+
+
+
+ 获取当前选中的所有项
+
+
+
+
+
+ 设置扩展属性供特定LayoutEngine使用
+ 如果指定的 ExtendMember 已存在,覆盖之
+ 用String.Empty 或 null 做为 propertyName传入,表示删除指定的 member
+
+
+
+
+
+
+ 恢复正常的布局逻辑。
+
+
+
+
+ 临时挂起控件的布局逻辑。
+
+
+
+
+ 获取当前选中项所绑定的对象
+ 如果没有选中项,返回null,如果选中多项,返回选中项集合中的第一个
+
+
+
+
+
+ 根据指定的绑定项对象
+ 设置当前列表中选定的项
+
+
+
+
+
+ 获取当前选中的所有项的绑定对象集合
+ 如果当前没有选中任何项,返回空集合
+
+
+
+
+
+ 取消所有项的选择
+
+
+
+
+ 获取创建控件句柄时所需要的创建参数
+
+
+
+
+ 更改了选择的项
+
+
+
+
+ 双击项
+
+
+
+
+ 项被删除
+
+
+
+
+ 通过外能事件获取用于绘制项的文本
+
+
+
+
+ Represents the color palette of the image list view.
+
+
+
+
+ Gets or sets the background color of the ImageListView control.
+
+
+
+
+ Gets or sets the background color of the ImageListViewItem.
+
+
+
+
+ Gets or sets the background color of alternating cells in Details View.
+
+
+
+
+ Gets or sets the border color of the ImageListViewItem.
+
+
+
+
+ Gets or sets the foreground color of the ImageListViewItem.
+
+
+
+
+ Gets or sets the background gradient color1 of the ImageListViewItem if the control is not focused.
+
+
+
+
+ Gets or sets the background gradient color2 of the ImageListViewItem if the control is not focused.
+
+
+
+
+ Gets or sets the border color of the ImageListViewItem if the control is not focused.
+
+
+
+
+ Gets or sets the fore color of the ImageListViewItem if the control is not focused.
+
+
+
+
+ Gets or sets the background gradient color1 if the ImageListViewItem is hovered.
+
+
+
+
+ Gets or sets the background gradient color2 if the ImageListViewItem is hovered.
+
+
+
+
+ Gets or sets the border color of the ImageListViewItem if the item is hovered.
+
+
+
+
+ Gets or sets the color of the insertion caret.
+
+
+
+
+ Gets or sets the background gradient color1 if the ImageListViewItem is selected.
+
+
+
+
+ Gets or sets the background gradient color2 if the ImageListViewItem is selected.
+
+
+
+
+ Gets or sets the border color of the ImageListViewItem if the item is selected.
+
+
+
+
+ Gets or sets the fore color of the ImageListViewItem if the item is selected.
+
+
+
+
+ Gets or sets the background gradient color1 of the column header.
+
+
+
+
+ Gets or sets the background gradient color2 of the column header.
+
+
+
+
+ Gets or sets the background hover gradient color1 of the column header.
+
+
+
+
+ Gets or sets the background hover gradient color2 of the column header.
+
+
+
+
+ Gets or sets the cells foreground color of the column header text.
+
+
+
+
+ Gets or sets the cells background color if column is selected in Details View.
+
+
+
+
+ Gets or sets the color of the separator in Details View.
+
+
+
+
+ Gets or sets the foreground color of the cell text in Details View.
+
+
+
+
+ Gets or sets the foreground color of alternating cells text in Details View.
+
+
+
+
+ Gets or sets the background color of the image pane.
+
+
+
+
+ Gets or sets the separator line color between image pane and thumbnail view.
+
+
+
+
+ Gets or sets the color of labels in pane view.
+
+
+
+
+ Gets or sets the image inner border color for thumbnails and pane.
+
+
+
+
+ Gets or sets the image outer border color for thumbnails and pane.
+
+
+
+
+ Gets or sets the background color1 of the selection rectangle.
+
+
+
+
+ Gets or sets the background color2 of the selection rectangle.
+
+
+
+
+ Gets or sets the color of the selection rectangle border.
+
+
+
+
+ Initializes a new instance of the ImageListViewColor class.
+
+
+
+
+ Initializes a new instance of the ImageListViewColor class
+ from its string representation.
+
+ String representation of the object.
+
+
+
+ Copies color values from the given object.
+
+ The source object.
+
+
+
+ Represents the default color theme.
+
+
+
+
+ Represents the noir color theme.
+
+
+
+
+ Represents the mandarin color theme.
+
+
+
+
+ Sets the color palette to default colors.
+
+
+
+
+ Sets the color palette to mandarin colors.
+
+
+
+
+ Sets the color palette to noir colors.
+
+
+
+
+ Determines whether all color values of the specified
+ ImageListViewColor are equal to this instance.
+
+ The object to compare with this instance.
+ true if the two instances have the same color values;
+ otherwise false.
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in
+ hashing algorithms and data structures like a hash table.
+
+
+
+
+ Returns a string that represents this instance.
+
+
+ A string that represents this instance.
+
+
+
+
+ 测试坐标
+
+
+
+
+ 项的坐标
+
+
+
+
+ 是否点击了项
+
+
+
+
+ 该项当前的选中状态
+
+
+
+
+ 所绑定的对象
+
+
+
+
+ 将指定的事件移动到(紧邻)另一个事件之前
+
+
+
+
+
+
+ 将指定的事件移动到(紧邻)另一个事件之后
+
+
+
+
+
+
+ 通过窗口的标题来查找窗口的句柄
+
+
+
+
+
+
+
+ 发送 Windows 消息
+
+
+
+
+
+
+
+
+
+ 发送消息,只能传递一个自定义的消息ID和消息字符串,想传一个结构,但没成功
+
+ 目标进程名称,如果有多个,则给每个都发送
+ 自定义数据,可以通过这个来决定如何解析下面的strMsg
+ 传递的消息,是一个字符串
+
+
+
+ 接收消息,得到消息字符串
+
+ System.Windows.Forms.Message m
+ 接收到的消息字符串
+
+
+
+ 最大圆角半径
+
+
+
+
+ 最小矩形边长,用于自动处理圆角大小
+
+
+
+
+ 绘制一个圆角矩形.
+
+ 当前屏幕的图形对象
+ 矩形线条的颜色
+ 矩形左上角X坐标
+ 矩形左上角Y坐标
+ 矩形右下角X坐标
+ 矩形右下角Y坐标
+ 圆角的半径长度
+
+
+
+ 绘制一个圆角矩形.
+
+ 当前屏幕的图形对象
+ 矩形线条的颜色
+ 要绘制的矩形对象
+ 圆角的半径长度
+
+
+
+ 绘制一个圆角矩形.
+
+ 当前屏幕的图形对象
+ 矩形线条的颜色
+ 要绘制的矩形对象
+
+
+
+ 填充一个圆角矩形.
+
+ 当前屏幕的图形对象
+ 矩形线条的颜色
+ 矩形左上角X坐标
+ 矩形左上角Y坐标
+ 矩形右下角X坐标
+ 矩形右下角Y坐标
+ 圆角的半径长度
+
+
+
+ 填充一个圆角矩形.
+
+ 当前屏幕的图形对象
+ 矩形线条的颜色
+ 要填充的矩形
+ 填充区域针对矩形的缩进距离
+ 圆角的半径长度
+
+
+
+ 填充一个圆角矩形.
+
+ 当前屏幕的图形对象
+ 矩形线条的颜色
+ 要填充的矩形
+
+
+
+ 使图片单色化
+
+
+
+
获取颜色
diff --git a/Bin/Release/CommonControls/.NET4/ryUpdate.dll b/Bin/Release/CommonControls/.NET4/ryUpdate.dll
index 1fd80bf..48d8f7d 100644
Binary files a/Bin/Release/CommonControls/.NET4/ryUpdate.dll and b/Bin/Release/CommonControls/.NET4/ryUpdate.dll differ
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2eea413..bb3b874 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,17 @@
-### 2021-06-13更新
+### 2021-07-01更新
+------
+#### ryControlsV4 V3.0.2107.0101
+- *.[新增]新增Sheng.Winform.Controls部分控件。
+
+#### RyWeb V3.0.2107.0101
+
+- *.[新增]QuickWeb新增引用页设置。
+
+#### MyDbV4 V3.0.2107.0101
+
+- *.[新增]支持忽略大小写的替换功能。
+
+### 2021-06-13更新
------
#### ryControls V2.1.2106.1301
@@ -17,6 +30,10 @@
#### 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
diff --git a/Source/.vs/公用控件组V4/v16/.suo b/Source/.vs/公用控件组V4/v16/.suo
index 53c9aac..e578c09 100644
Binary files a/Source/.vs/公用控件组V4/v16/.suo and b/Source/.vs/公用控件组V4/v16/.suo differ
diff --git a/Source/Itrycn_Project/DbOp/FrmAdd.Designer.cs b/Source/Itrycn_Project/DbOp/FrmAdd.Designer.cs
index a156e7b..bbfd661 100644
--- a/Source/Itrycn_Project/DbOp/FrmAdd.Designer.cs
+++ b/Source/Itrycn_Project/DbOp/FrmAdd.Designer.cs
@@ -1,4 +1,4 @@
-namespace Itrycn_Project.DbOp
+namespace Itrycn_Project2.DbOp
{
partial class FrmAdd
{
diff --git a/Source/Itrycn_Project/DbOp/FrmAdd.cs b/Source/Itrycn_Project/DbOp/FrmAdd.cs
index a4e826a..440cb10 100644
--- a/Source/Itrycn_Project/DbOp/FrmAdd.cs
+++ b/Source/Itrycn_Project/DbOp/FrmAdd.cs
@@ -9,7 +9,7 @@ using System.Linq;
using System.Text;
using System.Windows.Forms;
-namespace Itrycn_Project.DbOp
+namespace Itrycn_Project2.DbOp
{
public partial class FrmAdd : Form
{
diff --git a/Source/Itrycn_Project/DbOp/FrmView.cs b/Source/Itrycn_Project/DbOp/FrmView.cs
index 12574b0..cab3958 100644
--- a/Source/Itrycn_Project/DbOp/FrmView.cs
+++ b/Source/Itrycn_Project/DbOp/FrmView.cs
@@ -9,7 +9,7 @@ using System.Linq;
using System.Text;
using System.Windows.Forms;
-namespace Itrycn_Project.DbOp
+namespace Itrycn_Project2.DbOp
{
public partial class FrmView : Form
{
diff --git a/Source/Itrycn_Project/DbOp/frmView.Designer.cs b/Source/Itrycn_Project/DbOp/frmView.Designer.cs
index 8b7a667..9bfa3b9 100644
--- a/Source/Itrycn_Project/DbOp/frmView.Designer.cs
+++ b/Source/Itrycn_Project/DbOp/frmView.Designer.cs
@@ -1,4 +1,4 @@
-namespace Itrycn_Project.DbOp
+namespace Itrycn_Project2.DbOp
{
partial class FrmView
{
diff --git a/Source/Itrycn_Project/FrmAbout.Designer.cs b/Source/Itrycn_Project/FrmAbout.Designer.cs
index dd7b683..3fdaf39 100644
--- a/Source/Itrycn_Project/FrmAbout.Designer.cs
+++ b/Source/Itrycn_Project/FrmAbout.Designer.cs
@@ -1,4 +1,4 @@
-namespace Itrycn_Project
+namespace Itrycn_Project2
{
partial class FrmAbout
{
diff --git a/Source/Itrycn_Project/FrmAbout.cs b/Source/Itrycn_Project/FrmAbout.cs
index 99f3d42..9b9ac1a 100644
--- a/Source/Itrycn_Project/FrmAbout.cs
+++ b/Source/Itrycn_Project/FrmAbout.cs
@@ -7,7 +7,7 @@ using System.Linq;
using System.Text;
using System.Windows.Forms;
-namespace Itrycn_Project
+namespace Itrycn_Project2
{
public partial class FrmAbout : Form
{
diff --git a/Source/Itrycn_Project/Itrycn_Info.cs b/Source/Itrycn_Project/Itrycn_Info.cs
index 067ebb1..12a8014 100644
--- a/Source/Itrycn_Project/Itrycn_Info.cs
+++ b/Source/Itrycn_Project/Itrycn_Info.cs
@@ -7,7 +7,7 @@ using System.Text;
using System.Windows.Forms;
using static ryCommonDb.DataProvider;
-namespace Itrycn_Project
+namespace Itrycn_Project2
{
///
/// 配置类(本系统基于乘黄V1架构)
diff --git a/Source/Itrycn_Project/Program.cs b/Source/Itrycn_Project/Program.cs
index 519882f..b1cb198 100644
--- a/Source/Itrycn_Project/Program.cs
+++ b/Source/Itrycn_Project/Program.cs
@@ -4,7 +4,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
-namespace Itrycn_Project
+namespace Itrycn_Project2
{
static class Program
{
diff --git a/Source/Itrycn_Project/Properties/Resources.Designer.cs b/Source/Itrycn_Project/Properties/Resources.Designer.cs
index 0487e9e..287b148 100644
--- a/Source/Itrycn_Project/Properties/Resources.Designer.cs
+++ b/Source/Itrycn_Project/Properties/Resources.Designer.cs
@@ -8,7 +8,7 @@
//
//------------------------------------------------------------------------------
-namespace Itrycn_Project.Properties {
+namespace Itrycn_Project2.Properties {
using System;
diff --git a/Source/Itrycn_Project/Properties/Settings.Designer.cs b/Source/Itrycn_Project/Properties/Settings.Designer.cs
index 87b3b8d..3e3d9ad 100644
--- a/Source/Itrycn_Project/Properties/Settings.Designer.cs
+++ b/Source/Itrycn_Project/Properties/Settings.Designer.cs
@@ -8,7 +8,7 @@
//
//------------------------------------------------------------------------------
-namespace Itrycn_Project.Properties
+namespace Itrycn_Project2.Properties
{
diff --git a/Source/Itrycn_Project/RegSoft/frmLogin.cs b/Source/Itrycn_Project/RegSoft/frmLogin.cs
index 990ca69..31301d0 100644
--- a/Source/Itrycn_Project/RegSoft/frmLogin.cs
+++ b/Source/Itrycn_Project/RegSoft/frmLogin.cs
@@ -1,4 +1,4 @@
-using Itrycn_Project;
+using Itrycn_Project2;
using ryCommon;
using RyHardWare;
using System;
diff --git a/Source/Itrycn_Project/frmSetting.Designer.cs b/Source/Itrycn_Project/frmSetting.Designer.cs
index f50684c..c04b33b 100644
--- a/Source/Itrycn_Project/frmSetting.Designer.cs
+++ b/Source/Itrycn_Project/frmSetting.Designer.cs
@@ -1,4 +1,4 @@
-namespace Itrycn_Project
+namespace Itrycn_Project2
{
partial class FrmSetting
{
diff --git a/Source/Itrycn_Project/frmSetting.cs b/Source/Itrycn_Project/frmSetting.cs
index db4cdf0..83b1426 100644
--- a/Source/Itrycn_Project/frmSetting.cs
+++ b/Source/Itrycn_Project/frmSetting.cs
@@ -7,7 +7,7 @@ using System.Linq;
using System.Text;
using System.Windows.Forms;
-namespace Itrycn_Project
+namespace Itrycn_Project2
{
public partial class FrmSetting : Form
{
diff --git a/Source/Itrycn_Project/frmmain.Designer.cs b/Source/Itrycn_Project/frmmain.Designer.cs
index 6e04166..17215d5 100644
--- a/Source/Itrycn_Project/frmmain.Designer.cs
+++ b/Source/Itrycn_Project/frmmain.Designer.cs
@@ -113,7 +113,7 @@
// picExpand
//
this.picExpand.Cursor = System.Windows.Forms.Cursors.Hand;
- this.picExpand.Image = global::Itrycn_Project.Properties.Resources.closetree;
+ this.picExpand.Image = global::Itrycn_Project2.Properties.Resources.closetree;
this.picExpand.Location = new System.Drawing.Point(187, 247);
this.picExpand.Name = "picExpand";
this.picExpand.Size = new System.Drawing.Size(10, 49);
diff --git a/Source/Itrycn_Project/frmmain.cs b/Source/Itrycn_Project/frmmain.cs
index 8ed838a..7b6f04a 100644
--- a/Source/Itrycn_Project/frmmain.cs
+++ b/Source/Itrycn_Project/frmmain.cs
@@ -1,4 +1,4 @@
-using Itrycn_Project;
+using Itrycn_Project2;
using ryCommon;
using System;
using System.Collections.Generic;
@@ -179,7 +179,7 @@ namespace Itrycn
{
if (isExpand)
{
- picExpand.Image = Itrycn_Project.Properties.Resources.opentree;
+ picExpand.Image = Itrycn_Project2.Properties.Resources.opentree;
toolTip1.SetToolTip(picExpand,"展开列表");
treeView1.Visible = false;
picExpand.Left = 0;
@@ -187,7 +187,7 @@ namespace Itrycn
}
else
{
- picExpand.Image = Itrycn_Project.Properties.Resources.closetree;
+ picExpand.Image = Itrycn_Project2.Properties.Resources.closetree;
toolTip1.SetToolTip(picExpand, "关闭列表");
treeView1.Visible = true;
picExpand.Left = treeView1.Left + treeView1.Width + 1;
diff --git a/Source/Itrycn_Project2/Config/Itrycn_Db.cs b/Source/Itrycn_Project2/Config/Itrycn_Db.cs
index 7dd4376..9ded494 100644
--- a/Source/Itrycn_Project2/Config/Itrycn_Db.cs
+++ b/Source/Itrycn_Project2/Config/Itrycn_Db.cs
@@ -7,7 +7,7 @@ using System.Linq;
using System.Text;
using static ryCommonDb.DataProvider;
-namespace Itrycn_Project
+namespace Itrycn_Project2
{
public static class Itrycn_Db
{
diff --git a/Source/Itrycn_Project2/Config/Public_Config.cs b/Source/Itrycn_Project2/Config/Public_Config.cs
index 8eee60d..18c128f 100644
--- a/Source/Itrycn_Project2/Config/Public_Config.cs
+++ b/Source/Itrycn_Project2/Config/Public_Config.cs
@@ -3,7 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
-namespace Itrycn_Project
+namespace Itrycn_Project2
{
///
/// 配置类,保存在文件中的配置信息(本系统基于乘黄V2架构)
diff --git a/Source/Itrycn_Project2/Config/Soft_Info.cs b/Source/Itrycn_Project2/Config/Soft_Info.cs
index 8c72ce8..51e0897 100644
--- a/Source/Itrycn_Project2/Config/Soft_Info.cs
+++ b/Source/Itrycn_Project2/Config/Soft_Info.cs
@@ -5,7 +5,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
-namespace Itrycn_Project
+namespace Itrycn_Project2
{
///
/// 运行期间存储的变量,不会存储在文件中,只存储内存中.每次启动软件会初始化变量。
diff --git a/Source/Itrycn_Project2/DbOp/FrmAdd.Designer.cs b/Source/Itrycn_Project2/DbOp/FrmAdd.Designer.cs
index 5e10e7e..6a2a78d 100644
--- a/Source/Itrycn_Project2/DbOp/FrmAdd.Designer.cs
+++ b/Source/Itrycn_Project2/DbOp/FrmAdd.Designer.cs
@@ -1,4 +1,4 @@
-namespace Itrycn_Project.DbOp
+namespace Itrycn_Project2.DbOp
{
partial class FrmAdd
{
diff --git a/Source/Itrycn_Project2/DbOp/FrmAdd.cs b/Source/Itrycn_Project2/DbOp/FrmAdd.cs
index ffe5965..5d6d72f 100644
--- a/Source/Itrycn_Project2/DbOp/FrmAdd.cs
+++ b/Source/Itrycn_Project2/DbOp/FrmAdd.cs
@@ -9,7 +9,7 @@ using System.Linq;
using System.Text;
using System.Windows.Forms;
-namespace Itrycn_Project.DbOp
+namespace Itrycn_Project2.DbOp
{
public partial class FrmAdd : RySkins.SKinForm
{
diff --git a/Source/Itrycn_Project2/DbOp/FrmView.cs b/Source/Itrycn_Project2/DbOp/FrmView.cs
index fe30ecb..e32224f 100644
--- a/Source/Itrycn_Project2/DbOp/FrmView.cs
+++ b/Source/Itrycn_Project2/DbOp/FrmView.cs
@@ -1,182 +1,204 @@
-using ryCommon;
-using ryCommonDb;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Windows.Forms;
-
-namespace Itrycn_Project.DbOp
-{
- public partial class FrmView : RySkins.SKinForm
- {
- string orderSQL = "order by addTime desc";
- string tableName = "MainTable1";
- string titleName = "数据";
- public FrmView()
- {
- InitializeComponent();
- OlvName.AspectGetter = delegate (object x) { return ((ViewInfo)x).Name; };
- OlvAddTime.AspectGetter = delegate (object x) { return ((ViewInfo)x).AddTimeStr; };
- }
- #region 需要修改的内容
- private void RySearch1_OnSearch(object sender, EventArgs e)
- {
- //需要修改此处
- //LoadDb("(" + TableProject.name + " like @SearchText or " + TableProject.des + " like @SearchText)");
- }
-
- private void CtlMyPage1_OnPageChange(object sender, EventArgs e)
- {
- #region 重新载入数据
- LvCbResult.ClearObjects();
- DataProvider mydb = new DataProvider();
- IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
- List list = new List();
- if (db.ConnDb(Itrycn_Db.SQLConnStr) == 1)
- {
- DataSet ds = db.ReadData(ctlMyPage1.GetSQLText, ctlMyPage1.T_Parameters);
- for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
- {
- DataRow row = ds.Tables[0].Rows[i];
+using ryCommon;
+using ryCommonDb;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace Itrycn_Project2.DbOp
+{
+ public partial class FrmView : RySkins.SKinForm
+ {
+ string orderSQL = "order by addTime desc";
+ string tableName = "MainTable1";
+ string titleName = "数据";
+ public FrmView()
+ {
+ InitializeComponent();
+ OlvName.AspectGetter = delegate (object x) { return ((ViewInfo)x).Name; };
+ OlvAddTime.AspectGetter = delegate (object x) { return ((ViewInfo)x).AddTimeStr; };
+ }
+ #region 需要修改的内容
+ private void RySearch1_OnSearch(object sender, EventArgs e)
+ {
+ //需要修改此处
+ //LoadDb("(" + TableProject.name + " like @SearchText or " + TableProject.des + " like @SearchText)");
+ }
+
+ private void CtlMyPage1_OnPageChange(object sender, EventArgs e)
+ {
+ #region 重新载入数据
+ LvCbResult.ClearObjects();
+ DataProvider mydb = new DataProvider();
+ IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
+ List list = new List();
+ if (db.ConnDb(Itrycn_Db.SQLConnStr) == 1)
+ {
+ DataSet ds = db.ReadData(ctlMyPage1.GetSQLText, ctlMyPage1.T_Parameters);
+ for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
+ {
+ DataRow row = ds.Tables[0].Rows[i];
list.Add(new ViewInfo()
{
Id=row["id"].ToInt(),
- Name = row["Name"].ToString(),
- AddTime = row["AddTime"].ToDateTime()
- }) ;
- }
- }
- db.Free();
- LvCbResult.AddObjects(list);
- #endregion
- }
- private void GetRow(int id, int index)
- {
- #region 重新载入数据
- DataProvider mydb = new DataProvider();
- IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
- if (db.ConnDb(Itrycn_Db.SQLConnStr) == 1)
- {
- DataSet ds = db.ReadData("select * from " + tableName + " where id=" + id);
- if (mydb.HaveData(ds))
- {
- DataRow row = ds.Tables[0].Rows[0];
- var item=(ViewInfo) LvCbResult.GetModelObject(index);
- item.Name = row["Name"].ToString();
- //添加剩余的项目
- //添加完毕
- LvCbResult.UpdateObject(item);
- }
- }
- db.Free();
- #endregion
- }
- #endregion
- public void LoadDb(string whereSQL)
- {
- string _whereSQL = whereSQL;
- DataProvider mydb = new DataProvider();
- IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
- if (db.ConnDb(Itrycn_Db.SQLConnStr) == 1)
- {
- #region 重新载入数据
- db.AddParameter("SearchText", "%" + rySearch1.Text + "%");
- ctlMyPage1.RecordCount = db.GetCount(tableName, _whereSQL);
- ctlMyPage1.T_Parameters = db.GetParameter();
- ctlMyPage1.SQLText= db.GetPageSQL(tableName, _whereSQL, orderSQL);
- ctlMyPage1.SQLText2 = db.GetPageSQL2(tableName, _whereSQL, orderSQL);
- ctlMyPage1.GotoPageIndex(1);
- #endregion
- }
- db.Free();
- }
-
- private void BtnAdd_Click(object sender, EventArgs e)
- {
- FrmAdd frm = new FrmAdd()
- {
- Text = "添加"+ titleName,
- Icon = Icon,
- isAdd = 1
- };
- frm.mr = new ModalForm(this, frm);
- frm.mr.OnDialogResult += new ModalForm.DialogResultHandler((object t, DialogResult dg) => {
- if (dg == DialogResult.OK)
- {
- rySearch1.PerformClick();
- }
- });
- frm.mr.ShowModal();
- }
-
- private void BtnEdit_Click(object sender, EventArgs e)
- {
- if (LvCbResult.SelectedObject == null) { return; }
- var item = (ViewInfo)LvCbResult.SelectedObject;
- var selectId = item.Id;
- FrmAdd frm = new FrmAdd()
- {
- Text = "修改"+ titleName,
- Icon = Icon,
- isAdd = 0
- };
- frm.GetInfo(selectId.ToString());
- frm.mr = new ModalForm(this, frm);
- frm.mr.OnDialogResult += new ModalForm.DialogResultHandler((object t, DialogResult dg) => {
- if (dg == DialogResult.OK)
- {
- GetRow(selectId, LvCbResult.SelectedIndex);
- }
- });
- frm.mr.ShowModal();
- }
-
- private void BtnDel_Click(object sender, EventArgs e)
+ Name = row["Name"].ToString(),
+ AddTime = row["AddTime"].ToDateTime()
+ }) ;
+ }
+ }
+ db.Free();
+ LvCbResult.AddObjects(list);
+ #endregion
+ }
+ private void GetRow(int id, int index)
{
- if (LvCbResult.SelectedObject == null) { MessageBox.Show("请先选择要删除的项。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; }
- var item = (ViewInfo)LvCbResult.SelectedObject;
- var selectId = item.Id;
- if (RySkins.Msg.ShowMsg("确定要删除该项吗?一旦删除将不可恢复。", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No)
- {
- return;
- }
- //DataProvider mydb = new DataProvider();
- IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
- if (db.ConnDb(Itrycn_Db.SQLConnStr) == 1)
- {
- db.DelById(tableName, selectId.ToString());
- LvCbResult.RemoveObject(item);
- }
- }
-
- private void FrmView_Load(object sender, EventArgs e)
- {
- Text = "浏览"+ titleName;
- 添加数据ToolStripMenuItem.Text = "添加"+ titleName;
- 修改数据ToolStripMenuItem.Text = "修改" + titleName;
- 删除数据ToolStripMenuItem.Text = "删除" + titleName;
- rySearch1.PerformClick();
- }
-
- private void 添加数据ToolStripMenuItem_Click(object sender, EventArgs e)
- {
- btnAdd.PerformClick();
- }
-
- private void 修改数据ToolStripMenuItem_Click(object sender, EventArgs e)
- {
- btnEdit.PerformClick();
- }
-
- private void 删除数据ToolStripMenuItem_Click(object sender, EventArgs e)
- {
- btnDel.PerformClick();
- }
- }
+ #region 重新载入数据
+ DataProvider mydb = new DataProvider();
+ IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
+ if (db.ConnDb(Itrycn_Db.SQLConnStr) == 1)
+ {
+ DataSet ds = db.ReadData("select * from " + tableName + " where id=" + id);
+ if (mydb.HaveData(ds))
+ {
+ DataRow row = ds.Tables[0].Rows[0];
+ var item=(ViewInfo) LvCbResult.GetModelObject(index);
+ item.Name = row["Name"].ToString();
+ //添加剩余的项目
+ //添加完毕
+ LvCbResult.UpdateObject(item);
+ }
+ }
+ db.Free();
+ #endregion
+ }
+ #endregion
+ public void LoadDb(string whereSQL)
+ {
+ string _whereSQL = whereSQL;
+ DataProvider mydb = new DataProvider();
+ IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
+ if (db.ConnDb(Itrycn_Db.SQLConnStr) == 1)
+ {
+ #region 重新载入数据
+ db.AddParameter("SearchText", "%" + rySearch1.Text + "%");
+ ctlMyPage1.RecordCount = db.GetCount(tableName, _whereSQL);
+ ctlMyPage1.T_Parameters = db.GetParameter();
+ ctlMyPage1.SQLText= db.GetPageSQL(tableName, _whereSQL, orderSQL);
+ ctlMyPage1.SQLText2 = db.GetPageSQL2(tableName, _whereSQL, orderSQL);
+ ctlMyPage1.GotoPageIndex(1);
+ #endregion
+ }
+ db.Free();
+ }
+
+ private void BtnAdd_Click(object sender, EventArgs e)
+ {
+ FrmAdd frm = new FrmAdd()
+ {
+ Text = "添加"+ titleName,
+ Icon = Icon,
+ isAdd = 1
+ };
+ frm.mr = new ModalForm(this, frm);
+ frm.mr.OnDialogResult += new ModalForm.DialogResultHandler((object t, DialogResult dg) => {
+ if (dg == DialogResult.OK)
+ {
+ rySearch1.PerformClick();
+ }
+ });
+ frm.mr.ShowModal();
+ }
+
+ private void BtnEdit_Click(object sender, EventArgs e)
+ {
+ if (LvCbResult.SelectedObject == null) { return; }
+ var item = (ViewInfo)LvCbResult.SelectedObject;
+ var selectId = item.Id;
+ FrmAdd frm = new FrmAdd()
+ {
+ Text = "修改"+ titleName,
+ Icon = Icon,
+ isAdd = 0
+ };
+ frm.GetInfo(selectId.ToString());
+ frm.mr = new ModalForm(this, frm);
+ frm.mr.OnDialogResult += new ModalForm.DialogResultHandler((object t, DialogResult dg) => {
+ if (dg == DialogResult.OK)
+ {
+ GetRow(selectId, LvCbResult.SelectedIndex);
+ }
+ });
+ frm.mr.ShowModal();
+ }
+
+ private void BtnDel_Click(object sender, EventArgs e)
+ {
+ if (LvCbResult.SelectedObject == null) { MessageBox.Show("请先选择要删除的项。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; }
+ var item = (ViewInfo)LvCbResult.SelectedObject;
+ var selectId = item.Id;
+ if (RySkins.Msg.ShowMsg("确定要删除该项吗?一旦删除将不可恢复。", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No)
+ {
+ return;
+ }
+ //DataProvider mydb = new DataProvider();
+ IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
+ if (db.ConnDb(Itrycn_Db.SQLConnStr) == 1)
+ {
+ db.DelById(tableName, selectId.ToString());
+ LvCbResult.RemoveObject(item);
+ }
+ }
+
+ private void FrmView_Load(object sender, EventArgs e)
+ {
+ Text = "浏览"+ titleName;
+ 添加数据ToolStripMenuItem.Text = "添加"+ titleName;
+ 修改数据ToolStripMenuItem.Text = "修改" + titleName;
+ 删除数据ToolStripMenuItem.Text = "删除" + titleName;
+ rySearch1.PerformClick();
+ }
+
+ private void 添加数据ToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ btnAdd.PerformClick();
+ }
+
+ private void 修改数据ToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ btnEdit.PerformClick();
+ }
+
+ private void 删除数据ToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ btnDel.PerformClick();
+ }
+
+ private void 复制并添加数据ToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (LvCbResult.SelectedObject == null) { return; }
+ var item = (ViewInfo)LvCbResult.SelectedObject;
+ var selectId = item.Id;
+ FrmAdd frm = new FrmAdd()
+ {
+ Text = "添加" + titleName,
+ Icon = Icon,
+ isAdd = 1
+ };
+ frm.GetInfo(selectId.ToString());
+ frm.mr = new ModalForm(this, frm);
+ frm.mr.OnDialogResult += new ModalForm.DialogResultHandler((object t, DialogResult dg) => {
+ if (dg == DialogResult.OK)
+ {
+ rySearch1.PerformClick();
+ }
+ });
+ frm.mr.ShowModal();
+ }
+ }
class ViewInfo
{
///
@@ -198,5 +220,5 @@ namespace Itrycn_Project.DbOp
{
get { return AddTime.ToString("yyyy-MM-dd dddd HH:mm:ss"); }
}
- }
-}
+ }
+}
diff --git a/Source/Itrycn_Project2/DbOp/frmView.Designer.cs b/Source/Itrycn_Project2/DbOp/frmView.Designer.cs
index 8e93663..fed17d3 100644
--- a/Source/Itrycn_Project2/DbOp/frmView.Designer.cs
+++ b/Source/Itrycn_Project2/DbOp/frmView.Designer.cs
@@ -1,4 +1,4 @@
-namespace Itrycn_Project.DbOp
+namespace Itrycn_Project2.DbOp
{
partial class FrmView
{
@@ -41,6 +41,7 @@
this.LvCbResult = new BrightIdeasSoftware.FastObjectListView();
this.OlvName = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.OlvAddTime = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
+ this.复制并添加数据ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.contextMenuStrip1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.LvCbResult)).BeginInit();
this.SuspendLayout();
@@ -59,11 +60,12 @@
// contextMenuStrip1
//
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.复制并添加数据ToolStripMenuItem,
this.添加数据ToolStripMenuItem,
this.修改数据ToolStripMenuItem,
this.删除数据ToolStripMenuItem});
this.contextMenuStrip1.Name = "contextMenuStrip1";
- this.contextMenuStrip1.Size = new System.Drawing.Size(125, 70);
+ this.contextMenuStrip1.Size = new System.Drawing.Size(181, 114);
//
// 添加数据ToolStripMenuItem
//
@@ -153,6 +155,7 @@
this.LvCbResult.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.OlvName,
this.OlvAddTime});
+ this.LvCbResult.ContextMenuStrip = this.contextMenuStrip1;
this.LvCbResult.Cursor = System.Windows.Forms.Cursors.Default;
this.LvCbResult.EmptyListMsg = "当前列表没有任何项";
this.LvCbResult.FullRowSelect = true;
@@ -179,6 +182,13 @@
this.OlvAddTime.Text = "时间";
this.OlvAddTime.Width = 200;
//
+ // 复制并添加数据ToolStripMenuItem
+ //
+ this.复制并添加数据ToolStripMenuItem.Name = "复制并添加数据ToolStripMenuItem";
+ this.复制并添加数据ToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
+ this.复制并添加数据ToolStripMenuItem.Text = "复制并添加数据";
+ this.复制并添加数据ToolStripMenuItem.Click += new System.EventHandler(this.复制并添加数据ToolStripMenuItem_Click);
+ //
// FrmView
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
@@ -214,5 +224,6 @@
private BrightIdeasSoftware.FastObjectListView LvCbResult;
private BrightIdeasSoftware.OLVColumn OlvName;
private BrightIdeasSoftware.OLVColumn OlvAddTime;
+ private System.Windows.Forms.ToolStripMenuItem 复制并添加数据ToolStripMenuItem;
}
}
\ No newline at end of file
diff --git a/Source/Itrycn_Project2/DbOp/frmView.resx b/Source/Itrycn_Project2/DbOp/frmView.resx
index 0f850fe..9c13369 100644
--- a/Source/Itrycn_Project2/DbOp/frmView.resx
+++ b/Source/Itrycn_Project2/DbOp/frmView.resx
@@ -118,6 +118,6 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- 269, 21
+ 35, 26
\ No newline at end of file
diff --git a/Source/Itrycn_Project2/FrmAbout.Designer.cs b/Source/Itrycn_Project2/FrmAbout.Designer.cs
index 9716c0c..2bf4782 100644
--- a/Source/Itrycn_Project2/FrmAbout.Designer.cs
+++ b/Source/Itrycn_Project2/FrmAbout.Designer.cs
@@ -1,4 +1,4 @@
-namespace Itrycn_Project
+namespace Itrycn_Project2
{
partial class FrmAbout
{
diff --git a/Source/Itrycn_Project2/FrmAbout.cs b/Source/Itrycn_Project2/FrmAbout.cs
index a7dbab5..04c314f 100644
--- a/Source/Itrycn_Project2/FrmAbout.cs
+++ b/Source/Itrycn_Project2/FrmAbout.cs
@@ -7,7 +7,7 @@ using System.Linq;
using System.Text;
using System.Windows.Forms;
-namespace Itrycn_Project
+namespace Itrycn_Project2
{
public partial class FrmAbout : RySkins.SKinForm
{
diff --git a/Source/Itrycn_Project2/FrmStart.cs b/Source/Itrycn_Project2/FrmStart.cs
index 99323aa..f603354 100644
--- a/Source/Itrycn_Project2/FrmStart.cs
+++ b/Source/Itrycn_Project2/FrmStart.cs
@@ -1,4 +1,4 @@
-using Itrycn_Project;
+using Itrycn_Project2;
using ryCommon;
using ryCommonDb;
using System;
diff --git a/Source/Itrycn_Project2/OTools/FrmScan.cs b/Source/Itrycn_Project2/OTools/FrmScan.cs
index ad586fa..a2e7c69 100644
--- a/Source/Itrycn_Project2/OTools/FrmScan.cs
+++ b/Source/Itrycn_Project2/OTools/FrmScan.cs
@@ -1,4 +1,4 @@
-using Itrycn_Project;
+using Itrycn_Project2;
using ryCommon;
using System;
using System.Collections.Generic;
@@ -164,12 +164,12 @@ namespace Itrycn_Project2
void Start()
{
//RyWeb.QuickWeb ry3h3 = new RyWeb.QuickWeb();
- IsExit = false;
- IsRunning = false;
- Soft_MemInfo.IsCanCloseForm = true;
//将扫描的代码写在下面
//↑将扫描的代码写在上面
+ IsExit = false;
+ IsRunning = false;
+ Soft_MemInfo.IsCanCloseForm = true;
this.Invoke(new Action(() =>
{
//LvCbResult.AddObjects(list);
diff --git a/Source/Itrycn_Project2/OTools/RegSoft/frmLogin.cs b/Source/Itrycn_Project2/OTools/RegSoft/frmLogin.cs
index 5892799..5cd3d6c 100644
--- a/Source/Itrycn_Project2/OTools/RegSoft/frmLogin.cs
+++ b/Source/Itrycn_Project2/OTools/RegSoft/frmLogin.cs
@@ -1,4 +1,4 @@
-using Itrycn_Project;
+using Itrycn_Project2;
using ryCommon;
using RyHardWare;
using System;
diff --git a/Source/Itrycn_Project2/Program.cs b/Source/Itrycn_Project2/Program.cs
index 60b2977..71a30e5 100644
--- a/Source/Itrycn_Project2/Program.cs
+++ b/Source/Itrycn_Project2/Program.cs
@@ -7,7 +7,7 @@ using System.Linq;
using System.Text;
using System.Windows.Forms;
-namespace Itrycn_Project
+namespace Itrycn_Project2
{
static class Program
{
diff --git a/Source/Itrycn_Project2/Properties/Settings.Designer.cs b/Source/Itrycn_Project2/Properties/Settings.Designer.cs
index 87b3b8d..3e3d9ad 100644
--- a/Source/Itrycn_Project2/Properties/Settings.Designer.cs
+++ b/Source/Itrycn_Project2/Properties/Settings.Designer.cs
@@ -8,7 +8,7 @@
//
//------------------------------------------------------------------------------
-namespace Itrycn_Project.Properties
+namespace Itrycn_Project2.Properties
{
diff --git a/Source/Itrycn_Project2/SkinForms/FrmMessageBox.Designer.cs b/Source/Itrycn_Project2/SkinForms/FrmMessageBox.Designer.cs
index 4a67020..c5b99ca 100644
--- a/Source/Itrycn_Project2/SkinForms/FrmMessageBox.Designer.cs
+++ b/Source/Itrycn_Project2/SkinForms/FrmMessageBox.Designer.cs
@@ -80,10 +80,12 @@ namespace RySkins
this.Controls.Add(this.btnCancel);
this.Controls.Add(this.btnYes);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.Location = new System.Drawing.Point(0, 0);
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "FrmMessageBox";
this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
+ this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FrmMessageBox_FormClosing);
this.ResumeLayout(false);
}
diff --git a/Source/Itrycn_Project2/SkinForms/FrmMessageBox.cs b/Source/Itrycn_Project2/SkinForms/FrmMessageBox.cs
index 85e9670..0dd1ab7 100644
--- a/Source/Itrycn_Project2/SkinForms/FrmMessageBox.cs
+++ b/Source/Itrycn_Project2/SkinForms/FrmMessageBox.cs
@@ -15,9 +15,11 @@ namespace RySkins
{
InitializeComponent();
}
+ private bool ProcUse = false;
public MessageBoxButtons ResultDg { get; set; } = MessageBoxButtons.OKCancel;
private void BtnYes_Click(object sender, EventArgs e)
{
+ ProcUse = true;
if (this.Modal)
{
switch (ResultDg)
@@ -38,6 +40,7 @@ namespace RySkins
private void BtnCancel_Click(object sender, EventArgs e)
{
+ ProcUse = true;
switch (ResultDg)
{
case MessageBoxButtons.YesNo:
@@ -54,5 +57,13 @@ namespace RySkins
lblMsg.UpdateInfo();
lblMsg.Refresh();
}
+
+ private void FrmMessageBox_FormClosing(object sender, FormClosingEventArgs e)
+ {
+ if (e.CloseReason == CloseReason.UserClosing && !ProcUse)
+ {
+ this.DialogResult = DialogResult.Cancel;
+ }
+ }
}
}
diff --git a/Source/Itrycn_Project2/frmSetting.Designer.cs b/Source/Itrycn_Project2/frmSetting.Designer.cs
index 13d7dda..50f770b 100644
--- a/Source/Itrycn_Project2/frmSetting.Designer.cs
+++ b/Source/Itrycn_Project2/frmSetting.Designer.cs
@@ -1,4 +1,4 @@
-namespace Itrycn_Project
+namespace Itrycn_Project2
{
partial class FrmSetting
{
diff --git a/Source/Itrycn_Project2/frmSetting.cs b/Source/Itrycn_Project2/frmSetting.cs
index 6e99411..2c4b7bb 100644
--- a/Source/Itrycn_Project2/frmSetting.cs
+++ b/Source/Itrycn_Project2/frmSetting.cs
@@ -7,7 +7,7 @@ using System.Linq;
using System.Text;
using System.Windows.Forms;
-namespace Itrycn_Project
+namespace Itrycn_Project2
{
public partial class FrmSetting : RySkins.SKinForm
{
diff --git a/Source/MyDb/DbManage/Strings.cs b/Source/MyDb/DbManage/Strings.cs
index 620b1c1..dea73f4 100644
--- a/Source/MyDb/DbManage/Strings.cs
+++ b/Source/MyDb/DbManage/Strings.cs
@@ -342,6 +342,32 @@ namespace ryCommon
//return replace.IsMatch(wildcardStr1);
}
///
+ /// 支持忽略大小写的替换功能
+ ///
+ ///
+ ///
+ ///
+ /// 是否忽略大小写
+ ///
+ public static string Replace(string str, string oldValue, string newValue,bool IgnoreCase)
+ {
+ if(IgnoreCase)
+ {
+ var str2 = "";
+ var str_tmp = str;
+ var pos = str_tmp.IndexOfEx(oldValue);
+ while(pos>=0)
+ {
+ str2 += str_tmp.Substring(0, pos);
+ str_tmp = str_tmp.Substring(pos + oldValue.Length);
+ pos = str_tmp.IndexOfEx(oldValue);
+ }
+ str2 += str_tmp;
+ return str2;
+ }
+ else { return str.Replace(oldValue,newValue); }
+ }
+ ///
/// 获取匹配的内容
///
///
diff --git a/Source/MyDb/DbManage/VarExtension.cs b/Source/MyDb/DbManage/VarExtension.cs
index a6adfdd..06d9237 100644
--- a/Source/MyDb/DbManage/VarExtension.cs
+++ b/Source/MyDb/DbManage/VarExtension.cs
@@ -55,6 +55,18 @@ namespace ryCommon
}
}
///
+ /// 支持忽略大小写的替换文本功能
+ ///
+ ///
+ ///
+ ///
+ /// 是否忽略大小写
+ ///
+ static public string Replace(this string original, string oldValue, string newValue, bool IgnoreCase)
+ {
+ return Strings.Replace(original, oldValue, newValue, IgnoreCase);
+ }
+ ///
/// 获取符合要求的第一个结果
///
///
diff --git a/Source/MyDb/Properties/AssemblyInfo.cs b/Source/MyDb/Properties/AssemblyInfo.cs
index e373760..31aab4d 100644
--- a/Source/MyDb/Properties/AssemblyInfo.cs
+++ b/Source/MyDb/Properties/AssemblyInfo.cs
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值,
// 方法是按如下所示使用“*”: :
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("3.0.2105.2201")]
-[assembly: AssemblyFileVersion("3.0.2105.2201")]
\ No newline at end of file
+[assembly: AssemblyVersion("3.0.2107.0101")]
+[assembly: AssemblyFileVersion("3.0.2107.0101")]
\ No newline at end of file
diff --git a/Source/RyWeb/Properties/AssemblyInfo.cs b/Source/RyWeb/Properties/AssemblyInfo.cs
index 01cc02e..ba5a064 100644
--- a/Source/RyWeb/Properties/AssemblyInfo.cs
+++ b/Source/RyWeb/Properties/AssemblyInfo.cs
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("3.0.2105.2201")]
-[assembly: AssemblyFileVersion("3.0.2105.2201")]
\ No newline at end of file
+[assembly: AssemblyVersion("3.0.2107.0101")]
+[assembly: AssemblyFileVersion("3.0.2107.0101")]
\ No newline at end of file
diff --git a/Source/RyWeb/QuickWeb.cs b/Source/RyWeb/QuickWeb.cs
index 7c1f01b..605c2f1 100644
--- a/Source/RyWeb/QuickWeb.cs
+++ b/Source/RyWeb/QuickWeb.cs
@@ -1,282 +1,293 @@
-using DotNet4.Utilities;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace RyWeb
-{
+using DotNet4.Utilities;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace RyWeb
+{
///
///
- ///
- public class QuickWeb
- {
- ///
- /// 以post方式获取网页源码
- ///
- ///
- ///
- ///
- ///
- public HttpResult Post(string url, string post, string cookie)
- {
- return Post(url, post, "application/x-www-form-urlencoded", cookie);
- }
- ///
- /// 以post方式提交json内容
- ///
- ///
- ///
- ///
- ///
- public HttpResult PostJson(string url, string post, string cookie)
- {
- return Post(url, post, "application/json", cookie);
- }
- ///
- /// 以post方式提交json内容
- ///
- ///
- ///
- ///
- public HttpResult PostJson(string url, string post)
- {
- return Post(url, post, "application/json", "");
- }
- ///
- /// 以post方式获取网页源码
- ///
- ///
- ///
- ///
- ///
- ///
- public HttpResult Post(string url, string post,string ContentType, string cookie)
- {
- try
- {
- HttpHelper t = new HttpHelper();
- HttpItem m = new HttpItem()
- {
- URL = url,
- Postdata = post,
- ContentType = ContentType,
- Method = "POST",
- Timeout = Timeout,
- ReadWriteTimeout = Timeout,
- UserAgent = UserAgent
- };
- if (cookie.Length > 0)
- {
- m.Cookie = cookie;
- }
- HttpResult r = t.GetHtml(m);
- return r;
- }
- catch
- {
- HttpResult r = new HttpResult();
- return r;
- }
- }
- ///
- /// 以post方式获取网页源码
- ///
- ///
- ///
- ///
- public HttpResult Post(string url, string post)
- {
- return Post(url, post, cookie);
- }
- ///
- /// 获取网址对应的文件大小
- ///
- ///
- ///
- public long GetSize(string url)
- {
- try
- {
- HttpHelper t = new HttpHelper();
- HttpItem m = new HttpItem()
- {
- URL = url,
- Method = "HEAD",
- Allowautoredirect = true,
- Cookie = cookie,
- Timeout = Timeout,
- ReadWriteTimeout = Timeout,
- UserAgent=UserAgent
- };
- HttpResult r = t.GetHtml(m);
- if (r.StatusCode == System.Net.HttpStatusCode.OK)
- {
- return Convert.ToInt64(r.Header["Content-Length"]);
- }
- else if (r.StatusCode == System.Net.HttpStatusCode.MethodNotAllowed)
- {
- System.Net.ServicePointManager.DefaultConnectionLimit = 512;
- System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(url);
- System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
- long totalBytes = response.ContentLength;
- return totalBytes;
- }
- else
- return 0;
- }
- catch
- {
- return 0;
- }
- }
+ ///
+ public class QuickWeb
+ {
+ ///
+ /// 以post方式获取网页源码
+ ///
+ ///
+ ///
+ ///
+ ///
+ public HttpResult Post(string url, string post, string cookie)
+ {
+ return Post(url, post, "application/x-www-form-urlencoded", cookie);
+ }
+ ///
+ /// 以post方式提交json内容
+ ///
+ ///
+ ///
+ ///
+ ///
+ public HttpResult PostJson(string url, string post, string cookie)
+ {
+ return Post(url, post, "application/json", cookie);
+ }
+ ///
+ /// 以post方式提交json内容
+ ///
+ ///
+ ///
+ ///
+ public HttpResult PostJson(string url, string post)
+ {
+ return Post(url, post, "application/json", "");
+ }
+ ///
+ /// 以post方式获取网页源码
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public HttpResult Post(string url, string post,string ContentType, string cookie)
+ {
+ try
+ {
+ HttpHelper t = new HttpHelper();
+ HttpItem m = new HttpItem()
+ {
+ URL = url,
+ Postdata = post,
+ ContentType = ContentType,
+ Method = "POST",
+ Timeout = Timeout,
+ ReadWriteTimeout = Timeout,
+ UserAgent = UserAgent,
+ Referer=Referer
+ };
+ if (cookie.Length > 0)
+ {
+ m.Cookie = cookie;
+ }
+ HttpResult r = t.GetHtml(m);
+ return r;
+ }
+ catch
+ {
+ HttpResult r = new HttpResult();
+ return r;
+ }
+ }
+ ///
+ /// 以post方式获取网页源码
+ ///
+ ///
+ ///
+ ///
+ public HttpResult Post(string url, string post)
+ {
+ return Post(url, post, cookie);
+ }
+ ///
+ /// 获取网址对应的文件大小
+ ///
+ ///
+ ///
+ public long GetSize(string url)
+ {
+ try
+ {
+ HttpHelper t = new HttpHelper();
+ HttpItem m = new HttpItem()
+ {
+ URL = url,
+ Method = "HEAD",
+ Allowautoredirect = true,
+ Cookie = cookie,
+ Timeout = Timeout,
+ ReadWriteTimeout = Timeout,
+ UserAgent = UserAgent,
+ Referer = Referer
+ };
+ HttpResult r = t.GetHtml(m);
+ if (r.StatusCode == System.Net.HttpStatusCode.OK)
+ {
+ return Convert.ToInt64(r.Header["Content-Length"]);
+ }
+ else if (r.StatusCode == System.Net.HttpStatusCode.MethodNotAllowed)
+ {
+ System.Net.ServicePointManager.DefaultConnectionLimit = 512;
+ System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(url);
+ System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
+ long totalBytes = response.ContentLength;
+ return totalBytes;
+ }
+ else
+ return 0;
+ }
+ catch
+ {
+ return 0;
+ }
+ }
///
///
- ///
- public string UserAgent
- {
- get; set;
- } = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)";
- ///
- /// 获取网页源码
- ///
- ///
- ///
- ///
- public HttpResult Get(string url, string cookie)
- {
- try
- {
- HttpHelper t = new HttpHelper();
- HttpItem m = new HttpItem()
- {
- URL = url,
- ContentType= "application/x-www-form-urlencoded"
- };
- if (cookie.Length>0)
- {
- m.Cookie = cookie;
- }
- m.UserAgent = UserAgent;
- m.Allowautoredirect = true;
- m.Timeout = Timeout;
- m.ReadWriteTimeout = Timeout;
- HttpResult r = t.GetHtml(m);
- return r;
- }
- catch
- {
- HttpResult r = new HttpResult()
- {
- Html = ""
- };
- return r;
- }
- }
- ///
- /// 获取网页源码
- ///
- ///
- ///
- ///
- ///
- public HttpResult Get(string url,Encoding encoding, string cookie)
- {
- try
- {
- HttpHelper t = new HttpHelper();
- HttpItem m = new HttpItem()
- {
- URL = url
- };
- if (cookie != "")
- {
- m.Cookie = cookie;
- }
- m.UserAgent = UserAgent;
- m.Encoding = encoding;
- m.Allowautoredirect = true;
- m.Timeout = Timeout;
- m.ReadWriteTimeout = Timeout;
- HttpResult r = t.GetHtml(m);
- return r;
- }
- catch
- {
- HttpResult r = new HttpResult()
- {
- Html = ""
- };
- return r;
- }
- }
- ///
- /// 获取网页源码
- ///
- ///
- ///
- public HttpResult Get(string url)
- {
- return Get(url, cookie);
- }
+ ///
+ public string UserAgent
+ {
+ get; set;
+ } = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)";
+ ///
+ /// 获取网页源码
+ ///
+ ///
+ ///
+ ///
+ public HttpResult Get(string url, string cookie)
+ {
+ try
+ {
+ HttpHelper t = new HttpHelper();
+ HttpItem m = new HttpItem()
+ {
+ URL = url,
+ ContentType= "application/x-www-form-urlencoded"
+ };
+ if (cookie.Length>0)
+ {
+ m.Cookie = cookie;
+ }
+ m.UserAgent = UserAgent;
+ m.Allowautoredirect = true;
+ m.Timeout = Timeout;
+ m.ReadWriteTimeout = Timeout;
+ m.Referer = Referer;
+ HttpResult r = t.GetHtml(m);
+ return r;
+ }
+ catch
+ {
+ HttpResult r = new HttpResult()
+ {
+ Html = ""
+ };
+ return r;
+ }
+ }
+ ///
+ /// 获取网页源码
+ ///
+ ///
+ ///
+ ///
+ ///
+ public HttpResult Get(string url,Encoding encoding, string cookie)
+ {
+ try
+ {
+ HttpHelper t = new HttpHelper();
+ HttpItem m = new HttpItem()
+ {
+ URL = url
+ };
+ if (cookie != "")
+ {
+ m.Cookie = cookie;
+ }
+ m.UserAgent = UserAgent;
+ m.Encoding = encoding;
+ m.Allowautoredirect = true;
+ m.Timeout = Timeout;
+ m.ReadWriteTimeout = Timeout;
+ m.Referer = Referer;
+ HttpResult r = t.GetHtml(m);
+ return r;
+ }
+ catch
+ {
+ HttpResult r = new HttpResult()
+ {
+ Html = ""
+ };
+ return r;
+ }
+ }
+ ///
+ /// 获取网页源码
+ ///
+ ///
+ ///
+ public HttpResult Get(string url)
+ {
+ return Get(url, cookie);
+ }
///
///
- ///
- public string Cookie
- {
- get { return cookie; }
- }
+ ///
+ public string Cookie
+ {
+ get { return cookie; }
+ }
///
///
- ///
- public int Timeout { get; set; } = 10000;
+ ///
+ public string Referer
+ {
+ get;set;
+ }
+ ///
+ ///
+ ///
+ public int Timeout { get; set; } = 10000;
///
///
///
///
///
- ///
- public string UrlEncode(string str, Encoding encode)
- {
- StringBuilder sb = new StringBuilder();
- byte[] byStr = encode.GetBytes(str); //默认是System.Text.Encoding.Default.GetBytes(str)
- for (int i = 0; i < byStr.Length; i++)
- {
- var item = Convert.ToString(byStr[i], 16);
- if (item.Length == 1) { item = "0" + item; }
- sb.Append(@"%" + item);
- }
- return (sb.ToString());
- }
- private string cookie = "";
- ///
- /// 将相对网址转换成绝对网址
- ///
- /// 相对网址
- /// 当前页面地址
- /// 转换后的绝对网址
- public string ConvertUrl(string rel_url, string cur_pageUrl)
- {
- if (rel_url == "")
- {
- return cur_pageUrl;
- }
- try
- {
- string _rel_url = rel_url;
- if (_rel_url.IndexOf("//")==0)
- {
- int iPos = cur_pageUrl.IndexOf(":");
- if (iPos > 0)
- {
- _rel_url = cur_pageUrl.Substring(0,iPos)+ ":" + _rel_url;
- }
- }
- Uri baseUri = new Uri(cur_pageUrl); //
- Uri absoluteUri = new Uri(baseUri, _rel_url);//相对绝对路径都在这里转 这里的urlx ="../test.html"
- return absoluteUri.AbsoluteUri.Replace("&", "&");//
- }
- catch { return rel_url; }
- }
- }
-}
+ ///
+ public string UrlEncode(string str, Encoding encode)
+ {
+ StringBuilder sb = new StringBuilder();
+ byte[] byStr = encode.GetBytes(str); //默认是System.Text.Encoding.Default.GetBytes(str)
+ for (int i = 0; i < byStr.Length; i++)
+ {
+ var item = Convert.ToString(byStr[i], 16);
+ if (item.Length == 1) { item = "0" + item; }
+ sb.Append(@"%" + item);
+ }
+ return (sb.ToString());
+ }
+ private string cookie = "";
+ ///
+ /// 将相对网址转换成绝对网址
+ ///
+ /// 相对网址
+ /// 当前页面地址
+ /// 转换后的绝对网址
+ public string ConvertUrl(string rel_url, string cur_pageUrl)
+ {
+ if (rel_url == "")
+ {
+ return cur_pageUrl;
+ }
+ try
+ {
+ string _rel_url = rel_url;
+ if (_rel_url.IndexOf("//")==0)
+ {
+ int iPos = cur_pageUrl.IndexOf(":");
+ if (iPos > 0)
+ {
+ _rel_url = cur_pageUrl.Substring(0,iPos)+ ":" + _rel_url;
+ }
+ }
+ Uri baseUri = new Uri(cur_pageUrl); //
+ Uri absoluteUri = new Uri(baseUri, _rel_url);//相对绝对路径都在这里转 这里的urlx ="../test.html"
+ return absoluteUri.AbsoluteUri.Replace("&", "&");//
+ }
+ catch { return rel_url; }
+ }
+ }
+}
diff --git a/Source/ryControls/Properties/AssemblyInfo.cs b/Source/ryControls/Properties/AssemblyInfo.cs
index 3e12420..b988861 100644
--- a/Source/ryControls/Properties/AssemblyInfo.cs
+++ b/Source/ryControls/Properties/AssemblyInfo.cs
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值,
// 方法是按如下所示使用“*”: :
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("3.0.2106.1301")]
-[assembly: AssemblyFileVersion("3.0.2106.1301")]
\ No newline at end of file
+[assembly: AssemblyVersion("3.0.2107.0101")]
+[assembly: AssemblyFileVersion("3.0.2107.0101")]
\ No newline at end of file
diff --git a/Source/ryControls/Sheng.Winform.Controls/DragHelper.cs b/Source/ryControls/Sheng.Winform.Controls/DragHelper.cs
new file mode 100644
index 0000000..c82794c
--- /dev/null
+++ b/Source/ryControls/Sheng.Winform.Controls/DragHelper.cs
@@ -0,0 +1,41 @@
+//用在SETreeView 的拖放操作时
+//http://www.codeproject.com/KB/tree/TreeViewDragDrop.aspx
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Runtime.InteropServices;
+
+namespace Sheng.Winform.Controls
+{
+ public class DragHelper
+ {
+ [DllImport("comctl32.dll")]
+ public static extern bool InitCommonControls();
+
+ [DllImport("comctl32.dll", CharSet = CharSet.Auto)]
+ public static extern bool ImageList_BeginDrag(IntPtr himlTrack, int
+ iTrack, int dxHotspot, int dyHotspot);
+
+ [DllImport("comctl32.dll", CharSet = CharSet.Auto)]
+ public static extern bool ImageList_DragMove(int x, int y);
+
+ [DllImport("comctl32.dll", CharSet = CharSet.Auto)]
+ public static extern void ImageList_EndDrag();
+
+ [DllImport("comctl32.dll", CharSet = CharSet.Auto)]
+ public static extern bool ImageList_DragEnter(IntPtr hwndLock, int x, int y);
+
+ [DllImport("comctl32.dll", CharSet = CharSet.Auto)]
+ public static extern bool ImageList_DragLeave(IntPtr hwndLock);
+
+ [DllImport("comctl32.dll", CharSet = CharSet.Auto)]
+ public static extern bool ImageList_DragShowNolock(bool fShow);
+
+ static DragHelper()
+ {
+ InitCommonControls();
+ }
+ }
+}
diff --git a/Source/ryControls/Sheng.Winform.Controls/Drawing/BmpAdjuster.cs b/Source/ryControls/Sheng.Winform.Controls/Drawing/BmpAdjuster.cs
new file mode 100644
index 0000000..69336e2
--- /dev/null
+++ b/Source/ryControls/Sheng.Winform.Controls/Drawing/BmpAdjuster.cs
@@ -0,0 +1,279 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Drawing;
+using System.Drawing.Imaging;
+using System.Runtime.InteropServices;
+
+namespace Sheng.Winform.Controls.Drawing
+{
+ public class BmpAdjuster
+ {
+ #region 原有方法
+
+ public delegate ColorPalette PaletteAdjustEvent(ColorPalette plt);
+
+ public unsafe delegate void ConvertScanLineEvent(IntPtr srcLine, IntPtr dstLine, int width, int srcPixBit, int dstPixBit, Bitmap srcBmp, Bitmap dstBmp);
+
+ private int alpha = 255;
+
+ public BmpAdjuster()
+ {
+
+ }
+
+ ///
+ /// 初始化的时候给个alpha值,这样在灰图片的时候可以半透明
+ ///
+ ///
+ public BmpAdjuster(int alpha)
+ {
+ this.alpha = alpha;
+ }
+
+ public void AdjustColor(ref Bitmap bmp, PixelFormat format, PaletteAdjustEvent PalleteAdjust, ConvertScanLineEvent ConvertScanLine)
+ {
+ Rectangle rect = new Rectangle(0, 0, bmp.Width, bmp.Height);
+ Bitmap bmpOut = new Bitmap(bmp.Width, bmp.Height, format);
+
+ bmpOut.Palette = PalleteAdjust(bmpOut.Palette);
+
+ PixelFormat srcFmt = bmp.PixelFormat;
+ PixelFormat dstFmt = bmpOut.PixelFormat;
+ int srcPixBit = GetPixelSize(srcFmt);
+ int dstPixBit = GetPixelSize(dstFmt);
+
+ BitmapData srcData = null;
+ BitmapData dstData = null;
+ try
+ {
+ srcData = bmp.LockBits(rect, ImageLockMode.ReadOnly, srcFmt);
+ dstData = bmpOut.LockBits(rect, ImageLockMode.WriteOnly, dstFmt);
+
+ unsafe
+ {
+ byte* srcLine = (byte*)srcData.Scan0.ToPointer();
+ byte* dstLine = (byte*)dstData.Scan0.ToPointer();
+ for (int L = 0; L < srcData.Height; L++)
+ {
+ ConvertScanLine((IntPtr)srcLine, (IntPtr)dstLine, srcData.Width, srcPixBit, dstPixBit, bmp, bmpOut);
+
+ srcLine += srcData.Stride;
+ dstLine += dstData.Stride;
+ }
+ }
+ }
+ finally
+ {
+ bmp.UnlockBits(srcData);
+ bmpOut.UnlockBits(dstData);
+ }
+
+ bmp = bmpOut;
+ }
+
+ internal int GetPixelSize(PixelFormat format)
+ {
+ switch (format)
+ {
+ case PixelFormat.Format16bppRgb555: return 16;
+ case PixelFormat.Format16bppRgb565: return 16;
+ case PixelFormat.Format24bppRgb: return 24;
+ case PixelFormat.Format32bppRgb: return 32;
+ case PixelFormat.Format1bppIndexed: return 1;
+ case PixelFormat.Format4bppIndexed: return 4;
+ case PixelFormat.Format8bppIndexed: return 8;
+ case PixelFormat.Format16bppArgb1555: return 16;
+ case PixelFormat.Format32bppPArgb: return 32;
+ case PixelFormat.Format16bppGrayScale: return 16;
+ case PixelFormat.Format48bppRgb: return 48;
+ case PixelFormat.Format64bppPArgb: return 64;
+ case PixelFormat.Canonical: return 32;
+ case PixelFormat.Format32bppArgb: return 32;
+ case PixelFormat.Format64bppArgb: return 64;
+ }
+ return 0;
+ }
+
+ public unsafe void Monochrome(ref Bitmap bmp)
+ {
+ AdjustColor(ref bmp, PixelFormat.Format1bppIndexed,
+ new PaletteAdjustEvent(SetBlackWhitePallete),
+ new ConvertScanLineEvent(ConvertBlackWhiteScanLine));
+ }
+
+ ColorPalette SetBlackWhitePallete(ColorPalette plt)
+ {
+ plt.Entries[0] = Color.Black;
+ plt.Entries[1] = Color.White;
+ return plt;
+ }
+
+ unsafe void ConvertBlackWhiteScanLine(IntPtr srcLine, IntPtr dstLine, int width, int srcPixBit, int dstPixBit, Bitmap srcBmp, Bitmap dstBmp)
+ {
+ byte* src = (byte*)srcLine.ToPointer();
+ byte* dst = (byte*)dstLine.ToPointer();
+ int srcPixByte = srcPixBit / 8;
+ int x, v, t = 0;
+
+ for (x = 0; x < width; x++)
+ {
+ v = 28 * src[0] + 151 * src[1] + 77 * src[2];
+ t = (t << 1) | (v > 200 * 256 ? 1 : 0);
+ src += srcPixByte;
+
+ if (x % 8 == 7)
+ {
+ *dst = (byte)t;
+ dst++;
+ t = 0;
+ }
+ }
+
+ if ((x %= 8) != 7)
+ {
+ t <<= 8 - x;
+ *dst = (byte)t;
+ }
+ }
+
+ public void Gray(ref Bitmap bmp)
+ {
+ AdjustColor(ref bmp, PixelFormat.Format8bppIndexed,
+ new PaletteAdjustEvent(SetGrayPallete),
+ new ConvertScanLineEvent(ConvertGaryScanLine));
+ }
+
+ ColorPalette SetGrayPallete(ColorPalette plt)
+ {
+ //for (int i = plt.Entries.Length - 1; i >= 0; i--)
+ // plt.Entries[i] = Color.FromArgb( i, i, i);
+ for (int i = plt.Entries.Length - 1; i >= 0; i--)
+ plt.Entries[i] = Color.FromArgb(alpha, i, i, i);
+ return plt;
+ }
+
+ unsafe void ConvertGaryScanLine(IntPtr srcLine, IntPtr dstLine, int width, int srcPixBit, int dstPixBit, Bitmap srcBmp, Bitmap dstBmp)
+ {
+ byte* src = (byte*)srcLine.ToPointer();
+ byte* dst = (byte*)dstLine.ToPointer();
+ int srcPixByte = srcPixBit / 8;
+
+ for (int x = 0; x < width; x++)
+ {
+ *dst = (byte)((28 * src[0] + 151 * src[1] + 77 * src[2]) >> 8);
+ src += srcPixByte;
+ dst++;
+ }
+ }
+
+ #endregion
+
+ ///
+ /// 使图片单色化
+ ///
+ ///
+ ///
+ public static Bitmap MonochromeLockBits(Bitmap pimage)
+ {
+ Bitmap source = null;
+
+ // If original bitmap is not already in 32 BPP, ARGB format, then convert
+ if (pimage.PixelFormat != PixelFormat.Format32bppArgb)
+ {
+ source = new Bitmap(pimage.Width, pimage.Height, PixelFormat.Format32bppArgb);
+ source.SetResolution(pimage.HorizontalResolution, pimage.VerticalResolution);
+ using (Graphics g = Graphics.FromImage(source))
+ {
+ g.DrawImageUnscaled(pimage, 0, 0);
+ }
+ }
+ else
+ {
+ source = pimage;
+ }
+
+ // Lock source bitmap in memory
+ BitmapData sourceData = source.LockBits(new Rectangle(0, 0, source.Width, source.Height), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb);
+
+ // Copy image data to binary array
+ int imageSize = sourceData.Stride * sourceData.Height;
+ byte[] sourceBuffer = new byte[imageSize];
+ Marshal.Copy(sourceData.Scan0, sourceBuffer, 0, imageSize);
+
+ // Unlock source bitmap
+ source.UnlockBits(sourceData);
+
+ // Create destination bitmap
+ Bitmap destination = new Bitmap(source.Width, source.Height, PixelFormat.Format1bppIndexed);
+
+ // Lock destination bitmap in memory
+ BitmapData destinationData = destination.LockBits(new Rectangle(0, 0, destination.Width, destination.Height), ImageLockMode.WriteOnly, PixelFormat.Format1bppIndexed);
+
+ // Create destination buffer
+ imageSize = destinationData.Stride * destinationData.Height;
+ byte[] destinationBuffer = new byte[imageSize];
+
+ int sourceIndex = 0;
+ int destinationIndex = 0;
+ int pixelTotal = 0;
+ byte destinationValue = 0;
+ int pixelValue = 128;
+ int height = source.Height;
+ int width = source.Width;
+ int threshold = 500;
+
+ // Iterate lines
+ for (int y = 0; y < height; y++)
+ {
+ sourceIndex = y * sourceData.Stride;
+ destinationIndex = y * destinationData.Stride;
+ destinationValue = 0;
+ pixelValue = 128;
+
+ // Iterate pixels
+ for (int x = 0; x < width; x++)
+ {
+ // Compute pixel brightness (i.e. total of Red, Green, and Blue values)
+ pixelTotal = sourceBuffer[sourceIndex + 1] + sourceBuffer[sourceIndex + 2] + sourceBuffer[sourceIndex + 3];
+ if (pixelTotal > threshold)
+ {
+ destinationValue += (byte)pixelValue;
+ }
+ if (pixelValue == 1)
+ {
+ destinationBuffer[destinationIndex] = destinationValue;
+ destinationIndex++;
+ destinationValue = 0;
+ pixelValue = 128;
+ }
+ else
+ {
+ pixelValue >>= 1;
+ }
+ sourceIndex += 4;
+ }
+ if (pixelValue != 128)
+ {
+ destinationBuffer[destinationIndex] = destinationValue;
+ }
+ }
+
+ // Copy binary image data to destination bitmap
+ Marshal.Copy(destinationBuffer, 0, destinationData.Scan0, imageSize);
+
+ // Unlock destination bitmap
+ destination.UnlockBits(destinationData);
+
+ // Dispose of source if not originally supplied bitmap
+ if (source != pimage)
+ {
+ source.Dispose();
+ }
+
+ // Return
+ return destination;
+ }
+ }
+}
diff --git a/Source/ryControls/Sheng.Winform.Controls/Drawing/ColorRepresentationHelper.cs b/Source/ryControls/Sheng.Winform.Controls/Drawing/ColorRepresentationHelper.cs
new file mode 100644
index 0000000..69f8e16
--- /dev/null
+++ b/Source/ryControls/Sheng.Winform.Controls/Drawing/ColorRepresentationHelper.cs
@@ -0,0 +1,67 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Drawing;
+using System.Reflection;
+
+namespace Sheng.Winform.Controls.Drawing
+{
+ public enum ChooseColorType
+ {
+ ///
+ /// 自定义
+ ///
+ Custom = 0,
+ ///
+ /// 预置
+ ///
+ Define = 1,
+ ///
+ /// 系统
+ ///
+ System = 2
+ }
+
+ ///
+ /// 颜色表示法
+ ///
+ public class ColorRepresentationHelper
+ {
+ ///
+ /// 根据颜色表示字符串获取对应的颜色
+ ///
+ ///
+ ///
+ public static Color GetColorByValue(string colorValueString)
+ {
+ if (colorValueString == null || colorValueString == String.Empty)
+ {
+ return Color.Empty;
+ }
+
+ string[] strArray = colorValueString.Split('.');
+
+ ChooseColorType type =
+ (ChooseColorType)Convert.ToInt32(strArray[0]);
+ Color color = Color.Empty;
+ switch (type)
+ {
+ case ChooseColorType.Custom:
+ color = Color.FromArgb(Convert.ToInt32(strArray[2]));
+ break;
+ case ChooseColorType.Define:
+ color = Color.FromArgb(Convert.ToInt32(strArray[2]));
+ break;
+ case ChooseColorType.System:
+ Type typeSystemColors = typeof(System.Drawing.SystemColors);
+ PropertyInfo p = typeSystemColors.GetProperty(strArray[1]);
+ color = (Color)p.GetValue(typeSystemColors, null);
+ break;
+ }
+
+ return color;
+ }
+
+ }
+}
diff --git a/Source/ryControls/Sheng.Winform.Controls/Drawing/DrawingTool.cs b/Source/ryControls/Sheng.Winform.Controls/Drawing/DrawingTool.cs
new file mode 100644
index 0000000..135198a
--- /dev/null
+++ b/Source/ryControls/Sheng.Winform.Controls/Drawing/DrawingTool.cs
@@ -0,0 +1,494 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Drawing;
+using System.Drawing.Imaging;
+using System.IO;
+using System.Drawing.Drawing2D;
+using System.Runtime.InteropServices;
+using System.Diagnostics;
+
+namespace Sheng.Winform.Controls.Drawing
+{
+ public static class DrawingTool
+ {
+ #region GetImage
+
+ public static Image GetImage(string filePath)
+ {
+ return GetImage(filePath, true);
+ }
+
+ public static Image GetImage(string filePath, bool memberCopy)
+ {
+ return GetImage(filePath, memberCopy, false);
+ }
+
+ ///
+ /// 从文件中获取Image对象
+ /// 这个函数的主要功能是处理一些ico文件
+ /// 一些ico文件的格式可能比较新,直接Image.FormFile,会报内存不足的异常
+ ///
+ ///
+ /// 是否将文件读入内存操作,如果为false,将直接返回Image.FromFile,在此情况下,
+ /// 必须手动释放Image对象,否则文件将一直处于占用状态,如果为true,则在内存中拷贝副本
+ ///
+ public static Image GetImage(string filePath,bool memberCopy, bool markNotFind)
+ {
+ FileInfo file = new FileInfo(filePath);
+ Image image = null;
+
+ if (!file.Exists)
+ {
+ if (markNotFind)
+ {
+ image = new Bitmap(16, 16);
+ Mark.FileNotFind(image);
+ return image;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+
+ switch (file.Extension.ToLower())
+ {
+ case ".ico": try
+ {
+ Icon icon = new Icon(file.FullName);
+ image = icon.ToBitmap();
+ }
+ catch
+ {
+ image = new Bitmap(16, 16);
+ Mark.FileCanNotRead(image);
+ }
+ break;
+ default:
+ if (memberCopy)
+ {
+ Image imgTemp = Image.FromFile(file.FullName);
+ image = new System.Drawing.Bitmap(imgTemp);
+ imgTemp.Dispose();
+ }
+ else
+ {
+ // Image.FromFile(file.FullName);会使文件一直处于被占用状态,必须手动释放
+ image = Image.FromFile(file.FullName);
+ }
+ break;
+ }
+
+ return image;
+ }
+
+ #endregion
+
+ #region ImageToIcon
+
+ ///
+ /// 将图像转为Icon对象,使用png格式
+ ///
+ ///
+ ///
+ public static Icon ImageToIcon(Image image)
+ {
+ return ImageToIcon(image, ImageFormat.Png);
+ }
+
+ ///
+ /// 将图像转为Icon对象
+ ///
+ ///
+ ///
+ ///
+ public static Icon ImageToIcon(Image image, ImageFormat format)
+ {
+ System.IO.Stream ms = new MemoryStream();
+ image.Save(ms, format);
+ Icon icon = Icon.FromHandle(new Bitmap(ms).GetHicon());
+ ms.Close();
+ return icon;
+ }
+
+ #endregion
+
+ #region GetScaleImage
+
+ ///
+ /// 返回适应指定容器大小的图像
+ /// 如果图像的尺寸(长或宽)超出了容器范围,将按比例获取图像的缩略图返回,否则直接返回图像
+ /// 此方法最终调用 Image.GetThumbnailImage
+ /// 但是注意,在指定的容器尺寸过小时,返回的Image尺寸不可知,是在为了显示16x16的小缩略图是发现了此问题
+ /// 使用 GetScaleImage
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static Image GetAutoScaleThumbnailImage(Image image, int containerWidth, int containerHeight)
+ {
+ if (image.Size.Width > containerWidth ||
+ image.Size.Height > containerHeight)
+ {
+ double height = containerHeight;
+ double width = containerWidth;
+
+ double new_height;
+ double new_width;
+ double scale;
+ new_height = height;
+ new_width = width;
+ if ((image.Width > width) || (image.Height > height))
+ {
+ if (image.Width > width)
+ {
+ scale = image.Width / width;
+ new_width = image.Width / scale;
+ new_height = image.Height / scale;
+ }
+ else
+ {
+ scale = image.Height / height;
+ new_width = image.Width / scale;
+ new_height = image.Height / scale;
+ }
+ }
+
+ return image.GetThumbnailImage(Convert.ToInt32(new_width), Convert.ToInt32(new_height),
+ thumbnailCallback, IntPtr.Zero);
+
+ }
+ else
+ {
+ return image;
+ }
+
+ }
+
+ static Image.GetThumbnailImageAbort thumbnailCallback = new Image.GetThumbnailImageAbort(ThumbnailCallback);
+ private static bool ThumbnailCallback()
+ {
+ return false;
+ }
+
+ ///
+ /// 返回适应指定容器大小的图像
+ /// 在需要的情况下,此方法创建一个新对象,进行绘制
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static Image GetScaleImage(Image image, Size size)
+ {
+ if (image.Size.Width > size.Width ||
+ image.Size.Height > size.Height)
+ {
+ double width = size.Width;
+ double height = size.Height;
+
+ double new_width;
+ double new_height;
+ double scale;
+ new_height = height;
+ new_width = width;
+ if ((image.Width > width) || (image.Height > height))
+ {
+ if (image.Width > width)
+ {
+ scale = image.Width / width;
+ new_width = image.Width / scale;
+ new_height = image.Height / scale;
+ }
+ else
+ {
+ scale = image.Height / height;
+ new_width = image.Width / scale;
+ new_height = image.Height / scale;
+ }
+ }
+
+ Bitmap bitmap = new Bitmap(Convert.ToInt32(new_width), Convert.ToInt32(new_height));
+
+ Graphics g = Graphics.FromImage(bitmap);
+
+ g.DrawImage(image, 0, 0, bitmap.Width, bitmap.Height);
+
+ return bitmap;
+ }
+ else
+ {
+ return image;
+ }
+ }
+
+ ///
+ /// 返回适应指定容器大小的图像
+ /// 在需要的情况下,此方法创建一个新对象,进行绘制
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static Image GetScaleImage(Image image, int containerWidth, int containerHeight)
+ {
+ if (containerWidth == null || containerHeight == null)
+ {
+ Debug.Assert(false, "containerWidth 或 containerHeight为空");
+ throw new ArgumentNullException();
+ }
+
+ return GetScaleImage(image, new Size(containerWidth, containerHeight));
+ }
+
+ #endregion
+
+ ///
+ /// Gets the bounding rectangle of an image required to fit
+ /// in to the given rectangle keeping the image aspect ratio.
+ ///
+ /// The source image.
+ /// The rectangle to fit in to.
+ /// Horizontal image aligment in percent.
+ /// Vertical image aligment in percent.
+ /// New image size.
+ public static Rectangle GetSizedImageBounds(Image image, Rectangle fit, float hAlign, float vAlign)
+ {
+ if (hAlign < 0 || hAlign > 100.0f)
+ throw new ArgumentException("hAlign must be between 0.0 and 100.0 (inclusive).", "hAlign");
+ if (vAlign < 0 || vAlign > 100.0f)
+ throw new ArgumentException("vAlign must be between 0.0 and 100.0 (inclusive).", "vAlign");
+ Size scaled = GetSizedImageBounds(image, fit.Size);
+ int x = fit.Left + (int)(hAlign / 100.0f * (float)(fit.Width - scaled.Width));
+ int y = fit.Top + (int)(vAlign / 100.0f * (float)(fit.Height - scaled.Height));
+
+ return new Rectangle(x, y, scaled.Width, scaled.Height);
+ }
+ ///
+ /// Gets the bounding rectangle of an image required to fit
+ /// in to the given rectangle keeping the image aspect ratio.
+ /// The image will be centered in the fit box.
+ ///
+ /// The source image.
+ /// The rectangle to fit in to.
+ /// New image size.
+ public static Rectangle GetSizedImageBounds(Image image, Rectangle fit)
+ {
+ return GetSizedImageBounds(image, fit, 50.0f, 50.0f);
+ }
+
+ ///
+ /// Gets the scaled size of an image required to fit
+ /// in to the given size keeping the image aspect ratio.
+ ///
+ /// The source image.
+ /// The size to fit in to.
+ /// New image size.
+ public static Size GetSizedImageBounds(Image image, Size fit)
+ {
+ float f = System.Math.Max((float)image.Width / (float)fit.Width, (float)image.Height / (float)fit.Height);
+ if (f < 1.0f) f = 1.0f; // Do not upsize small images
+ int width = (int)System.Math.Round((float)image.Width / f);
+ int height = (int)System.Math.Round((float)image.Height / f);
+ return new Size(width, height);
+ }
+
+
+ #region RoundedRect
+
+ ///
+ /// 获取一个圆角矩形
+ ///
+ ///
+ ///
+ /// 角度
+ ///
+ public static GraphicsPath RoundedRect(int width, int height, int radius)
+ {
+ RectangleF baseRect = new RectangleF(0, 0, width, height);
+ return RoundedRect(baseRect, radius);
+ }
+
+ ///
+ /// 获取一个圆角矩形
+ ///
+ ///
+ ///
+ /// 角度
+ ///
+ public static GraphicsPath RoundedRect(RectangleF baseRect, int radius)
+ {
+ //RectangleF baseRect = new RectangleF(0, 0, width, height);
+ float diameter = radius * 2.0f;
+ SizeF sizeF = new SizeF(diameter, diameter);
+ RectangleF arc = new RectangleF(baseRect.Location, sizeF);
+ GraphicsPath path = new GraphicsPath();
+
+ // top left arc
+ path.AddArc(arc, 180, 90);
+
+ // top right arc
+ arc.X = baseRect.Right - diameter;
+ path.AddArc(arc, 270, 90);
+
+ // bottom right arc
+ arc.Y = baseRect.Bottom - diameter;
+ path.AddArc(arc, 0, 90);
+
+ // bottom left arc
+ arc.X = baseRect.Left;
+ path.AddArc(arc, 90, 90);
+
+ path.CloseFigure();
+ return path;
+ }
+
+ #endregion
+
+ #region GetArrowPath
+
+ public static GraphicsPath GetArrowPath(PointF startPoint, PointF endPoint)
+ {
+ return GetArrowPath(startPoint, endPoint, 7);
+ }
+
+ public static GraphicsPath GetArrowPath(PointF startPoint, PointF endPoint, double arrowLength)
+ {
+ return GetArrowPath(startPoint, endPoint, arrowLength, 1);
+ }
+
+ ///
+ /// 返回一个表示箭头的Path
+ /// 如果开始坐标和结束坐标之间的距离大于箭头的大小,箭头向结束坐标对齐,顶着结束坐标
+ ///
+ /// 开始坐标
+ /// 结束坐标(顶点,方向)
+ /// 箭头的长短,大小
+ /// 箭头的粗细
+ ///
+ public static GraphicsPath GetArrowPath(PointF startPoint, PointF endPoint,
+ double arrowLength, double relativeValue)
+ {
+ //http://www.cnblogs.com/jasenkin/archive/2011/01/04/graphic_drawing_arrow_head_II.html
+
+ double distance = Math.Abs(Math.Sqrt(
+ (startPoint.X - endPoint.X) * (startPoint.X - endPoint.X) +
+ (startPoint.Y - endPoint.Y) * (startPoint.Y - endPoint.Y)));
+
+ if (distance == 0)
+ {
+ return new GraphicsPath();
+ }
+
+ double xa = endPoint.X + arrowLength * ((startPoint.X - endPoint.X)
+ + (startPoint.Y - endPoint.Y) / relativeValue) / distance;
+ double ya = endPoint.Y + arrowLength * ((startPoint.Y - endPoint.Y)
+ - (startPoint.X - endPoint.X) / relativeValue) / distance;
+ double xb = endPoint.X + arrowLength * ((startPoint.X - endPoint.X)
+ - (startPoint.Y - endPoint.Y) / relativeValue) / distance;
+ double yb = endPoint.Y + arrowLength * ((startPoint.Y - endPoint.Y)
+ + (startPoint.X - endPoint.X) / relativeValue) / distance;
+
+ PointF[] polygonPoints =
+ {
+ new PointF(endPoint.X , endPoint.Y),
+ new PointF( (float)xa , (float)ya),
+ new PointF( (float)xb , (float)yb)
+ };
+
+ GraphicsPath path = new GraphicsPath();
+ path.AddLines(polygonPoints);
+
+ return path;
+ }
+
+
+ #endregion
+
+ #region Mark
+
+ ///
+ /// 在指定的Image上绘制特定标记
+ ///
+ public static class Mark
+ {
+ ///
+ /// 文件不存在
+ ///
+ ///
+ [Obsolete("改用 FileNotFind(Size size)")]
+ public static void FileNotFind(Image image)
+ {
+ if (image == null)
+ {
+ Debug.Assert(false, "image = null");
+ return;
+ }
+
+ Graphics g = Graphics.FromImage(image);
+ g.DrawRectangle(Pens.Red, 0, 0, image.Width - 1, image.Height - 1);
+ g.DrawLine(Pens.Red, 0, 0, image.Width, image.Height);
+ g.DrawLine(Pens.Red, image.Width, 0, 0, image.Height);
+ g.Dispose();
+ }
+
+ ///
+ /// 文件不存在
+ ///
+ ///
+ public static Image FileNotFind(Size size)
+ {
+ Image image = new Bitmap(size.Width, size.Height);
+
+ Graphics g = Graphics.FromImage(image);
+ g.Clear(Color.White);
+ g.DrawRectangle(Pens.Red, 0, 0, image.Width - 1, image.Height - 1);
+ g.DrawLine(Pens.Red, 0, 0, image.Width, image.Height);
+ g.DrawLine(Pens.Red, image.Width, 0, 0, image.Height);
+ g.Dispose();
+
+ return image;
+ }
+
+ ///
+ /// 无法读取文件
+ ///
+ ///
+ [Obsolete("改用 FileCanNotRead(Size size)")]
+ public static void FileCanNotRead(Image image)
+ {
+ if (image == null)
+ {
+ Debug.Assert(false, "image = null");
+ return;
+ }
+
+ Graphics g = Graphics.FromImage(image);
+ g.DrawRectangle(Pens.Red, 0, 0, image.Width - 1, image.Height - 1);
+ g.DrawLine(Pens.Red, 0, 0, image.Width, image.Height);
+ g.DrawLine(Pens.Red, image.Width, 0, 0, image.Height);
+ g.Dispose();
+ }
+
+ public static Image FileCanNotRead(Size size)
+ {
+ Image image = new Bitmap(size.Width, size.Height);
+
+ Graphics g = Graphics.FromImage(image);
+ g.Clear(Color.White);
+ g.DrawRectangle(Pens.Red, 0, 0, image.Width - 1, image.Height - 1);
+ g.DrawLine(Pens.Red, 0, 0, image.Width, image.Height);
+ g.DrawLine(Pens.Red, image.Width, 0, 0, image.Height);
+ g.Dispose();
+
+ return image;
+ }
+ }
+
+ #endregion
+ }
+}
diff --git a/Source/ryControls/Sheng.Winform.Controls/Drawing/GraphPlotting.cs b/Source/ryControls/Sheng.Winform.Controls/Drawing/GraphPlotting.cs
new file mode 100644
index 0000000..f3ae27c
--- /dev/null
+++ b/Source/ryControls/Sheng.Winform.Controls/Drawing/GraphPlotting.cs
@@ -0,0 +1,268 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Drawing;
+using System.Runtime.InteropServices;
+using System.Drawing.Imaging;
+
+namespace SEDrawing
+{
+ public class GraphPlotting
+ {
+ ///
+ /// 最大圆角半径
+ ///
+ protected const int roundMaxRoundRadius = 3;
+ ///
+ /// 最小矩形边长,用于自动处理圆角大小
+ ///
+ protected const int roundMinBorderLength = 20;
+
+ ///
+ /// 绘制一个圆角矩形.
+ ///
+ /// 当前屏幕的图形对象
+ /// 矩形线条的颜色
+ /// 矩形左上角X坐标
+ /// 矩形左上角Y坐标
+ /// 矩形右下角X坐标
+ /// 矩形右下角Y坐标
+ /// 圆角的半径长度
+ public static void DrawRoundRect(System.Drawing.Graphics currentGraphicObject, Pen drawPen, int nLeft, int nTop, int nRight, int nBottom, int round)
+ {
+ if (round > roundMaxRoundRadius)
+ {
+ round = roundMaxRoundRadius;
+ }
+ else if (round < 0)
+ {
+ round = 0;
+ }
+ if (Math.Abs(nRight - nLeft) < roundMinBorderLength && Math.Abs(nBottom - nTop) < roundMinBorderLength)
+ {
+ round = 1;
+ }
+
+ Point Polygon1 = new Point(nLeft + round, nTop);
+ Point Polygon2 = new Point(nRight - round + 1, nTop);
+
+ Point Polygon3 = new Point(nLeft, nTop + round);
+ Point Polygon4 = new Point(nRight + 1, nTop + round);
+
+ Point Polygon5 = new Point(nLeft, nBottom - round);
+ Point Polygon6 = new Point(nRight + 1, nBottom - round);
+
+ Point Polygon7 = new Point(nLeft + round, nBottom + 1);
+ Point Polygon8 = new Point(nRight - round, nBottom + 1);
+
+ //四条主线(上下左右)
+ currentGraphicObject.DrawLine(drawPen, Polygon1.X, Polygon1.Y, Polygon2.X, Polygon2.Y);
+ currentGraphicObject.DrawLine(drawPen, Polygon7.X, Polygon7.Y, Polygon8.X, Polygon8.Y);
+ currentGraphicObject.DrawLine(drawPen, Polygon3.X, Polygon3.Y, Polygon5.X, Polygon5.Y);
+ currentGraphicObject.DrawLine(drawPen, Polygon4.X, Polygon4.Y, Polygon6.X, Polygon6.Y);
+
+ //四个边角
+ currentGraphicObject.DrawLine(drawPen, Polygon1.X, Polygon1.Y, Polygon3.X, Polygon3.Y);
+ currentGraphicObject.DrawLine(drawPen, Polygon2.X, Polygon2.Y, Polygon4.X, Polygon4.Y);
+ currentGraphicObject.DrawLine(drawPen, Polygon5.X, Polygon5.Y, Polygon7.X, Polygon7.Y);
+ currentGraphicObject.DrawLine(drawPen, Polygon6.X, Polygon6.Y, Polygon8.X, Polygon8.Y);
+ }
+ ///
+ /// 绘制一个圆角矩形.
+ ///
+ /// 当前屏幕的图形对象
+ /// 矩形线条的颜色
+ /// 要绘制的矩形对象
+ /// 圆角的半径长度
+ public static void DrawRoundRect(System.Drawing.Graphics currentGraphicObject, Pen drawPen, Rectangle rect, int round)
+ {
+ DrawRoundRect(currentGraphicObject, drawPen, rect.Left, rect.Top, rect.Right, rect.Bottom, round);
+ }
+ ///
+ /// 绘制一个圆角矩形.
+ ///
+ /// 当前屏幕的图形对象
+ /// 矩形线条的颜色
+ /// 要绘制的矩形对象
+ public static void DrawRoundRect(System.Drawing.Graphics currentGraphicObject, Pen drawPen, Rectangle rect)
+ {
+ DrawRoundRect(currentGraphicObject, drawPen, rect.Left, rect.Top, rect.Right, rect.Bottom, 2);
+ }
+
+ ///
+ /// 填充一个圆角矩形.
+ ///
+ /// 当前屏幕的图形对象
+ /// 矩形线条的颜色
+ /// 矩形左上角X坐标
+ /// 矩形左上角Y坐标
+ /// 矩形右下角X坐标
+ /// 矩形右下角Y坐标
+ /// 圆角的半径长度
+ public static void FillRoundRect(System.Drawing.Graphics currentGraphicObject, Brush brush, int nLeft, int nTop, int nRight, int nBottom, int round)
+ {
+ if (round > roundMaxRoundRadius)
+ {
+ round = roundMaxRoundRadius;
+ }
+ else if (round < 0)
+ {
+ round = 0;
+ }
+ if (Math.Abs(nRight - nLeft) < roundMinBorderLength && Math.Abs(nBottom - nTop) < roundMinBorderLength)
+ {
+ round = 1;
+ }
+
+ Point Polygon1 = new Point(nLeft + round, nTop);
+ Point Polygon2 = new Point(nRight - round + 1, nTop);
+
+ Point Polygon3 = new Point(nLeft, nTop + round);
+ Point Polygon4 = new Point(nRight + 1, nTop + round);
+
+ Point Polygon5 = new Point(nLeft, nBottom - round);
+ Point Polygon6 = new Point(nRight + 1, nBottom - round);
+
+ Point Polygon7 = new Point(nLeft + round, nBottom + 1);
+ Point Polygon8 = new Point(nRight - round, nBottom + 1);
+
+ currentGraphicObject.FillPolygon(brush, new Point[]{ Polygon1,
+ Polygon3,
+ Polygon5,
+ Polygon7,
+ Polygon8,
+ Polygon6,
+ Polygon4,
+ Polygon2});
+ }
+ ///
+ /// 填充一个圆角矩形.
+ ///
+ /// 当前屏幕的图形对象
+ /// 矩形线条的颜色
+ /// 要填充的矩形
+ /// 填充区域针对矩形的缩进距离
+ /// 圆角的半径长度
+ public static void FillRoundRect(System.Drawing.Graphics currentGraphicObject, Brush brush, Rectangle rect, int indentSize, int round)
+ {
+ FillRoundRect(currentGraphicObject, brush, rect.Left + indentSize, rect.Top + indentSize, rect.Right - indentSize + 1, rect.Bottom - indentSize + 1, round);
+ }
+ ///
+ /// 填充一个圆角矩形.
+ ///
+ /// 当前屏幕的图形对象
+ /// 矩形线条的颜色
+ /// 要填充的矩形
+ public static void FillRoundRect(System.Drawing.Graphics currentGraphicObject, Brush brush, Rectangle rect)
+ {
+ FillRoundRect(currentGraphicObject, brush, rect, 0, 2);
+ }
+
+ ///
+ /// 使图片单色化
+ ///
+ ///
+ ///
+ public static Bitmap MonochromeLockBits(Bitmap pimage)
+ {
+ Bitmap source = null;
+
+ // If original bitmap is not already in 32 BPP, ARGB format, then convert
+ if (pimage.PixelFormat != PixelFormat.Format32bppArgb)
+ {
+ source = new Bitmap(pimage.Width, pimage.Height, PixelFormat.Format32bppArgb);
+ source.SetResolution(pimage.HorizontalResolution, pimage.VerticalResolution);
+ using (Graphics g = Graphics.FromImage(source))
+ {
+ g.DrawImageUnscaled(pimage, 0, 0);
+ }
+ }
+ else
+ {
+ source = pimage;
+ }
+
+ // Lock source bitmap in memory
+ BitmapData sourceData = source.LockBits(new Rectangle(0, 0, source.Width, source.Height), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb);
+
+ // Copy image data to binary array
+ int imageSize = sourceData.Stride * sourceData.Height;
+ byte[] sourceBuffer = new byte[imageSize];
+ Marshal.Copy(sourceData.Scan0, sourceBuffer, 0, imageSize);
+
+ // Unlock source bitmap
+ source.UnlockBits(sourceData);
+
+ // Create destination bitmap
+ Bitmap destination = new Bitmap(source.Width, source.Height, PixelFormat.Format1bppIndexed);
+
+ // Lock destination bitmap in memory
+ BitmapData destinationData = destination.LockBits(new Rectangle(0, 0, destination.Width, destination.Height), ImageLockMode.WriteOnly, PixelFormat.Format1bppIndexed);
+
+ // Create destination buffer
+ imageSize = destinationData.Stride * destinationData.Height;
+ byte[] destinationBuffer = new byte[imageSize];
+
+ int sourceIndex = 0;
+ int destinationIndex = 0;
+ int pixelTotal = 0;
+ byte destinationValue = 0;
+ int pixelValue = 128;
+ int height = source.Height;
+ int width = source.Width;
+ int threshold = 500;
+
+ // Iterate lines
+ for (int y = 0; y < height; y++)
+ {
+ sourceIndex = y * sourceData.Stride;
+ destinationIndex = y * destinationData.Stride;
+ destinationValue = 0;
+ pixelValue = 128;
+
+ // Iterate pixels
+ for (int x = 0; x < width; x++)
+ {
+ // Compute pixel brightness (i.e. total of Red, Green, and Blue values)
+ pixelTotal = sourceBuffer[sourceIndex + 1] + sourceBuffer[sourceIndex + 2] + sourceBuffer[sourceIndex + 3];
+ if (pixelTotal > threshold)
+ {
+ destinationValue += (byte)pixelValue;
+ }
+ if (pixelValue == 1)
+ {
+ destinationBuffer[destinationIndex] = destinationValue;
+ destinationIndex++;
+ destinationValue = 0;
+ pixelValue = 128;
+ }
+ else
+ {
+ pixelValue >>= 1;
+ }
+ sourceIndex += 4;
+ }
+ if (pixelValue != 128)
+ {
+ destinationBuffer[destinationIndex] = destinationValue;
+ }
+ }
+
+ // Copy binary image data to destination bitmap
+ Marshal.Copy(destinationBuffer, 0, destinationData.Scan0, imageSize);
+
+ // Unlock destination bitmap
+ destination.UnlockBits(destinationData);
+
+ // Dispose of source if not originally supplied bitmap
+ if (source != pimage)
+ {
+ source.Dispose();
+ }
+
+ // Return
+ return destination;
+ }
+ }
+}
diff --git a/Source/ryControls/Sheng.Winform.Controls/Drawing/GraphicsExtension.cs b/Source/ryControls/Sheng.Winform.Controls/Drawing/GraphicsExtension.cs
new file mode 100644
index 0000000..4d34671
--- /dev/null
+++ b/Source/ryControls/Sheng.Winform.Controls/Drawing/GraphicsExtension.cs
@@ -0,0 +1,454 @@
+/* GraphicsExtension - [Extended Graphics]
+ * Author name: Arun Reginald Zaheeruddin
+ * Current version: 1.0.0.4 (12b)
+ * Release documentation: http://www.codeproject.com
+ * License information: Microsoft Public License (Ms-PL) [http://www.opensource.org/licenses/ms-pl.html]
+ *
+ * Enhancements and history
+ * ------------------------
+ * 1.0.0.1 (20 Jul 2009): Initial release with modified code from previous CodeProject article.
+ * 1.0.0.2 (25 Jul 2009): Added functionality that allows selected corners on a rectangle to be rounded.
+ * Modified code to adapt to an anti-aliased output while drawing and filling rounded rectangles.
+ * 1.0.0.3 (26 Jul 2009): Added DrawRoundedRectangle and FillRoundedRectangle methods that take a Rectangle and RectangleF object.
+ * 1.0.0.4 (27 Jul 2009): Added font metrics and measuring utility that measures a font's height, leading, ascent, etc.
+ *
+ * Issues addressed
+ * ----------------
+ * 1. Rounded rectangles - rounding edges of a rectangle.
+ * 2. Font Metrics - Measuring a font's height, leading, ascent, etc.
+ */
+using System;
+using System.Drawing;
+using System.Drawing.Drawing2D;
+using System.Runtime.InteropServices;
+
+namespace Sheng.Winform.Controls.Drawing
+{
+ static class GraphicsExtension
+ {
+ private static GraphicsPath GenerateRoundedRectangle(
+ this Graphics graphics,
+ RectangleF rectangle,
+ float radius,
+ RectangleEdgeFilter filter)
+ {
+ float diameter;
+ GraphicsPath path = new GraphicsPath();
+ if (radius <= 0.0F || filter == RectangleEdgeFilter.None)
+ {
+ path.AddRectangle(rectangle);
+ path.CloseFigure();
+ return path;
+ }
+ else
+ {
+ if (radius >= (Math.Min(rectangle.Width, rectangle.Height)) / 2.0)
+ return graphics.GenerateCapsule(rectangle);
+ diameter = radius * 2.0F;
+ SizeF sizeF = new SizeF(diameter, diameter);
+ RectangleF arc = new RectangleF(rectangle.Location, sizeF);
+ if ((RectangleEdgeFilter.TopLeft & filter) == RectangleEdgeFilter.TopLeft)
+ path.AddArc(arc, 180, 90);
+ else
+ {
+ path.AddLine(arc.X, arc.Y + arc.Height, arc.X, arc.Y);
+ path.AddLine(arc.X, arc.Y, arc.X + arc.Width, arc.Y);
+ }
+ arc.X = rectangle.Right - diameter;
+ if ((RectangleEdgeFilter.TopRight & filter) == RectangleEdgeFilter.TopRight)
+ path.AddArc(arc, 270, 90);
+ else
+ {
+ path.AddLine(arc.X, arc.Y, arc.X + arc.Width, arc.Y);
+ path.AddLine(arc.X + arc.Width, arc.Y + arc.Height, arc.X + arc.Width, arc.Y);
+ }
+ arc.Y = rectangle.Bottom - diameter;
+ if ((RectangleEdgeFilter.BottomRight & filter) == RectangleEdgeFilter.BottomRight)
+ path.AddArc(arc, 0, 90);
+ else
+ {
+ path.AddLine(arc.X + arc.Width, arc.Y, arc.X + arc.Width, arc.Y + arc.Height);
+ path.AddLine(arc.X, arc.Y + arc.Height, arc.X + arc.Width, arc.Y + arc.Height);
+ }
+ arc.X = rectangle.Left;
+ if ((RectangleEdgeFilter.BottomLeft & filter) == RectangleEdgeFilter.BottomLeft)
+ path.AddArc(arc, 90, 90);
+ else
+ {
+ path.AddLine(arc.X + arc.Width, arc.Y + arc.Height, arc.X, arc.Y + arc.Height);
+ path.AddLine(arc.X, arc.Y + arc.Height, arc.X, arc.Y);
+ }
+ path.CloseFigure();
+ }
+ return path;
+ }
+ private static GraphicsPath GenerateCapsule(
+ this Graphics graphics,
+ RectangleF rectangle)
+ {
+ float diameter;
+ RectangleF arc;
+ GraphicsPath path = new GraphicsPath();
+ try
+ {
+ if (rectangle.Width > rectangle.Height)
+ {
+ diameter = rectangle.Height;
+ SizeF sizeF = new SizeF(diameter, diameter);
+ arc = new RectangleF(rectangle.Location, sizeF);
+ path.AddArc(arc, 90, 180);
+ arc.X = rectangle.Right - diameter;
+ path.AddArc(arc, 270, 180);
+ }
+ else if (rectangle.Width < rectangle.Height)
+ {
+ diameter = rectangle.Width;
+ SizeF sizeF = new SizeF(diameter, diameter);
+ arc = new RectangleF(rectangle.Location, sizeF);
+ path.AddArc(arc, 180, 180);
+ arc.Y = rectangle.Bottom - diameter;
+ path.AddArc(arc, 0, 180);
+ }
+ else path.AddEllipse(rectangle);
+ }
+ catch { path.AddEllipse(rectangle); }
+ finally { path.CloseFigure(); }
+ return path;
+ }
+ public static void DrawRoundedRectangle(
+ this Graphics graphics,
+ Pen pen,
+ float x,
+ float y,
+ float width,
+ float height,
+ float radius,
+ RectangleEdgeFilter filter)
+ {
+ RectangleF rectangle = new RectangleF(x, y, width, height);
+ GraphicsPath path = graphics.GenerateRoundedRectangle(rectangle, radius, filter);
+ SmoothingMode old = graphics.SmoothingMode;
+ graphics.SmoothingMode = SmoothingMode.AntiAlias;
+ graphics.DrawPath(pen, path);
+ graphics.SmoothingMode = old;
+ }
+ public static void DrawRoundedRectangle(
+ this Graphics graphics,
+ Pen pen,
+ float x,
+ float y,
+ float width,
+ float height,
+ float radius)
+ {
+ graphics.DrawRoundedRectangle(
+ pen,
+ x,
+ y,
+ width,
+ height,
+ radius,
+ RectangleEdgeFilter.All);
+ }
+ public static void DrawRoundedRectangle(
+ this Graphics graphics,
+ Pen pen,
+ int x,
+ int y,
+ int width,
+ int height,
+ int radius)
+ {
+ graphics.DrawRoundedRectangle(
+ pen,
+ Convert.ToSingle(x),
+ Convert.ToSingle(y),
+ Convert.ToSingle(width),
+ Convert.ToSingle(height),
+ Convert.ToSingle(radius));
+ }
+ public static void DrawRoundedRectangle(
+ this Graphics graphics,
+ Pen pen,
+ Rectangle rectangle,
+ int radius,
+ RectangleEdgeFilter filter)
+ {
+ graphics.DrawRoundedRectangle(
+ pen,
+ rectangle.X,
+ rectangle.Y,
+ rectangle.Width,
+ rectangle.Height,
+ radius,
+ filter);
+ }
+ public static void DrawRoundedRectangle(
+ this Graphics graphics,
+ Pen pen,
+ Rectangle rectangle,
+ int radius)
+ {
+ graphics.DrawRoundedRectangle(
+ pen,
+ rectangle.X,
+ rectangle.Y,
+ rectangle.Width,
+ rectangle.Height,
+ radius,
+ RectangleEdgeFilter.All);
+ }
+ public static void DrawRoundedRectangle(
+ this Graphics graphics,
+ Pen pen,
+ RectangleF rectangle,
+ int radius,
+ RectangleEdgeFilter filter)
+ {
+ graphics.DrawRoundedRectangle(
+ pen,
+ rectangle.X,
+ rectangle.Y,
+ rectangle.Width,
+ rectangle.Height,
+ radius,
+ filter);
+ }
+ public static void DrawRoundedRectangle(
+ this Graphics graphics,
+ Pen pen,
+ RectangleF rectangle,
+ int radius)
+ {
+ graphics.DrawRoundedRectangle(
+ pen,
+ rectangle.X,
+ rectangle.Y,
+ rectangle.Width,
+ rectangle.Height,
+ radius,
+ RectangleEdgeFilter.All);
+ }
+ public static void FillRoundedRectangle(
+ this Graphics graphics,
+ Brush brush,
+ float x,
+ float y,
+ float width,
+ float height,
+ float radius,
+ RectangleEdgeFilter filter)
+ {
+ RectangleF rectangle = new RectangleF(x, y, width, height);
+ GraphicsPath path = graphics.GenerateRoundedRectangle(rectangle, radius, filter);
+ SmoothingMode old = graphics.SmoothingMode;
+ graphics.SmoothingMode = SmoothingMode.AntiAlias;
+ graphics.FillPath(brush, path);
+ graphics.SmoothingMode = old;
+ }
+ public static void FillRoundedRectangle(
+ this Graphics graphics,
+ Brush brush,
+ float x,
+ float y,
+ float width,
+ float height,
+ float radius)
+ {
+ graphics.FillRoundedRectangle(
+ brush,
+ x,
+ y,
+ width,
+ height,
+ radius,
+ RectangleEdgeFilter.All);
+ }
+ public static void FillRoundedRectangle(
+ this Graphics graphics,
+ Brush brush,
+ int x,
+ int y,
+ int width,
+ int height,
+ int radius)
+ {
+ graphics.FillRoundedRectangle(
+ brush,
+ Convert.ToSingle(x),
+ Convert.ToSingle(y),
+ Convert.ToSingle(width),
+ Convert.ToSingle(height),
+ Convert.ToSingle(radius));
+ }
+ public static void FillRoundedRectangle(
+ this Graphics graphics,
+ Brush brush,
+ Rectangle rectangle,
+ int radius,
+ RectangleEdgeFilter filter)
+ {
+ graphics.FillRoundedRectangle(
+ brush,
+ rectangle.X,
+ rectangle.Y,
+ rectangle.Width,
+ rectangle.Height,
+ radius,
+ filter);
+ }
+ public static void FillRoundedRectangle(
+ this Graphics graphics,
+ Brush brush,
+ Rectangle rectangle,
+ int radius)
+ {
+ graphics.FillRoundedRectangle(
+ brush,
+ rectangle.X,
+ rectangle.Y,
+ rectangle.Width,
+ rectangle.Height,
+ radius,
+ RectangleEdgeFilter.All);
+ }
+ public static void FillRoundedRectangle(
+ this Graphics graphics,
+ Brush brush,
+ RectangleF rectangle,
+ int radius,
+ RectangleEdgeFilter filter)
+ {
+ graphics.FillRoundedRectangle(
+ brush,
+ rectangle.X,
+ rectangle.Y,
+ rectangle.Width,
+ rectangle.Height,
+ radius,
+ filter);
+ }
+ public static void FillRoundedRectangle(
+ this Graphics graphics,
+ Brush brush,
+ RectangleF rectangle,
+ int radius)
+ {
+ graphics.FillRoundedRectangle(
+ brush,
+ rectangle.X,
+ rectangle.Y,
+ rectangle.Width,
+ rectangle.Height,
+ radius,
+ RectangleEdgeFilter.All);
+ }
+ public static FontMetrics GetFontMetrics(
+ this Graphics graphics,
+ Font font)
+ {
+ return FontMetricsImpl.GetFontMetrics(graphics, font);
+ }
+ private class FontMetricsImpl : FontMetrics
+ {
+ [StructLayout(LayoutKind.Sequential)]
+ public struct TEXTMETRIC
+ {
+ public int tmHeight;
+ public int tmAscent;
+ public int tmDescent;
+ public int tmInternalLeading;
+ public int tmExternalLeading;
+ public int tmAveCharWidth;
+ public int tmMaxCharWidth;
+ public int tmWeight;
+ public int tmOverhang;
+ public int tmDigitizedAspectX;
+ public int tmDigitizedAspectY;
+ public char tmFirstChar;
+ public char tmLastChar;
+ public char tmDefaultChar;
+ public char tmBreakChar;
+ public byte tmItalic;
+ public byte tmUnderlined;
+ public byte tmStruckOut;
+ public byte tmPitchAndFamily;
+ public byte tmCharSet;
+ }
+ [DllImport("gdi32.dll", CharSet = CharSet.Unicode)]
+ public static extern IntPtr SelectObject(IntPtr hdc, IntPtr hgdiobj);
+ [DllImport("gdi32.dll", CharSet = CharSet.Unicode)]
+ public static extern bool GetTextMetrics(IntPtr hdc, out TEXTMETRIC lptm);
+ [DllImport("gdi32.dll", CharSet = CharSet.Unicode)]
+ public static extern bool DeleteObject(IntPtr hdc);
+ private TEXTMETRIC GenerateTextMetrics(
+ Graphics graphics,
+ Font font)
+ {
+ IntPtr hDC = IntPtr.Zero;
+ TEXTMETRIC textMetric;
+ IntPtr hFont = IntPtr.Zero;
+ try
+ {
+ hDC = graphics.GetHdc();
+ hFont = font.ToHfont();
+ IntPtr hFontDefault = SelectObject(hDC, hFont);
+ bool result = GetTextMetrics(hDC, out textMetric);
+ SelectObject(hDC, hFontDefault);
+ }
+ finally
+ {
+ if (hFont != IntPtr.Zero) DeleteObject(hFont);
+ if (hDC != IntPtr.Zero) graphics.ReleaseHdc(hDC);
+ }
+ return textMetric;
+ }
+ private TEXTMETRIC metrics;
+ public override int Height { get { return this.metrics.tmHeight; } }
+ public override int Ascent { get { return this.metrics.tmAscent; } }
+ public override int Descent { get { return this.metrics.tmDescent; } }
+ public override int InternalLeading { get { return this.metrics.tmInternalLeading; } }
+ public override int ExternalLeading { get { return this.metrics.tmExternalLeading; } }
+ public override int AverageCharacterWidth { get { return this.metrics.tmAveCharWidth; } }
+ public override int MaximumCharacterWidth { get { return this.metrics.tmMaxCharWidth; } }
+ public override int Weight { get { return this.metrics.tmWeight; } }
+ public override int Overhang { get { return this.metrics.tmOverhang; } }
+ public override int DigitizedAspectX { get { return this.metrics.tmDigitizedAspectX; } }
+ public override int DigitizedAspectY { get { return this.metrics.tmDigitizedAspectY; } }
+ private FontMetricsImpl(Graphics graphics, Font font)
+ {
+ this.metrics = this.GenerateTextMetrics(graphics, font);
+ }
+ public static FontMetrics GetFontMetrics(
+ Graphics graphics,
+ Font font)
+ {
+ return new FontMetricsImpl(graphics, font);
+ }
+ }
+
+ public enum RectangleEdgeFilter
+ {
+ None = 0,
+ TopLeft = 1,
+ TopRight = 2,
+ BottomLeft = 4,
+ BottomRight = 8,
+ All = TopLeft | TopRight | BottomLeft | BottomRight
+ }
+ public abstract class FontMetrics
+ {
+ public virtual int Height { get { return 0; } }
+ public virtual int Ascent { get { return 0; } }
+ public virtual int Descent { get { return 0; } }
+ public virtual int InternalLeading { get { return 0; } }
+ public virtual int ExternalLeading { get { return 0; } }
+ public virtual int AverageCharacterWidth { get { return 0; } }
+ public virtual int MaximumCharacterWidth { get { return 0; } }
+ public virtual int Weight { get { return 0; } }
+ public virtual int Overhang { get { return 0; } }
+ public virtual int DigitizedAspectX { get { return 0; } }
+ public virtual int DigitizedAspectY { get { return 0; } }
+ }
+ }
+}
diff --git a/Source/ryControls/Sheng.Winform.Controls/IShengValidate.cs b/Source/ryControls/Sheng.Winform.Controls/IShengValidate.cs
new file mode 100644
index 0000000..f5fae1b
--- /dev/null
+++ b/Source/ryControls/Sheng.Winform.Controls/IShengValidate.cs
@@ -0,0 +1,35 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace Sheng.Winform.Controls
+{
+ public delegate bool CustomValidateMethod(object sender, out string msg);
+
+ interface IShengValidate
+ {
+ ///
+ /// 验证失败中显示错误信息时用的标题
+ ///
+ string Title { get; set; }
+
+ ///
+ /// 验证失败时是否需要高亮显示(改变背景色)
+ ///
+ bool HighLight { get; set; }
+
+ ///
+ /// 验证控件的输入
+ ///
+ ///
+ ///
+ bool SEValidate(out string msg);
+
+ ///
+ /// 自定义验证方法
+ /// 在基础验证都通过后,才会调用自定义验证方法(如果有)
+ ///
+ CustomValidateMethod CustomValidate { get; set; }
+ }
+}
diff --git a/Source/ryControls/Sheng.Winform.Controls/Kernal/EnvironmentHelper.cs b/Source/ryControls/Sheng.Winform.Controls/Kernal/EnvironmentHelper.cs
new file mode 100644
index 0000000..e28c287
--- /dev/null
+++ b/Source/ryControls/Sheng.Winform.Controls/Kernal/EnvironmentHelper.cs
@@ -0,0 +1,47 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Sheng.Winform.Controls.Win32;
+
+namespace Sheng.Winform.Controls.Kernal
+{
+ public static class EnvironmentHelper
+ {
+ ///
+ /// 是否支持 Windows Vista 以上的玻璃效果
+ ///
+ public static bool SupportAreo
+ {
+ get
+ {
+ if (Environment.OSVersion.Version.Major < 6)
+ {
+ return false;
+ }
+
+ return true;
+ }
+ }
+
+ ///
+ /// 是否打开了玻璃效果
+ ///
+ public static bool DwmIsCompositionEnabled
+ {
+ get
+ {
+ return DwmApi.DwmIsCompositionEnabled();
+ }
+ }
+
+ ///
+ /// 获取应用程序主窗体
+ ///
+ public static System.Windows.Forms.Form MainForm
+ {
+ get;
+ set;
+ }
+ }
+}
diff --git a/Source/ryControls/Sheng.Winform.Controls/Kernal/FastReflection/ConstructorInvoker.cs b/Source/ryControls/Sheng.Winform.Controls/Kernal/FastReflection/ConstructorInvoker.cs
new file mode 100644
index 0000000..61e588f
--- /dev/null
+++ b/Source/ryControls/Sheng.Winform.Controls/Kernal/FastReflection/ConstructorInvoker.cs
@@ -0,0 +1,71 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Reflection;
+using System.Linq.Expressions;
+
+namespace Sheng.Winform.Controls.Kernal
+{
+ public interface IConstructorInvoker
+ {
+ object Invoke(params object[] parameters);
+ }
+
+ public class ConstructorInvoker : IConstructorInvoker
+ {
+ private Func