DevExpress TreeList树组件自定义TreeListNode的Tooltip的方法(自动消息提示)
![]() ![]() 本文实例展示了DevExpress实现自定义TreeListNode的Tooltip的方法。 TreeListNode的Tooltip效果: ![]() ![]() 解决方案: 1.设置treeList的ToolTipController属性,绑定toolTipController1。 2.实现toolTipController1的GetActiveObjectInfo事件。 toolTipController1 控件属性设置: ![]() C# Code: public static class TreeListExtension { /// </summary> /// <param name="tree">TreeList</param> /// <param name="e">ToolTipControllerGetActiveObjectInfoEventArgs</param> /// <param name="builderNodeTooltipHandler">委托</param> public static void CustomNodeTooltip(this TreeList tree, ToolTipControllerGetActiveObjectInfoEventArgs e, Func<TreeListNode, string> builderNodeTooltipHandler) { if (e.SelectedControl is DevExpress.XtraTreeList.TreeList) { TreeListHitInfo _hit = tree.CalcHitInfo(e.ControlMousePosition); if (_hit.HitInfoType == HitInfoType.Cell) { TreeListViewInfo _viewInfo = tree.ViewInfo; RowInfo _rowInfo = _viewInfo.GetRowInfoByPoint(e.ControlMousePosition); CellInfo _cellInfo = _rowInfo.Cells[_hit.Column.VisibleIndex] as CellInfo; EditHitInfo _editHitInfo = _cellInfo.EditorViewInfo.CalcHitInfo(e.ControlMousePosition); if (_editHitInfo.HitTest == EditHitTest.MaskBox) { string _toolTip = builderNodeTooltipHandler(_hit.Node); if (!string.IsNullOrEmpty(_toolTip)) e.Info = new ToolTipControlInfo(_cellInfo, _toolTip); } } } } } //来源:C/S框架网 | www.csframework.com | QQ:23404761 toolTipController1_GetActiveObjectInfo事件: C# Code: private void toolTipController1_GetActiveObjectInfo(object sender, ToolTipControllerGetActiveObjectInfoEventArgs e) { tlGroup4User.CustomNodeTooltip(e, node => { toolTipController1.ImageIndex = node.ImageIndex; NodeModel m = node.Tag as NodeModel; if (m.Type.ToUpper() == "GROUP") { return $"部门编号:{m.DataID}\r\n部门名称:{m.Text}"; } else { return $"员工编号:{m.DataID}\r\n员工姓名:{m.Text}"; } }); } //来源:C/S框架网 | www.csframework.com | QQ:23404761 ![]() 扫一扫加作者微信 ![]() ![]()
参考文档:
C#.Net组件开发 - 设计时使用自定义属性编辑器持久化对象 标签:C#.Net组件开发 - 属性窗体内显示自定义名称 标签:C#.Net组件开发 - 自定义设计器(ComponentDesigner) 标签:C#.Net组件开发 - 自定义设计器持久化对象的属性 标签:C#.Net组件开发 - 自定义属性编辑器持久化对象的属性 您的开发框架使用自定义表单技术吗? 没有自定义表单技术编程量大吗? 报表是自定义格式的?套上数据就行了? C#.Net组件开发(高级篇) - 自定义CollectionEditor编辑器 C#.Net组件开发(高级篇) - 使用自定义TypeConverter生成设计时代码 GridControl/GridView 单元格的值输入非法自定义错误提示文本 C# GridView 自定义单元格的背景色 DevExpress表格打印预览及自定义页眉页脚并绘制图片(C# Winform) 【原创】C# Dev用户自定义组件,自动下拉弹框表格过滤数据组件ucMyLookUpEdit DevExpress GridControl组件的EmbeddedNavigator属性添加用户自定义按钮
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |