DevExpress TreeList树组件自定义TreeListNode的Tooltip的方法(自动消息提示)

  DevExpress TreeList树组件自定义TreeListNode的Tooltip的方法(自动消息提示)

DevExpress TreeList树组件自定义TreeListNode的Tooltip的方法(自动消息提示)


本文实例展示了DevExpress实现自定义TreeListNode的Tooltip的方法。


TreeListNode的Tooltip效果:


贴图图片-treelist节点提示


贴图图片-treelist节点提示1



解决方案:

1.设置treeList的ToolTipController属性,绑定toolTipController1。

2.实现toolTipController1的GetActiveObjectInfo事件。


toolTipController1 控件属性设置:


贴图图片-treelist节点提示2




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/S框架网|原创精神.创造价值.打造精品


扫一扫加作者微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务


版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
发表评论

评论内容
昵称:
关联文章

DevExpress TreeList组件定义TreeListNodeTooltip方法自动消息提示
Winform 快速初始化Dev TreeList控件数据
【原创】C# Dev用户定义组件,自动下拉弹框表格过滤数据组件ucMyLookUpEdit
创建TreeList及打开TreeListNode.Tag属性对应窗体
框架定义窗体UI,消息对话框UI界面
定义消息窗体
DevExpress TreeList 自动加载数据源并显示漂亮图标
解决方案:扩展按钮定义权限没有出现在权限给用户勾选
DevExpress GridControl组件EmbeddedNavigator属性添加用户定义按钮
使用ToolTipController自动提示GridView资料行内容
使用递归获取TreeList中所有勾选结点
GridControl/GridView 单元格值输入非法定义错误提示文本
C# 基于MessageBox类封装Msg类对话框,定义提问、错误、警告、提示4个通用方法
TreeListNode.HasAsParent详解
窗体定义功能按钮(InitButton/AddButton方法
详述IComparer,IComparable接口,实现定义方法比较对象大小并排序(C#)
VS2017打开vs解决方案提示自动升级DevExpress 17.x
Winform开发框架代码生成器 - 支持生成输入组件适应窗体(LayoutControl)
DevExpress表格打印预览及定义页眉页脚并绘制图片(C# Winform)
C/S结构快速开发框架使用DevExpress常用组件