ryControls 控件状态 获得焦点 失去焦点 鼠标指针进入控件 Toolbar控件 获取或设置控件显示的图片 重写控件焦点属性 自定义绘制 焦点进入 失去焦点 禁止调整大小 只响应单击鼠标左键事件 按比例缩放图片 图片缩放 源图片 缩放图片的宽度 缩放图片的高度 缩放的图片 必需的设计器变量。 清理所有正在使用的资源。 如果应释放托管资源,为 true;否则为 false。 设计器支持所需的方法 - 不要 使用代码编辑器修改此方法的内容。 绘图对像 绘图对像 图片 绘置的图片大小、坐标 绘置的图片边界 当前状态 状态总数 绘图对像 绘图对像 图片对像 绘置的图片大小、坐标 当前状态 状态总数 得到要绘置的图片对像 图像在程序集中的地址 得到要绘置的图片对像 图像在程序集中的路径 图像在程序集中的地址 获取资源图标 得到图程序集中的图片对像 图像在程序集中的地址 得到图程序集中的图片对像 图像在程序集中的路径 图像在程序集中的地址 控件的状态。 正常 鼠标经过 鼠标按下 鼠标的当前位置 美化按钮 普通按钮矩形位置 美化按钮 分割按钮的宽度 是否启用分割按钮 优先使用默认皮肤 按钮基础背景色 按钮字体颜色 图片宽度,默认值为18px,最小12px 圆角的位置,默认全部都是圆角 设置圆角半径 背景色是否渐变 图片高度 图片与文字之间的间距 当鼠标按下时图片和文字是否产生偏移 鼠标进入时 鼠标离开 鼠标按下 鼠标弹起 鼠标当前所在位置 获取图像以及文字的位置 添加菜单分隔线 添加菜单 必需的设计器变量。 清理所有正在使用的资源。 如果应释放托管资源,为 true;否则为 false。 设计器支持所需的方法 - 不要修改 使用代码编辑器修改此方法的内容。 增强版Label(禁用了双击Label会自动复制文本到剪切板的功能) 必需的设计器变量。 清理所有正在使用的资源。 如果应释放托管资源,为 true;否则为 false。 设计器支持所需的方法 - 不要修改 使用代码编辑器修改此方法的内容。 增强富文本控件 开始更新 结束更新 RichTextBox 在自带菜单弹出前激发 根据标签获得菜单项 只允许输入文本(只对设置之后的人工输入有效) 按下按键 鼠标按下 当文本框为空时,显示的内容。 添加菜单分隔线 添加菜单 必需的设计器变量。 清理所有正在使用的资源。 如果应释放托管资源,为 true;否则为 false。 设计器支持所需的方法 - 不要修改 使用代码编辑器修改此方法的内容。 必需的设计器变量。 清理所有正在使用的资源。 如果应释放托管资源,为 true;否则为 false。 设计器支持所需的方法 - 不要修改 使用代码编辑器修改此方法的内容。 消息列表控件 最大高度 必需的设计器变量。 清理所有正在使用的资源。 如果应释放托管资源,为 true;否则为 false。 设计器支持所需的方法 - 不要 使用代码编辑器修改此方法的内容。 建立圆角路径的样式。 四个角都不是圆角。 四个角都为圆角。 左边两个角为圆角。 右边两个角为圆角。 上边两个角为圆角。 下边两个角为圆角。 左下角为圆角。 右下角为圆角。 画图相关API 建立带有圆角样式的路径。 用来建立路径的矩形。 圆角的大小。 圆角的样式。 是否把矩形长宽减 1,以便画出边框。 建立的路径。 窗体皮肤 窗体皮肤 标题属性 是否使用父窗口的图标 点击最小化按钮是最小化还是隐藏 最大化按钮 最小化按钮 标题栏关闭按钮是否显示 当窗口位于后台时,是否标注显示。 标题栏字体颜色 标题栏不处于活动状态时的字体颜色 标题栏背景颜色 标题栏不处于活动状态时的背景颜色 是否允许拖拉窗体边缘来改变窗体大小 画边框 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. 热键文本框 热键文本框 在控件大小变化时发生 此属性无效 载入热键配置 保存热键 是否含义热键 读取或设置热键 功能键 热键按键 KeyDown事件 KeyDown事件 必需的设计器变量。 清理所有正在使用的资源。 如果应释放托管资源,为 true;否则为 false。 设计器支持所需的方法 - 不要 使用代码编辑器修改此方法的内容。 图标列表控件 图标列表控件 图标大小 文本显示高度(从底部算起) 默认图标 是否显示图标 是否显示网格线 角标图标合集 画项 选择项的背景开始颜色 选择项的背景结束颜色 选择项的边框颜色 选择项的字体颜色 重绘选中时背景 重绘图标 区域大小 重绘文本 获取文本对齐 水平滚动条滚动事件 垂直滚动条滚动事件 列表项 图标 角标图片序号,为-1表示无角标 最大高度 标题 是否显示时间 添加时间 必需的设计器变量。 清理所有正在使用的资源。 如果应释放托管资源,为 true;否则为 false。 设计器支持所需的方法 - 不要 使用代码编辑器修改此方法的内容。 最大高度 标题 是否显示时间 添加时间 内容 网址 必需的设计器变量。 清理所有正在使用的资源。 如果应释放托管资源,为 true;否则为 false。 设计器支持所需的方法 - 不要 使用代码编辑器修改此方法的内容。 必需的设计器变量。 清理所有正在使用的资源。 如果应释放托管资源,为 true;否则为 false。 设计器支持所需的方法 - 不要修改 使用代码编辑器修改此方法的内容。 图标 标题 悬浮提示 标题颜色 设置按钮 判断和设置是否选择 必需的设计器变量。 清理所有正在使用的资源。 如果应释放托管资源,为 true;否则为 false。 设计器支持所需的方法 - 不要修改 使用代码编辑器修改此方法的内容。 绘制边框 消息 类说明:CContextMenuStrip控件的实现用来代替系统的ContextMenuStrip控件 重写OnCreateControl 重写OnPaint事件 CreateRoundedRectanglePath Rectangle 系统热键数据类。 系统热键数据类 使多行属性失效掉 使只读属性失效掉 获取热键文本 功能键 热键按键 必需的设计器变量。 清理所有正在使用的资源。 如果应释放托管资源,为 true;否则为 false。 设计器支持所需的方法 - 不要 使用代码编辑器修改此方法的内容。 增强时间控件 增强时间控件 必需的设计器变量。 清理所有正在使用的资源。 如果应释放托管资源,为 true;否则为 false。 设计器支持所需的方法 - 不要修改 使用代码编辑器修改此方法的内容。 选择文本框 选择文本框 按钮基础背景色 优先使用默认皮肤 选择的id 选择的名称 选择的名称 字体 重新设置大小 在选择时激发 点击选择 必需的设计器变量。 清理所有正在使用的资源。 如果应释放托管资源,为 true;否则为 false。 设计器支持所需的方法 - 不要修改 使用代码编辑器修改此方法的内容。 可以改变文本行距(行间距)的Label 行间距 可以改变文本行距(行间距)的Label 字体高度 文本 计算两个日期的时间间隔,返回的是日期值+ 时间值,将显示在返回的值里 参照时间 控件边框颜色 控件背景颜色 圆角弧度大小 圆角风格 必需的设计器变量。 清理所有正在使用的资源。 如果应释放托管资源,为 true;否则为 false。 设计器支持所需的方法 - 不要修改 使用代码编辑器修改此方法的内容。 在搜索时激发 文本变化时激发 文本变化时激发 双击时激发 文本为空时的显示效果 文本不选中 有内容时的显示效果 当文本框为空时,显示的内容。 字体 优先使用默认皮肤 背景色是否渐变 按钮基础背景色 重新设置大小 点击搜索按钮 必需的设计器变量。 清理所有正在使用的资源。 如果应释放托管资源,为 true;否则为 false。 设计器支持所需的方法 - 不要修改 使用代码编辑器修改此方法的内容。 使用公共皮肤 按钮颜色 皮肤公共类 是否使用默认皮肤 按钮皮肤 按钮皮肤类 背景颜色 字体颜色 类说明:帮助类 修改控件或窗体的边框,例如Textbox或是Form窗体 消息 控件对象 边框像素 边框颜色 超级图片控件,支持加载工程内部图片、异步加载网络图片 超级图片控件,支持加载工程内部图片、异步加载网络图片 图片所在上级域名 图片资源所在上级文件夹 根据不同前缀,加载不同格式图片。i:表示工程内置图片;s:表示T_ImageDomain域名下的图片,u:表示指定url的图片;f:表示本地图片 加载本地图片,加载完毕不会占用本地图片 加载指定url图片 url位置 是否异步 必需的设计器变量。 清理所有正在使用的资源。 如果应释放托管资源,为 true;否则为 false。 设计器支持所需的方法 - 不要 使用代码编辑器修改此方法的内容。 多标签控件 选项发生变化时激发 标签选择的序号 选择的颜色 多标签控件颜色 必需的设计器变量。 清理所有正在使用的资源。 如果应释放托管资源,为 true;否则为 false。 设计器支持所需的方法 - 不要修改 使用代码编辑器修改此方法的内容。 多标签控件 获取对应的标签 美化文本框控件 文本变化时激发 文本变化时激发 双击时激发 是否只能输入数字 是否多行 是否在显示不下时换行 最大长度 背景颜色 右键菜单 字体颜色 选择的开始位置 选择的长度 选择的文本 提示文本 选择全部 密码 是否只读 文本为空时的显示效果 字体 有内容时的显示效果 当文本框为空时,显示的内容。 选择文本框中的文本范围 文本框中当前选定文本的第一个字符的位置。 要选择的字符数 必需的设计器变量。 清理所有正在使用的资源。 如果应释放托管资源,为 true;否则为 false。 设计器支持所需的方法 - 不要修改 使用代码编辑器修改此方法的内容。 Define some Windows message constants This class adds to the functionality provided in System.Windows.Forms.MenuStrip. It allows you to "ClickThrough" to the MenuStrip so that you don't have to click once to bring the form into focus and once more to take the desired action It also implements a SuppressHighlighting property to turn off the highlighting that occures on mouseover when the form is not active Gets or sets whether the control honors item clicks when its containing form does not have input focus. Default value is false, which is the same behavior provided by the base ToolStrip class. Gets or sets whether the control shows highlighting on mouseover Default value is true, which is the same behavior provided by the base MenuStrip class. This method overrides the procedure that responds to Windows messages. It intercepts the WM_MOUSEMOVE message and ignores it if SuppressHighlighting is on and the TopLevelControl does not contain the focus. Otherwise, it calls the base class procedure to handle the message. It also intercepts the WM_MOUSEACTIVATE message and replaces an "Activate and Eat" result with an "Activate" result if ClickThrough is enabled. This class adds to the functionality provided in System.Windows.Forms.ToolStrip. It allows you to "ClickThrough" to the MenuStrip so that you don't have to click once to bring the form into focus and once more to take the desired action It also implements a SuppressHighlighting property to turn off the highlighting that occures on mouseover when the form is not active Gets or sets whether the control honors item clicks when its containing form does not have input focus. Default value is false, which is the same behavior provided by the base ToolStrip class. Gets or sets whether the control shows highlighting on mouseover Default value is true, which is the same behavior provided by the base MenuStrip class. This method overrides the procedure that responds to Windows messages. It intercepts the WM_MOUSEMOVE message and ignores it if SuppressHighlighting is on and the TopLevelControl does not contain the focus. Otherwise, it calls the base class procedure to handle the message. It also intercepts the WM_MOUSEACTIVATE message and replaces an "Activate and Eat" result with an "Activate" result if ClickThrough is enabled. 还原 移动 大小 最小化 最大化 关闭 透明图片控件 是否使用透明,默认为True 设置透明度 要绑定的控件 透明图片控件 图片 初始化加载控件 透明度 是否显示加载图片 图片 显示加载 隐藏加载 必需的设计器变量。 清理所有正在使用的资源。 如果应释放托管资源,为 true;否则为 false。 设计器支持所需的方法 - 不要修改 使用代码编辑器修改此方法的内容。 一个强类型的资源类,用于查找本地化的字符串等。 返回此类使用的缓存的 ResourceManager 实例。 使用此强类型资源类,为所有资源查找 重写当前线程的 CurrentUICulture 属性。 查找 System.Drawing.Bitmap 类型的本地化资源。 查找 System.Drawing.Bitmap 类型的本地化资源。 获得当前进程,以便重绘控件 是否启用热点效果 边框颜色 热点边框颜色 是否鼠标MouseOver状态 是否启用热点效果 边框颜色 热点时边框颜色 鼠标移动到该控件上时 当鼠标从该控件移开时 当该控件获得焦点时 当该控件失去焦点时 获得操作系统消息 必需的设计器变量。 清理所有正在使用的资源。 如果应释放托管资源,为 true;否则为 false。 设计器支持所需的方法 - 不要修改 使用代码编辑器修改此方法的内容。 日控件 日控件 当前日期 在发生页码变化前激发 设置休息状态,1为休息,-1为上班,其它为不显示 日期 农历 阳历日期字体颜色 阳历日期字体 农历日期字体 农历部分字体颜色 是否选中 必需的设计器变量。 清理所有正在使用的资源。 如果应释放托管资源,为 true;否则为 false。 设计器支持所需的方法 - 不要修改 使用代码编辑器修改此方法的内容。 日历控件 单击事件 单击某个日期事件 日历控件 设置日期 放假数据表 必需的设计器变量。 清理所有正在使用的资源。 如果应释放托管资源,为 true;否则为 false。 设计器支持所需的方法 - 不要修改 使用代码编辑器修改此方法的内容。 设置管理类,快速添加设置。 设置管理类,快速添加设置。 设置管理类,快速添加设置。 存储类型 配置存储路径 设置XML内容 添加控件 设置值 添加控件 添加控件 添加控件 添加控件 添加控件 添加控件 添加控件 添加控件 添加控件 添加控件 读取配置 保存配置 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. 类 名:ColorHSL 功 能:H 色相 \ S 饱和度(纯度) \ L 亮度 颜色模型 日 期:2015-02-08 修 改:2015-03-20 作 者:ls9512 HSL颜色 色相 饱和度(纯度) 饱和度 类 名:ColorHSV 功 能:H 色相 \ S 饱和度(纯度) \ V 明度 颜色模型 日 期:2015-01-22 修 改:2015-03-20 作 者:ls9512 构造方法 色相 饱和度(纯度) 明度 类 名:ColorRGB 功 能:R 红色 \ G 绿色 \ B 蓝色 颜色模型 所有颜色模型的基类,RGB是用于输出到屏幕的颜色模式,所以所有模型都将转换成RGB输出 日 期:2015-01-22 修 改:2015-03-20 作 者:ls9512 构造方法 红色 绿色 蓝色 获取实际颜色 类 名:ColorHelper 功 能:提供从RGB到HSV/HSL色彩空间的相互转换 日 期:2015-02-08 修 改:2015-03-20 作 者:ls9512 RGB转换HSV HSV转换RGB RGB转换HSL HSL转换RGB H, S and L input range = 0 -1.0 RGB转CMYK RGB转CMYK CMYK转RGB Standard-RGB → XYZ,X、Y、Z 使用 D65/2°标准光源. XYZ → Standard-RGB,X、Y、Z 使用 D65/2°标准光源. XYZ → Adobe-RGB,X、Y、Z 使用 D65/2°标准光源.RGB Adobe 1998 Adobe-RGB → XYZ,X、Y、Z 使用 D65/2°标准光源.RGB Adobe 1998 Yxy转RGB RGB转Yxy 超级颜色选择控件 获取网页颜色 超级颜色选择控件 必需的设计器变量。 清理所有正在使用的资源。 如果应释放托管资源,为 true;否则为 false。 设计器支持所需的方法 - 不要修改 使用代码编辑器修改此方法的内容。 Chrome风格的多标签控件 设置选项卡处于选中状态时第一背景色. 设置选项卡处于选中状态时第二背景色. 设置选项卡处于非选中状态时第一背景色. 设置选项卡处于非选中状态时第二背景色. 设置鼠标移动到非选中状态选项卡时第一背景色. 设置鼠标移动到非选中状态选项卡时第二背景色. 设置选项卡工作区背景色. 设置选项卡工作区背景图. 是否显示关闭按钮 是否显示新增按钮 是否允许拖拽标签 标签最大宽度 标签右键菜单 鼠标按下标签时激发 鼠标放开标签时激发 Chrome风格的多标签控件 画标签文字 画标签图标 画关闭按钮 添加新标签 必需的设计器变量。 清理所有正在使用的资源。 如果应释放托管资源,为 true;否则为 false。 设计器支持所需的方法 - 不要 使用代码编辑器修改此方法的内容。 The position is not over a tab. The position is over a tab's icon. The position is over a tab's text. The position is over a tab but not over its icon or its text. For owner-drawn tab controls, this value is specified if the position is anywhere over a tab. TCHT_ONITEM is a bitwise-OR operation on TCHT_ONITEMICON and TCHT_ONITEMLABEL. Specifies values from SetWindowPosZ enumeration. Specified HWND_TOP enumeration value. Specified HWND_BOTTOM enumeration value. Specified HWND_TOPMOST enumeration value. Specified HWND_NOTOPMOST enumeration value. Invalidates the rectangle or region that you specify in lprcUpdate or hrgnUpdate. You can set only one of these parameters to a non-NULL value. If both are NULL, RDW_INVALIDATE invalidates the entire window. Causes the OS to post a WM_PAINT message to the window regardless of whether a portion of the window is invalid. Causes the window to receive a WM_ERASEBKGND message when the window is repainted. Specify this value in combination with the RDW_INVALIDATE value; otherwise, RDW_ERASE has no effect. Validates the rectangle or region that you specify in lprcUpdate or hrgnUpdate. You can set only one of these parameters to a non-NULL value. If both are NULL, RDW_VALIDATE validates the entire window. This value does not affect internal WM_PAINT messages. Suppresses any pending WM_ERASEBKGND messages. Excludes child windows, if any, from the repainting operation. Includes child windows, if any, in the repainting operation. Causes the affected windows, which you specify by setting the RDW_ALLCHILDREN and RDW_NOCHILDREN values, to receive WM_ERASEBKGND and WM_PAINT messages before the RedrawWindow returns, if necessary. Causes the affected windows, which you specify by setting the RDW_ALLCHILDREN and RDW_NOCHILDREN values, to receive WM_ERASEBKGND messages before RedrawWindow returns, if necessary. The affected windows receive WM_PAINT messages at the ordinary time. Specifies values from Msgs enumeration. Specified WM_NULL enumeration value. Specified WM_CREATE enumeration value. Specified WM_DESTROY enumeration value. Specified WM_MOVE enumeration value. Specified WM_SIZE enumeration value. Specified WM_ACTIVATE enumeration value. Specified WM_SETFOCUS enumeration value. Specified WM_KILLFOCUS enumeration value. Specified WM_ENABLE enumeration value. Specified WM_SETREDRAW enumeration value. Specified WM_SETTEXT enumeration value. Specified WM_GETTEXT enumeration value. Specified WM_GETTEXTLENGTH enumeration value. Specified WM_PAINT enumeration value. Specified WM_CLOSE enumeration value. Specified WM_QUERYENDSESSION enumeration value. Specified WM_QUIT enumeration value. Specified WM_QUERYOPEN enumeration value. Specified WM_ERASEBKGND enumeration value. Specified WM_SYSCOLORCHANGE enumeration value. Specified WM_ENDSESSION enumeration value. Specified WM_SHOWWINDOW enumeration value. Specified WM_WININICHANGE enumeration value. Specified WM_SETTINGCHANGE enumeration value. Specified WM_DEVMODECHANGE enumeration value. Specified WM_ACTIVATEAPP enumeration value. Specified WM_FONTCHANGE enumeration value. Specified WM_TIMECHANGE enumeration value. Specified WM_CANCELMODE enumeration value. Specified WM_SETCURSOR enumeration value. Specified WM_MOUSEACTIVATE enumeration value. Specified WM_CHILDACTIVATE enumeration value. Specified WM_QUEUESYNC enumeration value. Specified WM_GETMINMAXINFO enumeration value. Specified WM_PAINTICON enumeration value. Specified WM_ICONERASEBKGND enumeration value. Specified WM_NEXTDLGCTL enumeration value. Specified WM_SPOOLERSTATUS enumeration value. Specified WM_DRAWITEM enumeration value. Specified WM_MEASUREITEM enumeration value. Specified WM_DELETEITEM enumeration value. Specified WM_VKEYTOITEM enumeration value. Specified WM_CHARTOITEM enumeration value. Specified WM_SETFONT enumeration value. Specified WM_GETFONT enumeration value. Specified WM_SETHOTKEY enumeration value. Specified WM_GETHOTKEY enumeration value. Specified WM_QUERYDRAGICON enumeration value. Specified WM_COMPAREITEM enumeration value. Specified WM_GETOBJECT enumeration value. Specified WM_COMPACTING enumeration value. Specified WM_COMMNOTIFY enumeration value. Specified WM_WINDOWPOSCHANGING enumeration value. Specified WM_WINDOWPOSCHANGED enumeration value. Specified WM_POWER enumeration value. Specified WM_COPYDATA enumeration value. Specified WM_CANCELJOURNAL enumeration value. Specified WM_NOTIFY enumeration value. Specified WM_INPUTLANGCHANGEREQUEST enumeration value. Specified WM_INPUTLANGCHANGE enumeration value. Specified WM_TCARD enumeration value. Specified WM_HELP enumeration value. Specified WM_USERCHANGED enumeration value. Specified WM_NOTIFYFORMAT enumeration value. Specified WM_CONTEXTMENU enumeration value. Specified WM_STYLECHANGING enumeration value. Specified WM_STYLECHANGED enumeration value. Specified WM_DISPLAYCHANGE enumeration value. Specified WM_GETICON enumeration value. Specified WM_SETICON enumeration value. Specified WM_NCCREATE enumeration value. Specified VK_RMENU enumeration value. Specified WM_NCCALCSIZE enumeration value. Specified WM_NCHITTEST enumeration value. Specified WM_NCPAINT enumeration value. Specified WM_NCACTIVATE enumeration value. Specified WM_GETDLGCODE enumeration value. Specified WM_SYNCPAINT enumeration value. Specified WM_NCMOUSEMOVE enumeration value. Specified WM_NCLBUTTONDOWN enumeration value. Specified WM_NCLBUTTONUP enumeration value. Specified WM_NCLBUTTONDBLCLK enumeration value. Specified WM_NCRBUTTONDOWN enumeration value. Specified WM_NCRBUTTONUP enumeration value. Specified WM_NCRBUTTONDBLCLK enumeration value. Specified WM_NCMBUTTONDOWN enumeration value. Specified WM_NCMBUTTONUP enumeration value. Specified WM_NCMBUTTONDBLCLK enumeration value. Specified WM_NCXBUTTONDOWN enumeration value. Specified WM_NCXBUTTONUP enumeration value. Specified WM_KEYDOWN enumeration value. Specified WM_KEYUP enumeration value. Specified WM_CHAR enumeration value. Specified WM_DEADCHAR enumeration value. Specified WM_SYSKEYDOWN enumeration value. Specified WM_SYSKEYUP enumeration value. Specified WM_SYSCHAR enumeration value. Specified WM_SYSDEADCHAR enumeration value. Specified WM_KEYLAST enumeration value. Specified WM_IME_STARTCOMPOSITION enumeration value. Specified WM_IME_ENDCOMPOSITION enumeration value. Specified WM_IME_COMPOSITION enumeration value. Specified WM_IME_KEYLAST enumeration value. Specified WM_INITDIALOG enumeration value. Specified WM_COMMAND enumeration value. Specified WM_SYSCOMMAND enumeration value. Specified WM_TIMER enumeration value. Specified WM_HSCROLL enumeration value. Specified WM_VSCROLL enumeration value. Specified WM_INITMENU enumeration value. Specified WM_INITMENUPOPUP enumeration value. Specified WM_MENUSELECT enumeration value. Specified WM_MENUCHAR enumeration value. Specified WM_ENTERIDLE enumeration value. Specified WM_MENURBUTTONUP enumeration value. Specified WM_MENUDRAG enumeration value. Specified WM_MENUGETOBJECT enumeration value. Specified WM_UNINITMENUPOPUP enumeration value. Specified WM_MENUCOMMAND enumeration value. Specified WM_CTLCOLORMSGBOX enumeration value. Specified WM_CTLCOLOREDIT enumeration value. Specified WM_CTLCOLORLISTBOX enumeration value. Specified WM_CTLCOLORBTN enumeration value. Specified WM_CTLCOLORDLG enumeration value. Specified WM_CTLCOLORSCROLLBAR enumeration value. Specified WM_CTLCOLORSTATIC enumeration value. Specified WM_MOUSEMOVE enumeration value. Specified WM_LBUTTONDOWN enumeration value. Specified WM_LBUTTONUP enumeration value. Specified WM_LBUTTONDBLCLK enumeration value. Specified WM_RBUTTONDOWN enumeration value. Specified WM_RBUTTONUP enumeration value. Specified WM_RBUTTONDBLCLK enumeration value. Specified WM_MBUTTONDOWN enumeration value. Specified WM_MBUTTONUP enumeration value. Specified WM_MBUTTONDBLCLK enumeration value. Specified WM_MOUSEWHEEL enumeration value. Specified WM_XBUTTONDOWN enumeration value. Specified WM_XBUTTONUP enumeration value. Specified WM_XBUTTONDBLCLK enumeration value. Specified WM_PARENTNOTIFY enumeration value. Specified WM_ENTERMENULOOP enumeration value. Specified WM_EXITMENULOOP enumeration value. Specified WM_NEXTMENU enumeration value. Specified WM_SIZING enumeration value. Specified WM_CAPTURECHANGED enumeration value. Specified WM_MOVING enumeration value. Specified WM_DEVICECHANGE enumeration value. Specified WM_MDICREATE enumeration value. Specified WM_MDIDESTROY enumeration value. Specified WM_MDIACTIVATE enumeration value. Specified WM_MDIRESTORE enumeration value. Specified WM_MDINEXT enumeration value. Specified WM_MDIMAXIMIZE enumeration value. Specified WM_MDITILE enumeration value. Specified WM_MDICASCADE enumeration value. Specified WM_MDIICONARRANGE enumeration value. Specified WM_MDIGETACTIVE enumeration value. Specified WM_MDISETMENU enumeration value. Specified WM_ENTERSIZEMOVE enumeration value. Specified WM_EXITSIZEMOVE enumeration value. Specified WM_DROPFILES enumeration value. Specified WM_MDIREFRESHMENU enumeration value. Specified WM_IME_SETCONTEXT enumeration value. Specified WM_IME_NOTIFY enumeration value. Specified WM_IME_CONTROL enumeration value. Specified WM_IME_COMPOSITIONFULL enumeration value. Specified WM_IME_SELECT enumeration value. Specified WM_IME_CHAR enumeration value. Specified WM_IME_REQUEST enumeration value. Specified WM_IME_KEYDOWN enumeration value. Specified WM_IME_KEYUP enumeration value. Specified WM_MOUSEHOVER enumeration value. Specified WM_UNDO enumeration value. Specified WM_RENDERFORMAT enumeration value. Specified WM_RENDERALLFORMATS enumeration value. Specified WM_DESTROYCLIPBOARD enumeration value. Specified WM_DRAWCLIPBOARD enumeration value. Specified WM_PAINTCLIPBOARD enumeration value. Specified WM_VSCROLLCLIPBOARD enumeration value. Specified WM_SIZECLIPBOARD enumeration value. Specified WM_ASKCBFORMATNAME enumeration value. Specified WM_CHANGECBCHAIN enumeration value. Specified WM_HSCROLLCLIPBOARD enumeration value. Specified WM_QUERYNEWPALETTE enumeration value. Specified WM_PALETTEISCHANGING enumeration value. Specified WM_PALETTECHANGED enumeration value. Specified WM_HOTKEY enumeration value. Specified WM_PRINT enumeration value. Specified WM_PRINTCLIENT enumeration value. Specified WM_HANDHELDFIRST enumeration value. Specified WM_HANDHELDLAST enumeration value. Specified WM_AFXFIRST enumeration value. Specified WM_AFXLAST enumeration value. Specified WM_PENWINFIRST enumeration value. Specified WM_PENWINLAST enumeration value. Specified WM_APP enumeration value. Specified WM_USER enumeration value. Specified WM_REFLECT enumeration value. Specified WM_THEMECHANGED enumeration value. The GetParent function retrieves a handle to the specified window's parent or owner. Handle to the window whose parent window handle is to be retrieved. If the window is a child window, the return value is a handle to the parent window. If the window is a top-level window, the return value is a handle to the owner window. If the window is a top-level unowned window or if the function fails, the return value is NULL. The FindWindowEx function retrieves a handle to a window whose class name and window name match the specified strings. The function searches child windows, beginning with the one following the specified child window. Handle to the parent window whose child windows are to be searched. Handle to a child window. Specifies class name. Pointer to a null-terminated string that specifies the window name (the window's title). If the function succeeds, the return value is a handle to the window that has the specified class and window names.If the function fails, the return value is NULL. The InvalidateRect function adds a rectangle to the specified window's update region. Handle to window. Rectangle coordinates. Erase state. If the function succeeds, the return value is true.If the function fails, the return value is false. The ValidateRect function validates the client area within a rectangle by removing the rectangle from the update region of the specified window. Handle to window. Validation rectangle coordinates. If the function succeeds, the return value is true.If the function fails, the return value is false. Changes the size, position, and Z order of a child, pop-up, or top-level window. These windows are ordered according to their appearance on the screen. The topmost window receives the highest rank and is the first window in the Z order. A handle to the window. A handle to the window to precede the positioned window in the Z order. This parameter must be a window handle or one of the following values. Specifies the new position of the left side of the window, in client coordinates. Specifies the new position of the top of the window, in client coordinates. Specifies the new width of the window, in pixels. Specifies the new height of the window, in pixels. Specifies the window sizing and positioning flags. This parameter can be a combination of the following values. If the function succeeds, the return value is nonzero, if the function fails, the return value is zero. 关键词 密码 权限用户id 返回关键词 树形控件,用于分类用 显示在第一位的名称 是否显示菜单 树形控件 判断指定节点是否是目标节点的子节点 判断当前节点,当前用户是否有权限访问 权限事件 选择权限用户时发生 数据变化时发生 数据变化前发生 操作事件 在添加分组前发生 在修改分组前发生 在删除分组前发生 在设置密码前发生 在设置权限前发生 获取新的关键词分类 根据id获取节点 根据节点获取节点信息 设置节点信息 设置节点关键词和密码 设置节点密码 设置节点关键词 设置节点用户 RecursionTreeControl:表示将XML文件的内容显示在TreeView控件中 将要加载的XML文件中的节点元素 将要加载的XML文件中的节点集合 把XML文本载入到列表中 把XML文件载入到列表中 将列表保存为xml文本 改变所有子节点的状态 反选子节点 根据关键词来选中列表 根据关键词来选中列表 格式化关键字(会去除重复项),以便存入数据库 去除掉重复项 获取当前选中项以及所有父项的关键词组合 获取选中的 必需的设计器变量。 清理所有正在使用的资源。 如果应释放托管资源,为 true;否则为 false。 设计器支持所需的方法 - 不要 使用代码编辑器修改此方法的内容。 是否为添加 选择的文本 选择的Tag 选择的图片序号 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. 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. 旧密码 新密码 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. 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. 颜色标签 行间距 颜色标签 更新 字体高度 控件高 控件文本 获取过滤掉颜色的字 改变字体 分页控件 首页文本 上一页文本 下一页文本 末页文本 跳页文本 页面信息文本 存储SQL参数 最后一页的页码 在发生页码变化时激发 在发生页码变化前激发 设置/返回每页显示的量大小 设置/返回记录总数 设置/返回分页SQL语句,{pagecount}表示页数,{recordcount}表示记录总数,{pagesize}表示页面大小, {pageindex}表示当前页数,{recordnum}表示当前页记录数,{pageendnum}表示当前页最后一条记录的记录数 设置/返回当{recordnum}小于等于0时的分页SQL语句(比如第一页),如果为空,则默认使用SQLText值。{pagecount}表示页数, {recordcount}表示记录总数,{pagesize}表示页面大小,{pageindex}表示当前页数,{recordnum}表示当前页记录数,{pageendnum}表示当前页最后一条记录的记录数 获取当前页码 设置分页语句为MSSQL分页语句 表名 条件判断sql语句,注意不包含where,以及不包含排序语句;,如果不存在条件判断语句,请为空 排序语句,必须包含Order By;,如果不存在排序语句,请为空 获取MSSQL数据库指定条件的记录总数 表名 条件判断sql语句,注意不包含where,以及不包含排序语句;,如果不存在条件判断语句,请为空 排序语句,必须包含Order By;,如果不存在排序语句,请为空 设置分页语句为SQLite分页语句 表名 条件判断sql语句,注意不包含where,可包含order by,如果不存在条件判断语句,请为空 获取SQLite数据库指定条件的记录总数 表名 条件判断sql语句,注意不包含where,可包含order by,如果不存在条件判断语句,请为空 返回分页SQL语句 分页控件 设置当前页为指定页 下一页 上一页 末页 首页 必需的设计器变量。 清理所有正在使用的资源。 如果应释放托管资源,为 true;否则为 false。 设计器支持所需的方法 - 不要 使用代码编辑器修改此方法的内容。 自动排列控件 最大列数 开始排列的坐标 下一项的位置 下一项的右下角坐标 竖向间隔像素 横向间隔像素 最小保留右边距,只对ReDraw2有效 自动排列控件构造函数 自动排列控件构造函数 开始排列控件 开始排列控件,当列数超过显示空间时,自动换行 加入的控件列表 初始化添加,自动将容器设置为滚动条自动显示 添加控件 删除控件 删除控件 清空所有控件 An object list displays 'aspects' of a collection of objects in a listview control. The intelligence for this control is in the columns. OLVColumns are extended so they understand how to fetch an 'aspect' from each row object. They also understand how to sort by their aspect, and how to group them. Aspects are extracted by giving the name of a method to be called or a property to be fetched. These names can be simple names or they can be dotted to chain property access e.g. "Owner.Address.Postcode". Aspects can also be extracted by installing a delegate. Sorting by column clicking and grouping by column are handled automatically. Right clicking on the column header should present a popup menu that allows the user to choose which columns will be visible in the list. This behaviour can be disabled by setting SelectColumnsOnRightClick to false. This list puts sort indicators in the column headers to show the column sorting direction. On Windows XP and later, the system standard images are used. If you wish to replace the standard images with your own images, put entries in the small image list with the key values "sort-indicator-up" and "sort-indicator-down". For these classes to build correctly, the project must have references to these assemblies: System.Data System.Design System.Drawing System.Windows.Forms (obviously) Create an ObjectListView Get or set all the columns that this control knows about. Only those columns where IsVisible is true will be seen by the user. If you want to add new columns programmatically, add them to AllColumns and then call RebuildColumns(). Normally, you do not have to deal with this property directly. Just use the IDE. If every second row has a background different to the control, what color should it be? Return the alternate row background color that has been set, or the default color This property forces the ObjectListView to always group items by the given column. If AlwaysGroupByColumn is not null, this property will be used to decide how those groups are sorted. If this property has the value SortOrder.None, then the sort order will toggle according to the users last header click. Give access to the image list that is actually being used by the control How does a user indicate that they want to edit cells? This list cannot be edited. F2 does nothing. A single click on a subitem will edit the value. Single clicking the primary column, selects the row just like normal. The user must press F2 to edit the primary column. Double clicking a subitem or the primary column will edit that cell. F2 will edit the primary column. Pressing F2 is the only way to edit the cells. Once the primary column is being edited, the other cells in the row can be edited by pressing Tab. How does the user indicate that they want to edit a cell? None means that the listview cannot be edited. Columns can also be marked as editable. Return the model object of the row that is checked or null if no row is checked or more than one row is checked Get or set the collection of model objects that are checked. When setting this property, any row whose model object isn't in the given collection will be unchecked. Setting to null is equivilent to unchecking all. This property returns a simple collection. Changes made to the returned collection do NOT affect the list. This is different to the behaviour of CheckedIndicies collection. The CheckedItems property is not helpful. It is just a short-hand for iterating through the list looking for items that are checked. The performance of this method is O(n). Be careful on long lists. Get/set the list of columns that should be used when the list switches to tile view. If no list of columns has been installed, this value will default to the first column plus any column where IsTileViewColumn is true. Return the visible columns in the order they are displayed to the user If there are no items in this list view, what message should be drawn onto the control? What font should the 'list empty' message be drawn in? Return the font for the 'list empty' message or a default Get or set whether or not the listview is frozen. When the listview is frozen, it will not update itself. The Frozen property is similar to the methods Freeze()/Unfreeze() except that changes to the Frozen property do not nest. objectListView1.Frozen = false; // unfreeze the control regardless of the number of Freeze() calls When a group title has an item count, how should the lable be formatted? The given format string can/should have two placeholders: {0} - the original group title {1} - the number of items in the group "{0} [{1} items]" Return this.GroupWithItemCountFormat or a reasonable default When a group title has an item count, how should the lable be formatted if there is only one item in the group? The given format string can/should have two placeholders: {0} - the original group title {1} - the number of items in the group (always 1) "{0} [{1} item]" Return this.GroupWithItemCountSingularFormat or a reasonable default Does this listview have a message that should be drawn when the list is empty? What color should be used for the background of selected rows? Windows does not give the option of changing the selection background. So this color is only used when control is owner drawn and when columns have a renderer installed -- a basic new BaseRenderer() will suffice. Return the color should be used for the background of selected rows or a reasonable default Setup the list so it will draw selected rows using custom colours. This method makes the list owner drawn, and ensures that all columns have at least a BaseRender installed. What color should be used for the foreground of selected rows? Windows does not give the option of changing the selection foreground (text color). So this color is only used when control is owner drawn and when columns have a renderer installed -- a basic new BaseRenderer() will suffice. Return the color should be used for the foreground of selected rows or a reasonable default Return true if a cell edit operation is currently happening Get/set the collection of objects that this list will show The contents of the control will be updated immediately after setting this property Take ownership of the 'objects' collection. This separats our collection from the source. This method separates the 'objects' instance variable from its source, so that any AddObject/RemoveObject calls will modify our collection and not the original colleciton. This method has the intentional side-effect of converting our list of objects to an ArrayList. Specify the height of each row in the control in pixels. The row height in a listview is normally determined by the font size and the small image list size. This setting allows that calculation to be overridden (within reason: you still cannot set the line height to be less than the line height of the font used in the control). Setting it to -1 means use the normal calculation method. This feature is experiemental! Strange things may happen to your program, your spouse or your pet if you use it. Get/set the column that will be used to resolve comparisons that are equal when sorting. There is no user interface for this setting. It must be set programmatically. The default is the first column. When the SecondarySortColumn is used, in what order will it compare results? When the user right clicks on the column headers, should a menu be presented which will allow them to choose which columns will be shown in the view? When the column select menu is open, should it stay open after an item is selected? Staying open allows the user to turn more than one column on or off at a time. Return the index of the row that is currently selected. If no row is selected, or more than one is selected, return -1. Get the ListViewItem that is currently selected . If no row is selected, or more than one is selected, return null. Get the model object from the currently selected row. If no row is selected, or more than one is selected, return null. Select the row that is displaying the given model object. All other rows are deselected. Get the model objects from the currently selected rows. If no row is selected, the returned List will be empty. When setting this value, select the rows that is displaying the given model objects. All other rows are deselected. Should the list view show a bitmap in the column header to show the sort direction? The only reason for not wanting to have sort indicators is that, on pre-XP versions of Windows, having sort indicators required the ListView to have a small image list, and as soon as you give a ListView a SmallImageList, the text of column 0 is bumped 16 pixels to the right, even if you never used an image. Should the list view show images on subitems? Under Windows, this works by sending messages to the underlying Windows control. To make this work under Mono, we would have to owner drawing the items :-( This property controls whether group labels will be suffixed with a count of items. The format of the suffix is controlled by GroupWithItemCountFormat/GroupWithItemCountSingularFormat properties Override the SmallImageList property so we can correctly shadow its operations. If you use the RowHeight property to specify the row height, the SmallImageList must be fully initialised before setting/changing the RowHeight. If you add new images to the image list after setting the RowHeight, you must assign the imagelist to the control again. Something as simple as this will work: listView1.SmallImageList = listView1.SmallImageList; When the listview is grouped, should the items be sorted by the primary column? If this is false, the items will be sorted by the same column as they are grouped. When resizing a column by dragging its divider, should any space filling columns be resized at each mouse move? If this is false, the filling columns will be updated when the mouse is released. I think that this looks very ugly, but it does give more immediate feedback. It looks ugly because every column to the right of the divider being dragged gets updated twice: once when the column be resized changes size (this moves all the columns slightly to the right); then again when the filling columns are updated, but they will be shrunk so that the combined width is not more than the control, so everything jumps slightly back to the left again. Should the list give a different background color to every second row? The color of the alternate rows is given by AlternateRowBackColor. There is a "feature" in .NET for listviews in non-full-row-select mode, where selected rows are not drawn with their correct background color. Get/set the style of view that this listview is using Switching to tile or details view installs the columns appropriate to that view. Confusingly, in tile view, every column is shown as a row of information. This delegate can be used to sort the table in a custom fasion. What the delegate has to do depends on the type of ObjectListView it is sorting: If it is sorting a normal ObjectListView, the delegate must install a ListViewItemSorter on the ObjectListView. This install ItemSorter will actually do the work of sorting the ListViewItems. See ColumnComparer in the code for an example of what an ItemSorter has to do. If the delegate is sorting a VirtualObjectListView or a FastObjectListView, the delegate must sort the model objects that are sourcing the list (remember, in a virtual list, the application holds the model objects and the list just askes for them as it needs them). This delegate can be used to format a OLVListItem before it is added to the control. The model object for the row can be found through the RowObject property of the OLVListItem object. All subitems normally have the same style as list item, so setting the forecolor on one subitem changes the forecolor of all subitems. To allow subitems to have different attributes, do this:myListViewItem.UseItemStyleForSubItems = false;. If UseAlternatingBackColors is true, the backcolor of the listitem will be calculated by the control and cannot be controlled by the RowFormatter delegate. In general, trying to use a RowFormatter when UseAlternatingBackColors is true does not work well. This delegate will be called whenever the ObjectListView needs to know the check state of the row associated with a given model object This delegate will be called whenever the user tries to change the check state of a row. The delegate should return the value that the listview should actuall use, which may be different to the one given to the delegate. Set the collection of objects that will be shown in this list view. This method can safely be called from background threads. The list is updated immediately The objects to be displayed Add the given model object to this control. The model object to be displayed See AddObjects() for more details Add the given collection of model objects to this control. A collection of model objects The added objects will appear in their correct sort position, if sorting is active. Otherwise, they will appear at the end of the list. No check is performed to see if any of the objects are already in the ListView. The method uses the ObjectsAsList property. See that property for a description of what is does. Null objects are silently ignored. Remove the given model object from the ListView The model to be removed See RemoveObjects() for more details Remove all of the given objects from the control Collection of objects to be removed Nulls and model objects that are not in the ListView are silently ignored. Update the list to reflect the contents of the given collection, without affecting the scrolling position, selection or sort order. The objects to be displayed This method is about twice as slow as SetObjects(). This method is experimental -- it may disappear in later versions of the code. There has to be a better way to do this! JPP 15/1/2008 In most situations, if you need this functionality, use a FastObjectListView instead. JPP 2/2/2008 Remove all items from this list This method can safely be called from background threads. Build/rebuild all the list view items in the list Build/rebuild all the list view items in the list If this is true, the control will try to preserve the selection and the scroll position (see Remarks) Use this method in situations were the contents of the list is basically the same as previously. Due to limitations in .NET's ListView, the scroll position is only preserved if the control is in Details view AND it is not showing groups. Get or set the index of the top item of this listview This property only works when the listview is in Details view and not showing groups. The reason that it does not work when showing groups is that, when groups are enabled, the Windows message LVM_GETTOPINDEX always returns 0, regardless of the scroll position. Sort the items by the last sort column Organise the view items into groups, based on the last sort column or the first column if there is no last sort column Organise the view items into groups, based on the given column If the AlwaysGroupByColumn property is not null, the list view items will be organisd by that column, and the 'column' parameter will be ignored. The column whose values should be used for sorting. Pause (or unpause) all animations in the list true to pause, false to unpause Give the listview a reasonable size of its tiles, based on the number of lines of information that each tile is going to display. Rebuild this list for the given view Rebuild the columns based upon its current view and column visibility settings Copy a text and html representation of the selected rows onto the clipboard. Be careful when using this with virtual lists. If the user has selected 10,000,000 rows, this method will faithfully try to copy all of them to the clipboard. From the user's point of view, your program will appear to have hung. Copy a text and html representation of the given objects onto the clipboard. Convert the fragment of HTML into the Clipboards HTML format. The HTML format is found here http://msdn2.microsoft.com/en-us/library/aa767917.aspx The HTML to put onto the clipboard. It must be valid HTML! A string that can be put onto the clipboard and will be recognized as HTML Return a byte array that represents the current state of the ObjectListView, such that the state can be restored by RestoreState() The state of an ObjectListView includes the attributes that the user can modify: current view (i.e. Details, Tile, Large Icon...) sort column and direction column order column widths column visibility It does not include selection or the scroll position. A byte array representing the state of the ObjectListView Restore the state of the control from the given string, which must have been produced by SaveState() A byte array returned from SaveState() Returns true if the state was restored Instances of this class are used to store the state of an ObjectListView. Event handler for the column click event Handle when a user checks/unchecks a row Override the basic message pump for this control Perform any steps needed before painting the control Perform any steps needed after painting the control When the control is created capture the messages for the header. Class used to capture window messages for the header of the list view control. We only need this class in order to not change the cursor when the cursor is over the divider of a fixed width column. It really is a little too perfectionist even for me. Return the Windows handle behind this control When an ObjectListView is initialized as part of a UserControl, the GetHeaderControl() method returns 0 until the UserControl is completely initialized. So the AssignHandle() call in the constructor doesn't work. So we override the Handle property so value is always current. Return the index of the column under the current cursor position, or -1 if the cursor is not over a column Index of the column under the cursor, or -1 The user wants to see the context menu. The windows message A bool indicating if this message has been handled We want to ignore context menu requests that are triggered by right clicks on the header In the notification messages, we handle attempts to change the width of our columns The msg to be processed bool to indicate if the msg has been handled The user has right clicked on the column headers. Do whatever is required Return true if this event has been handle The user has right clicked on the column headers. Do whatever is required Return true if this event has been handle Tell the world when a cell is about to finish being edited. The callbacks for RightColumnClick events Triggered when a column header is right clicked. Show a popup menu at the given point which will allow the user to choose which columns are visible on this listview Where should the menu be placed Append the column selection menu items to the given menu strip. The menu to which the items will be added. If this is null, a new ContextMenuStrip will be created Return the menu to which the items were added Override the OnColumnReordered method to do what we want Resize our space filling columns so they fill any unoccupied width in the control Change the given item from the old check value to a new one The item to be change The old value of the check The new value of the check Change the given item from the old check value to a new one The item to be change The old value of the check The new value of the check Return true of the given object is checked The model object whose checkedness is returned Is the given object checked? If the given object is not in the list, this method returns false. Return the OLVListItem that displays the given model object The modelObject whose item is to be found The OLVListItem that displays the model, or null This method has O(n) performance. Toggle the checkedness of the given object The model object to be checked Mark the given object as checked in the list The model object to be checked Mark the given object as unchecked in the list The model object to be unchecked Return the column at the given index Index of the column to be returned An OLVColumn Return the column at the given title. Name of the column to be returned An OLVColumn Return the number of items in the list the number of items in the list Return the item at the given index Index of the item to be returned An OLVListItem Return the model object at the given index Index of the model object to be returned A model object Find the item and column that are under the given co-ords X co-ord Y co-ord The column under the given point The item under the given point. Can be null. Select all rows in the listview Deselect all rows in the listview Return the model object of the row that is selected or null if there is no selection or more than one selection Model object or null Return the model objects of the rows that are selected or an empty collection if there is no selection ArrayList Return the model object of the row that is checked or null if no row is checked or more than one row is checked Model object or null Use CheckedObject property instead of this method Get the collection of model objects that are checked. Use CheckedObjects property instead of this method Select the row that is displaying the given model object. All other rows are deselected. The object to be selected or null to deselect all Select the rows that is displaying any of the given model object. All other rows are deselected. A collection of model objects Update the ListViewItem with the data from its associated model. This method does not resort or regroup the view. It simply updates the displayed data of the given item Update the rows that are showing the given objects This method does not resort or regroup the view. Update the rows that are showing the given objects This method does not resort or regroup the view. This method can safely be called from background threads. Update the rows that are selected This method does not resort or regroup the view. Find the given model object within the listview and return its index Technically, this method will work with virtual lists, but it will probably be very slow. The model object to be found The index of the object. -1 means the object was not present Return the ListViewItem that appears immediately after the given item. If the given item is null, the first item in the list will be returned. Return null if the given item is the last item. The item that is before the item that is returned, or null A ListViewItem Return the ListViewItem that appears immediately before the given item. If the given item is null, the last item in the list will be returned. Return null if the given item is the first item. The item that is before the item that is returned A ListViewItem Freeze the listview so that it no longer updates itself. Freeze()/Unfreeze() calls nest correctly Unfreeze the listview. If this call is the outermost Unfreeze(), the contents of the listview will be rebuilt. Freeze()/Unfreeze() calls nest correctly Do the actual work required when the listview is unfrozen Sort the items in the list view by the values in the given column. If ShowGroups is true, the rows will be grouped by the given column, otherwise, it will be a straight sort. The name of the column whose values will be used for the sorting Sort the items in the list view by the values in the given column. If ShowGroups is true, the rows will be grouped by the given column, otherwise, it will be a straight sort. The index of the column whose values will be used for the sorting Sort the items in the list view by the values in the given column. If ShowGroups is true, the rows will be grouped by the given column, otherwise, it will be a straight sort. The column whose values will be used for the sorting Put a sort indicator next to the text of the sort column Put a sort indicator next to the text of the given given column The column to be marked The sort order in effect on that column The name of the image used when a column is sorted ascending This image is only used on pre-XP systems. System images are used for XP and later The name of the image used when a column is sorted descending This image is only used on pre-XP systems. System images are used for XP and later If the sort indicator images don't already exist, this method will make and install them Fill in the given OLVListItem with values of the given row the OLVListItem that is to be stuff with values the model object from which values will be taken Setup all subitem images on all rows Tell the underlying list control which images to show against the subitems the index at which the item occurs the item whose subitems are to be set Tell the underlying list control which images to show against the subitems the index at which the item occurs the item whose subitems are to be set will existing images be cleared if no new image is provided? Prepare the listview to show alternate row backcolors We cannot rely on lvi.Index in this method. In a straight list, lvi.Index is the display index, and can be used to determine whether the row should be colored. But when organised by groups, lvi.Index is not useable because it still refers to the position in the overall list, not the display order. For some reason, UseItemStyleForSubItems doesn't work for the colors when owner drawing the list, so we have to specifically give each subitem the desired colors The item whose subitems are to be corrected Convert the given image selector to an index into our image list. Return -1 if that's not possible Index of the image in the imageList, or -1 Make sure the ListView has the extended style that says to display subitem images. This method must be called after any .NET call that update the extended styles since they seem to erase this setting. For the given item and subitem, make it display the given image row number (0 based) subitem (0 is the item itself) index into the image list Update our externally visible image list so it holds the same images as our shadow list, but sized correctly Return a copy of the given source image list, where each image has been resized to be height x height in size. If source is null, an empty image list of the given size is returned Height and width of the new images Source of the images (can be null) A new image list Return a bitmap of the given height x height, which shows the given image, centred. Height and width of new bitmap Image to be centred The background color A new bitmap Owner draw the column header Owner draw the item Owner draw a single subitem This method is called every time a row is selected or deselected. This can be a pain if the user shift-clicks 100 rows. We override this method so we can trigger one event for any number of select/deselects that come from one user action The application is idle. Trigger a SelectionChanged event. This event is triggered once per user action that changes the selection state of one or more rows. Trigger the SelectionChanged event We need the click count in the mouse up event, but that is always 1. So we have to remember the click count from the preceding mouse down event. Check to see if we need to start editing a cell Should we start editing the cell? Handle a key press on this control. We specifically look for F2 which edits the primary column, or a Tab character during an edit operation, which tries to start editing on the next (or previous) cell. Begin an edit operation on the given cell. This performs various sanity checks and passes off the real work to StartCellEdit(). The row to be edited The index of the cell to be edited Really start an edit operation on a given cell. The parameters are assumed to be sane. The row to be edited The index of the cell to be edited Try to give the given value to the provided control. Fall back to assigning a string if the value assignment fails. A control The value to be given to the control The string to be given if the value doesn't work Setup the given control to be a cell editor Return the value that the given control is showing Called when the cell editor could be about to lose focus. Time to commit the change Return the bounds of the given cell The row to be edited The index of the cell to be edited A Rectangle Return a control that can be used to edit the value of the given cell. The row to be edited The index of the cell to be edited Return a TextBox that can be used as a default cell editor. What column does the cell belong to? Stop editing a cell and throw away any changes. If a cell edit is in progress, finish the edit Returns false if the finishing process was cancelled (i.e. the cell editor is still on screen) Finish the cell edit operation, writing changed data back to the model object Remove all trace of any existing cell edit operation The callbacks for CellEditing events Triggered when a cell is about to be edited. Set Cancel to true to prevent the cell being edited. You can change the the Control to be something completely different. Triggered when a cell editor needs to be validated If this event is cancelled, focus will remain on the cell editor. Triggered when a cell is about to finish being edited. If Cancel is already true, the user is cancelling the edit operation. Set Cancel to true to prevent the value from the cell being written into the model. You cannot prevent the editing from finishing. Tell the world when a cell is about to be edited. Tell the world when a cell is about to finish being edited. Tell the world when a cell is about to finish being edited. Let the world know that a cell edit operation is beginning or ending Create an event args Change this to true to cancel the cell editing operation. During the CellEditStarting event, setting this to true will prevent the cell from being edited. During the CellEditFinishing event, if this value is already true, this indicates that the user has cancelled the edit operation and that the handler should perform cleanup only. Setting this to true, will prevent the ObjectListView from trying to write the new value into the model object. During the CellEditStarting event, this can be modified to be the control that you want to edit the value. You must fully configure the control before returning from the event, including its bounds and the value it is showing. During the CellEditFinishing event, you can use this to get the value that the user entered and commit that value to the model. Changing the control during the finishing event has no effect. The column of the cell that is going to be or has been edited. The model object of the row of the cell that is going to be or has been edited. The listview item of the cell that is going to be or has been edited. The index of the cell that is going to be or has been edited. The data value of the cell before the edit operation began. The bounds of the cell that is going to be or has been edited. This editor simply shows and edits integer values. This editor simply shows and edits unsigned integer values. This editor simply shows and edits boolean values. You can intercept the CellEditStarting event if you want to change the characteristics of the editor. For example, by changing the labels to "No" and "Yes". The false value must come first. This editor simply shows and edits floating point values. You can intercept the CellEditStarting event if you want to change the characteristics of the editor. For example, by increasing the number of decimal places. This editor shows and auto completes values from the given listview column. Return a collection of columns that are appropriate to the given view. Only Tile and Details have columns; all other views have 0 columns. Which view are the columns being calculate for? A list of columns This class works in conjunction with the OLVColumns property to allow OLVColumns to be added to the ObjectListView. Return Columns for this list. We hide the original so we can associate a specialised editor with it. Which column did we last sort by Which direction did we last sort Wrapper for all native method calls on ListView controls Notify message header structure. Make sure the ListView has the extended style that says to display subitem images. This method must be called after any .NET call that update the extended styles since they seem to erase this setting. The listview to send a message to For the given item and subitem, make it display the given image The listview to send a message to row number (0 based) subitem (0 is the item itself) index into the image list Setup the given column of the listview to show the given image to the right of the text. If the image index is -1, any previous image is cleared The listview to send a message to Index of the column to modifiy Index into the small image list Does this version of the operating system have builtin sort indicators? Are there builtin sort indicators XP and later have these Return the bounds of the update region on the given control. The BeginPaint() system call validates the update region, effectively wiping out this information. So this call has to be made before the BeginPaint() call. The control whose update region is be calculated A rectangle Validate an area of the given control. A validated area will not be repainted at the next redraw. The control to be validated The area of the control to be validated Select all rows on the given listview The listview whose items are to be selected Deselect all rows on the given listview The listview whose items are to be deselected Set the item state on the given item The listview whose item's state is to be changed The index of the item to be changed Which bits of the value are to be set? The value to be set Return the handle to the header control on the given list The listview whose header control is to be returned The handle to the header control Return the index of the divider under the given point. Return -1 if no divider is under the pt The list we are interested in The client co-ords The index of the divider under the point, or -1 if no divider is under that point Return the index of the column of the header that is under the given point. Return -1 if no column is under the pt The list we are interested in The client co-ords The index of the column under the point, or -1 if no column header is under that point Get the scroll position of the given scroll bar A virtual object list view operates in virtual mode, that is, it only gets model objects for a row when it is needed. This gives it the ability to handle very large numbers of rows with minimal resources. A listview is not a great user interface for a large number of items. But if you've ever wanted to have a list with 10 million items, go ahead, knock yourself out. Virtual lists can never iterate their contents. That would defeat the whole purpose. Given the above, grouping and sorting are not possible on virtual lists. But if the backing data store has a sorting mechanism, a CustomSorter can be installed which will be called when the sorting is required. For the same reason, animate GIFs should not be used in virtual lists. Animated GIFs require some state information to be stored for each animation, but virtual lists specifically do not keep any state information. You really do not want to keep state information for 10 million animations! Create a VirtualObjectListView This delegate is used to fetch a rowObject, given it's index within the list Return the number of items in the list the number of items in the list Return the item at the given index Index of the item to be returned An OLVListItem Return the model object at the given index Index of the model object to be returned A model object Remove all items from this list This method can safely be called from background threads. Select the row that is displaying the given model object. This does nothing in virtual lists. This is a no-op for virtual lists, since there is no way to map the model object back to the ListViewItem that represents it. The object that gave data Select the rows that is displaying any of the given model object. This does nothing in virtual lists. This is a no-op for virtual lists, since there is no way to map the model objects back to the ListViewItem that represents them. A collection of model objects Update the rows that are showing the given objects This is a no-op for virtual lists, since there is no way to map the model objects back to the ListViewItem that represents them. Add the given collection of model objects to this control. A collection of model objects This is a no-op for virtual lists, since the control does not have a list of model objects to which it can add this new one. All model object management is done by the application. Remove all of the given objects from the control Collection of objects to be removed This is a no-op for virtual lists, since the control does not have a list of model objects from which it can remove these ones. All model object management is done by the application. Invalidate any cached information when we rebuild the list. Prepare the listview to show alternate row backcolors Alternate colored backrows can't be handle in the same way as our base class. With virtual lists, they are handled at RetrieveVirtualItem time. Refresh the given item in the list The item to refresh Handle a mouse down event Handle a RetrieveVirtualItem Create a OLVListItem for given row index The index of the row that is needed An OLVListItem Return the row object for the given row index index of the row whose object is to be fetched A model object or null if no delegate is installed Clear any cached info this list may have been using A FastObjectListView trades function for speed. On my mid-range laptop, this view builds a list of 10,000 objects in 0.1 seconds, as opposed to a normal ObjectListView which takes 10-15 seconds. Lists of up to 50,000 items should be able to be handled with sub-second response times even on low end machines. A FastObjectListView is implemented as a virtual list with some of the virtual modes limits (e.g. no sorting) fixed through coding. There are some functions that simply cannot be provided. Specifically, a FastObjectListView cannot: shows groups use Tile view display images on subitems You can circumvent the limit on subitem images by making the list owner drawn, and giving the column a Renderer of BaseRenderer, e.g. myColumnWithImage.Renderer = new BaseRenderer(); Although it isn't documented, virtual lists cannot have checkboxes. A FastObjectListView codes around this limitation, but you must use the functions provided by FastObjectListView. If you call the normal "CheckedItems", it will throw an exception. If you use CheckedObjects and its friends (declared in ObjectListView), you should not have any trouble. The only exception is the "CheckBoxes" property itself. Once this is set, trying to unset it will throw an exception, since the list is a virtual list. Make a FastObjectListView Get/set the list of objects that are shown by the control. This method preserves selection, if possible. Use SetObjects() if you do not want to preserve the selection. Preserving selection is the slowest part of this code and performance is O(n) where n is the number of selected rows. This method is not thread safe. When the user types into a list, should the values in the current sort column be searched to find a match? If this is false, the primary column will always be used regardless of the sort column. When this is true, the behavior is like that of ITunes. Set the collection of objects that this control will show. This method can safely be called from background threads. Add the given collection of model objects to this control. A collection of model objects The added objects will appear in their correct sort position, if sorting is active. Otherwise, they will appear at the end of the list. No check is performed to see if any of the objects are already in the ListView. Null objects are silently ignored. Remove all of the given objects from the control Collection of objects to be removed Nulls and model objects that are not in the ListView are silently ignored. Take ownership of the 'objects' collection. This separats our collection from the source. This method separates the 'objects' instance variable from its source, so that any AddObject/RemoveObject calls will modify our collection and not the original colleciton. FastObjectListViews always own their collections, so this is a no-op. Event handler for the column click event This differs from its base version by trying to preserve selection. The base class, being a pure virtual list, cannot maintain selection since it cannot map a model objects to the row that is responsible for displaying it. This class can do that. Select the row that is displaying the given model object. The object that gave data Select the rows that is displaying any of the given model object. A collection of model objects Update the rows that are showing the given objects Rebuild the map that remembers which model object is displayed at which line Return the row object for the given row index index of the row whose object is to be fetched A model object or null if no delegate is installed A DataListView is a ListView that can be bound to a datasource (which would normally be a DataTable or DataView). This listview keeps itself in sync with its source datatable by listening for change events. If the listview has no columns when given a data source, it will automatically create columns to show all of the datatables columns. This will be only the simplest view of the world, and would look more interesting with a few delegates installed. This listview will also automatically generate missing aspect getters to fetch the values from the data view. Changing data sources is possible, but error prone. Before changing data sources, the programmer is responsible for modifying/resetting the column collection to be valid for the new data source. Make a DataListView Get or set the DataSource that will be displayed in this list view. The DataSource should implement either , , or . Some common examples are the following types of objects: When binding to a list container (i.e. one that implements the interface, such as ) you must also set the property in order to identify which particular list you would like to display. You may also set the property even when DataSource refers to a list, since can also be used to navigate relations between lists. Gets or sets the name of the list or table in the data source for which the DataListView is displaying data. If the data source is not a DataSet or DataViewManager, this property has no effect Our data source has changed. Figure out how to handle the new source Our data source has changed. Figure out how to handle the new source The data source for this control has changed. Reconfigure the control for the new source Create columns for the listview based on what properties are available in the data source This method will not replace existing columns. Generate aspect getters and putters for any columns that are missing them (and for which we have enough information to actually generate a getter) Add the given collection of model objects to this control. A collection of model objects This is a no-op for data lists, since the data is controlled by the DataSource. Manipulate the data source rather than this view of the data source. Remove the given collection of model objects from this control. This is a no-op for data lists, since the data is controlled by the DataSource. Manipulate the data source rather than this view of the data source. What should we do when the list is unfrozen Handles binding context changes The EventArgs that will be passed to any handlers of the BindingContextChanged event. Handles parent binding context changes Unused EventArgs. Handle a SelectedIndexChanged event The event Called by Windows Forms when the currently selected index of the control changes. This usually happens because the user clicked on the control. In this case we want to notify the CurrencyManager so that any other bound controls will remain in sync. This method will also be called when we changed our index as a result of a notification that originated from the CurrencyManager, and in that case we avoid notifying the CurrencyManager back! These delegates are used to extract an aspect from a row object These delegates are used to put a changed value back into a model object These delegates can be used to convert an aspect value to a display string, instead of using the default ToString() These delegates are used to the state of the checkbox for a row object. For reasons known only to someone in Microsoft, we can only set a boolean on the ListViewItem to indicate it's "checked-ness", but when we receive update events, we have to use a tristate CheckState. So we can be told about an indeterminate state, but we can't set it ourselves. These delegates are used to put a changed check state back into a model object These delegates are used to retrieve the object that is the key of the group to which the given row belongs. These delegates are used to convert a group key into a title for the group These delegates are used to fetch the image selector that should be used to choose an image for this column. These delegates are used to draw a cell These delegates are used to fetch a row object for virtual lists These delegates are used to format a listviewitem before it is added to the control. These delegates are used to sort the listview in some custom fashion An OLVColumn knows which aspect of an object it should present. The column knows how to: extract its aspect from the row object convert an aspect to a string calculate the image for the row object extract a group "key" from the row object convert a group "key" into a title for the group For sorting to work correctly, aspects from the same column must be of the same type, that is, the same aspect cannot sometimes return strings and other times integers. Create an OLVColumn Initialize a column to have the given title, and show the given aspect The title of the column The aspect to be shown in the column The name of the property or method that should be called to get the value to display in this column. This is only used if a ValueGetterDelegate has not been given. This name can be dotted to chain references to properties or methods. "DateOfBirth" "Owner.HomeAddress.Postcode" This format string will be used to convert an aspect to its string representation. This string is passed as the first parameter to the String.Format() method. This is only used if ToStringDelegate has not been set. "{0:C}" to convert a number to currency Group objects by the initial letter of the aspect of the column One common pattern is to group column by the initial letter of the value for that group. The aspect must be a string (obviously). Get/set whether this column should be used when the view is switched to tile view. Column 0 is always included in tileview regardless of this setting. Tile views do not work well with many "columns" of information, 2 or 3 works best. This delegate will be used to extract a value to be displayed in this column. If this is set, AspectName is ignored. The delegate that will be used to translate the aspect to display in this column into a string. If this value is set, ValueToStringFormat will be ignored. This delegate is called to get the image selector of the image that should be shown in this column. It can return an int, string, Image or null. This delegate can use these return value to identify the image: null or -1 -- indicates no image an int -- the int value will be used as an index into the image list a String -- the string value will be used as a key into the image list an Image -- the Image will be drawn directly (only in OwnerDrawn mode) This delegate is called to get the object that is the key for the group to which the given row belongs. This delegate is called to convert a group key into a title for that group. This delegate is called when a cell needs to be drawn in OwnerDrawn mode. Get/set the renderer that will be invoked when a cell needs to be redrawn Remember if this aspect getter for this column was generated internally, and can therefore be regenerated at will When the listview is grouped by this column and group title has an item count, how should the lable be formatted? The given format string can/should have two placeholders: {0} - the original group title {1} - the number of items in the group If this value is not set, the values from the list view will be used "{0} [{1} items]" Return this.GroupWithItemCountFormat or a reasonable default When the listview is grouped by this column and a group title has an item count, how should the lable be formatted if there is only one item in the group? The given format string can/should have two placeholders: {0} - the original group title {1} - the number of items in the group (always 1) If this value is not set, the values from the list view will be used "{0} [{1} item]" Return this.GroupWithItemCountSingularFormat or a reasonable default What is the minimum width that the user can give to this column? -1 means there is no minimum width. Give this the same value as MaximumWidth to make a fixed width column. What is the maximum width that the user can give to this column? -1 means there is no maximum width. Give this the same value as MinimumWidth to make a fixed width column. Is this column a fixed width column? What proportion of the unoccupied horizontal space in the control should be given to this column? There are situations where it would be nice if a column (normally the rightmost one) would expand as the list view expands, so that as much of the column was visible as possible without having to scroll horizontally (you should never, ever make your users have to scroll anything horizontally!). A space filling column is resized to occupy a proportion of the unoccupied width of the listview (the unoccupied width is the width left over once all the the non-filling columns have been given their space). This property indicates the relative proportion of that unoccupied space that will be given to this column. The actual value of this property is not important -- only its value relative to the value in other columns. For example: If there is only one space filling column, it will be given all the free space, regardless of the value in FreeSpaceProportion. If there are two or more space filling columns and they all have the same value for FreeSpaceProportion, they will share the free space equally. If there are three space filling columns with values of 3, 2, and 1 for FreeSpaceProportion, then the first column with occupy half the free space, the second will occupy one-third of the free space, and the third column one-sixth of the free space. Should this column resize to fill the free space in the listview? If you want two (or more) columns to equally share the available free space, set this property to True. If you want this column to have a larger or smaller share of the free space, you must set the FreeSpaceProportion property explicitly. Space filling columns are still governed by the MinimumWidth and MaximumWidth properties. /// This delegate will be used to put an edited value back into the model object. This does nothing if IsEditable == false. Can the values shown in this column be edited? This defaults to true, since the primary means to control the editability of a listview is on the listview itself. Once a listview is editable, all the columns are too, unless the programmer explicitly marks them as not editable Return the control that should be used to edit cells in this column Can this column be seen by the user? After changing this value, you must call RebuildColumns() before the changes will be effected. Where was this column last positioned within the Detail view columns DisplayIndex is volatile. Once a column is removed from the control, there is no way to discover where it was in the display order. This property guards that information even when the column is not in the listview's active columns. For a given row object, return the object that is to be displayed in this column. The row object that is being displayed An object, which is the aspect to be displayed For a given row object, extract the value indicated by the AspectName property of this column. The row object that is being displayed An object, which is the aspect named by AspectName Update the given model object with the given value The model object to be updated The value to be put into the model Update the given model object with the given value using the column's AspectName. The model object to be updated The value to be put into the model For a given row object, return the string representation of the value shown in this column. For aspects that are string (e.g. aPerson.Name), the aspect and its string representation are the same. For non-strings (e.g. aPerson.DateOfBirth), the string representation is very different. Convert the aspect object to its string representation. If the column has been given a ToStringDelegate, that will be used to do the conversion, otherwise just use ToString(). Nulls are always converted to empty strings. The value of the aspect that should be displayed A string representation of the aspect For a given row object, return the image selector of the image that should displayed in this column. The row object that is being displayed int or string or Image. int or string will be used as index into image list. null or -1 means no image For a given row object, return the object that is the key of the group that this row belongs to. The row object that is being displayed Group key object For a given group value, return the string that should be used as the groups title. The group key that is being converted to a title string Install delegates that will group the columns aspects into progressive partitions. If an aspect is less than value[n], it will be grouped with description[n]. If an aspect has a value greater than the last element in "values", it will be grouped with the last element in "descriptions". Array of values. Values must be able to be compared to the aspect (using IComparable) The description for the matching value. The last element is the default description. If there are n values, there must be n+1 descriptions. this.salaryColumn.MakeGroupies( new UInt32[] { 20000, 100000 }, new string[] { "Lowly worker", "Middle management", "Rarified elevation"}); OLVListItems are specialized ListViewItems that know which row object they came from, and the row index at which they are displayed, even when in group view mode. They also know the image they should draw against themselves Create a OLVListItem for the given row object Create a OLVListItem for the given row object, represented by the given string and image RowObject is the model object that is source of the data for this list item. DisplayIndex is the index of the row where this item is displayed. For flat lists, this is the same as ListViewItem.Index, but for grouped views, it is different. Get or set the image that should be shown against this item This can be an Image, a string or an int. A string or an int will be used as an index into the small image list. A ListViewSubItem that knows which image should be drawn against it. Create a OLVListSubItem Create a OLVListSubItem that shows the given string and image Get or set the image that should be shown against this item This can be an Image, a string or an int. A string or an int will be used as an index into the small image list. Return the state of the animatation of the image on this subitem. Null means there is either no image, or it is not an animation This comparer sort list view groups. It does this on the basis of the values in the Tags, if we can figure out how to compare objects of that type. Failing that, it uses a case insensitive compare on the group header. ColumnComparer is the workhorse for all comparison between two values of a particular column. If the column has a specific comparer, use that to compare the values. Otherwise, do a case insensitive string compare of the string representations of the values. This class inherits from both IComparer and its generic counterpart so that it can be used on untyped and typed collections. Renderers are responsible for drawing a single cell within an owner drawn ObjectListView. Methods on this class are called during the DrawItem or DrawSubItemEvent. Subclasses can tell which type of event they are handling by examining DrawItemEvent: if this is not null, it is a DrawItem event. Subclasses will normally override the RenderWithDefault or Render method, and use the other methods as helper functions. If a renderer is installed on the primary column (column 0), it will be given a chance to draw the whole item in all views (Details, Tile, etc.). If the renderer returns true, default processing will continue. If it returns false, no other rendering will happen. This means that when an ObjectListView is in Details view, the renderer on column 0 will be called twice: once to handle the DrawItem event, and then again to draw only the first cell. Subclasses must distinguish between these two very different events (using the "this.DrawItemEvent == null" test). Make a simple renderer Get/set the event that caused this renderer to be called Get/set the event that caused this renderer to be called Get/set the listview for which the drawing is to be done Get or set the OLVColumn that this renderer will draw Get or set the model object that this renderer should draw Get or set the aspect of the model object that this renderer should draw Get or set the listitem that this renderer will be drawing Get or set the list subitem that this renderer will be drawing Get the specialized OLVSubItem that this renderer is drawing This returns null for column 0. Cache whether or not our item is selected Return the font to be used for text in this cell The font of the subitem The brush that will be used to paint the text Should this renderer fill in the background before drawing? Can the renderer wrap lines that do not fit completely within the cell? This value is currently only used when printing a list view using ListViewPrinter. When rendering multiple images, how many pixels should be between each image? Return the string that should be drawn within this Return the image that should be drawn against this subitem An Image or null if no image should be drawn. Return the actual image that should be drawn when keyed by the given image selector. An image selector can be: an int, giving the index into the image list a string, giving the image key into the image list an Image, being the image itself The value that indicates the image to be used An Image or null Return the Color that is the background color for this item's cell The background color of the subitem Return the Color that is the background color for this item's text The background color of the subitem's text Return the color to be used for text in this cell The text color of the subitem Align the second rectangle with the first rectangle, according to the alignment of the column The cell's bounds The rectangle to be aligned within the bounds An aligned rectangle Draw the given image aligned horizontally within the column. Over tall images are scaled to fit. Over-wide images are truncated. This is by design! Graphics context to use for drawing Bounds of the cell The image to be drawn Fill in the background of this cell Graphics context to use for drawing Bounds of the cell The delegate that is called from the list view. This is the main entry point, but subclasses should override Render instead of this method. The event that caused this redraw The context that our drawing should be done using The bounds of the cell within which the renderer can draw The model object for this row A boolean indicating whether the default process should occur Draw our data into the given rectangle using the given graphics context. Subclasses should override this method. The graphics context that should be used for drawing The bounds of the subitem cell Returns whether the renderering has already taken place. If this returns false, the default processing will take over. Draw our data into the given rectangle using the given graphics context. Subclasses should override this method if they never want to fall back on the default processing The graphics context that should be used for drawing The bounds of the subitem cell Draw our subitems image and text Graphics context to use for drawing Bounds of the cell Draw the given text and optional image in the "normal" fashion Graphics context to use for drawing Bounds of the cell The string to be drawn The optional image to be drawn This class maps a data value to an image that should be drawn for that value. It is useful for drawing data that is represented as an enum or boolean. Return a renderer that draw boolean values using the given images Draw this when our data value is true Draw this when our data value is false A Renderer Return a renderer that draw tristate boolean values using the given images Draw this when our data value is true Draw this when our data value is false Draw this when our data value is null A Renderer Make a new empty renderer Make a new renderer that will show the given image when the given key is the aspect value The data value to be matched The image to be shown when the key is matched Make a new renderer that will show the given images when it receives the given keys Build a renderer from the given array of keys and their matching images An array of key/image pairs Register the image that should be drawn when our Aspect has the data value. Value that the Aspect must match An ImageSelector -- an int, string or image Render our value Render an image that comes from our data source. The image can be sourced from: a byte-array (normally when the image to be shown is stored as a value in a database) an int, which is treated as an index into the image list a string, which is treated first as a file name, and failing that as an index into the image list If an image is an animated GIF, it's state is stored in the SubItem object. By default, the image renderer does not render animations (it begins life with animations paused). To enable animations, you must call Unpause(). Make an empty image renderer Make an empty image renderer that begins life ready for animations Draw our image Translate our Aspect into an image. The strategy is: If its a byte array, we treat it as an in-memory image If it's an int, we use that as an index into our image list If it's a string, we try to load a file by that name. If we can't, we use the string as an index into our image list. An image Should the animations in this renderer be paused? Pause any animations Unpause any animations This is the method that is invoked by the timer. It basically switches control to the listview thread. not used This is the OnTimer callback, but invoked in the same thread as the creator of the ListView. This method can use all of ListViews methods without creating a CrossThread exception. Instances of this class kept track of the animation state of a single image. Is the given image an animation The image to be tested Is the image an animation? Create an AnimationState in a quiet state Create an animation state for the given image, which may or may not be an animation The image to be rendered Does this state represent a valid animation Advance our images current frame and calculate when it will expire Render our Aspect as a progress bar Make a BarRenderer Make a BarRenderer for the given range of data values Make a BarRenderer using a custom bar scheme Make a BarRenderer using a custom bar scheme Make a BarRenderer that uses a horizontal gradient Make a BarRenderer that uses a horizontal gradient Should this bar be drawn in the system style How many pixels in from our cell border will this bar be drawn The Pen that will draw the frame surrounding this bar The brush that will be used to fill the bar The brush that will be used to fill the background of the bar The first color when a gradient is used to fill the bar The end color when a gradient is used to fill the bar Regardless of how wide the column become the progress bar will never be wider than this Regardless of how high the cell is the progress bar will never be taller than this The minimum data value expected. Values less than this will given an empty bar The maximum value for the range. Values greater than this will give a full bar Draw this progress bar using a gradient Draw our aspect An ImagesRenderer draws zero or more images depending on the data returned by its Aspect. This renderer's Aspect must return a ICollection of ints, strings or Images, each of which will be drawn horizontally one after the other. Draw our data value A MultiImageRenderer draws the same image a number of times based on our data value The stars in the Rating column of iTunes is a good example of this type of renderer. Make a quiet rendererer Make an image renderer that will draw the indicated image, at most maxImages times. The image selector that will give the image to be drawn What is the maximum number of images that this renderer should draw? Values less than or equal to this will have 0 images drawn Values greater than or equal to this will have MaxNumberImages images drawn Draw our data value A class to render a value that contains a bitwise-OR'ed collection of values. The type of value that holds the bit-OR'ed flag Register the given image to the given value When this flag is present... ...draw this image Draw the flags 鼠标的当前位置 控件的状态。 正常 鼠标经过 鼠标按下 建立圆角路径的样式。 四个角都不是圆角。 四个角都为圆角。 左边两个角为圆角。 右边两个角为圆角。 上边两个角为圆角。 下边两个角为圆角。 左下角为圆角。 右下角为圆角。 普通按钮按下事件 分割按钮按下事件 下拉菜单与按钮的距离 图片高度 分割按钮的宽度 当鼠标按下时图片和文字是否产生偏移 是否一直显示按钮边框,设置为false则只在鼠标经过和按下时显示边框 当显示分割按钮时,分割按钮的箭头颜色 按钮的边框颜色 按钮内边框颜色 鼠标经过和按下时按钮的渐变背景颜色 鼠标经过和按下时按钮的渐变背景颜色 图片宽度 图片高度 按钮圆角样式 按钮圆角弧度 图片与文字之间的间距 按钮当前状态 鼠标当前所在位置 普通按钮矩形位置 分割按钮矩形位置 获取图像以及文字的位置 画边框与背景 画分割按钮 建立带有圆角样式的矩形路径 用来建立路径的矩形。 圆角的大小 圆角的样式 是否把矩形长宽减 1,以便画出边框 建立的路径 This enum represents the possible browser commands Used when no commans are available Used in the new navigation events The URL to navigate to The name of the frame to navigate to The flags when opening a new window The pointer to ppDisp Creates a new instance of WebBrowserExtendedNavigatingEventArgs Pointer to the automation object of the browser The URL to go to The name of the frame The new window flags Used in the new navigation events 查看源码 复制当前选中区 粘贴当前选中区 剪切当前选中区 全选 清除当前选中区的选中状态。 从当前选中区中删除全部超级链接。 从当前选中区中删除全部书签。 删除当前选中区 重做 撤销 从当前选中区中删除格式化标签。 点击节点 点击节点 点击元素 节点名 属性 属性值 等待毫秒数 第几个符合的元素,从1开始 等待多时毫秒 Represents event information for the main form, when the command state of the active browser changes Creates a new instance of the class A list of commands that are available Gets a list of commands that are available An extended version of the control. 在页面弹出消息对话框时激发 打开页面并等待页面加载完毕 要打开的页面地址 小于等于0,则表示一直等待,否则表示等待指定秒后,如果依然没有加载完毕,就直接返回 等待页面加载完毕 小于等于0,则表示一直等待,否则表示等待指定秒后,如果依然没有加载完毕,就直接返回 等待指定毫秒 等待指定毫秒 获取网页源代码,可以自动去除乱码 加载html文本到浏览器中 加载html文本到浏览器中 强制用本窗体打开新链接 This method supports the .NET Framework infrastructure and is not intended to be used directly from your code. Called by the control when the underlying ActiveX control is created. This method supports the .NET Framework infrastructure and is not intended to be used directly from your code. Called by the control when the underlying ActiveX control is discarded. Returns the automation object for the web browser This method will be called to give you a chance to create your own event sink Detaches the event sink 在文档下载开始时激发 Raises the event Empty You could start an animation or a notification that downloading is starting 下载完成后触发 Here you could start monitoring for script errors. Raises the event Empty 在开始浏览新网页时激发. 在打开新的网页窗口时激发 Raises the event Thrown when BrowserExtendedNavigatingEventArgs is null Raises the event Thrown when BrowserExtendedNavigatingEventArgs is null 新窗口事件,只限Window XP SP2或以上系统支持 / Overridden The send to this procedure A list of all the available window messages Raises the event 在网页窗口关闭时激发 Do not confuse this with DWebBrowserEvents2.Quit... That's something else. Flags used by INewWindowManager::EvaluateNewWindow. These values are taken into account in the decision of whether to display a pop-up window. No information Present The page is unloading. This flag is set in response to the onbeforeunload and onunload events. Some pages load pop-up windows when you leave them rather than when you enter. This flag is used to identify those situations. The call to INewWindowManager::EvaluateNewWindow is the result of a user-initiated action (a mouse click or key press). Use this flag in conjunction with the NWMF_FIRST_USERINITED flag to determine whether the call is a direct or indirect result of the user-initiated action. When NWMF_USERINITED is present, this flag indicates that the call to INewWindowManager::EvaluateNewWindow is the first query that results from this user-initiated action. Always use this flag in conjunction with NWMF_USERINITED. The override key (ALT) was pressed. The override key is used to bypass the pop-up manager梐llowing all pop-up windows to display梐nd must be held down at the time that INewWindowManager::EvaluateNewWindow is called. The new window attempting to load is the result of a call to the showHelp method. Help is sometimes displayed in a separate window, and this flag is valuable in those cases. The new window is a dialog box that displays HTML content. Indicates that the EvaluateNewWindow method is being called through a marshalled Component Object Model (COM) proxy from another thread. In this situation, the method should make a decision and return immediately without performing blocking operations such as showing modal user interface (UI). Lengthy operations will cause the calling thread to appear unresponsive. HRESULT constants 线条图 作者: Kingthy 日期: 2007-09-11 MSN: Kingthy@gmail.com 转载请注明原作者,当你有更新修改时如果方便的希望能发一份给我.谢谢 画值 画布 X轴数据 走势图 作者: Kingthy 日期: 2007-09-11 MSN: Kingthy@gmail.com 转载请注明原作者,当你有更新修改时如果方便的希望能发一份给我.谢谢 初始化参数 返回或设置X轴间隔 标题 返回图片的宽度 返回或设置图片的高度 X轴的间距 Y轴的间距 标题的颜色 标题的字体 背景颜色 X轴的颜色 Y轴的颜色 返回X轴数据的最大值(供给Painter调用) 返回图片数据 画布 作图器 释放内容资源 获取X轴中的最大值 获取所有X轴列中的最大值 初始化图片 X轴的数据 画一条走势图 画多条走势图 作图器的基础类 作者: Kingthy 日期: 2007-09-11 MSN: Kingthy@gmail.com 转载请注明原作者,当你有更新修改时如果方便的希望能发一份给我.谢谢 返回此作图器的相关链走势图 获取某值在Y轴上的位置 当前点的值 点坐标 画XY轴线 画布 X轴的数据 画标题 画走势线 画布 X轴数据 方块图 作者: Kingthy 日期: 2007-09-11 MSN: Kingthy@gmail.com 转载请注明原作者,当你有更新修改时如果方便的希望能发一份给我.谢谢 画值 画布 X轴数据 走势图的X轴数据 作者: Kingthy 日期: 2007-09-11 MSN: Kingthy@gmail.com 转载请注明原作者,当你有更新修改时如果方便的希望能发一份给我.谢谢 标题 标题的颜色 标题的字体 值的颜色 值的字体 绘制颜色 值是否可见 克隆自身 定义X轴的数据集合 作者: Kingthy 日期: 2007-09-11 MSN: Kingthy@gmail.com 转载请注明原作者,当你有更新修改时如果方便的希望能发一份给我.谢谢 添加一批数据 轴的标题 添加一批数据 轴的标题 轴的值 重置轴的值 轴的值 克隆数据 获取颜色 颜色变化时激发 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.