DevExpress实现自定义TreeListNode的Tooltip的方法

作者:shichen2014 时间:2022-08-19 05:39:47 

本文实例展示了DevExpress实现自定义TreeListNode的Tooltip的方法,具体方法如下所示:

主要功能代码如下:


/// <summary>
/// 为节点提供Tooltip
/// 说明:
/// 1.设置tree.ToolTipController属性
/// 2.ToolTipController的GetActiveObjectInfo事件中使用
/// 3.举例
/// tlLHData.CustomNodeTooltip(e, node =>
///{
///  string _cabId = node.GetKeyID();
///  CCabInfo _cabinfo = LHDBHelper.GetCabInfo(_cabId);
///  if (_cabinfo != null)
///  {
///    return string.Format("核对时间:{0}\r\n在线情况:{1}\r\n最后一次活跃时间:{2}\r\n",
///               _cabinfo.ChkDataTime,
///               _cabinfo.CtuOnlineStatus == 1 ? "在线" : "未上线",
///               _cabinfo.LastAliveTime);
///  }
///  return string.Empty;
///});
/// </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)
 {
TreeList _tree = (TreeList)e.SelectedControl;
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);
  }
}
 }
}

代码运行效果如下:

DevExpress实现自定义TreeListNode的Tooltip的方法

标签:DevExpress,TreeListNode,Tooltip
0
投稿

猜你喜欢

  • Java深入浅出理解快速排序以及优化方式

    2023-01-17 13:50:44
  • Android编程实现点击EditText之外的控件隐藏软键盘功能

    2022-08-07 02:06:08
  • Spring Boot中@ConditionalOnProperty的使用方法

    2021-11-27 09:07:33
  • C#对Word文档的创建、插入表格、设置样式等操作实例

    2021-10-24 23:13:46
  • Java 数组高频考点分析讲解

    2021-09-01 13:14:36
  • Java生成动态版验证码的方法实例

    2023-08-26 03:53:08
  • 一文带你快速了解java中的static关键词

    2022-06-03 16:03:58
  • Mybatis中的resultType和resultMap查询操作实例详解

    2022-02-24 17:05:42
  • C#探秘系列(一)——ToDictionary,ToLookup

    2023-04-19 09:16:15
  • c#高效比对大量图片的实例代码

    2022-04-27 07:21:18
  • C#通过链表实现队列的方法

    2023-06-19 15:14:17
  • Java 读写锁源码分析

    2021-08-31 01:48:54
  • 简单阐述一下Java集合的概要

    2023-08-23 19:49:45
  • 【Java IO流】字节流和字符流的实例讲解

    2023-08-08 20:45:58
  • SpringBoot拦截器的使用

    2023-04-27 23:27:27
  • Android中利用xml文件布局修改Helloworld程序

    2023-10-24 08:45:05
  • Java中switch的三种用法方式小结

    2023-11-24 03:40:21
  • C#读写INI文件的方法

    2023-12-08 15:31:10
  • C# Dynamic之:ExpandoObject,DynamicObject,DynamicMetaOb的应用(上)

    2022-11-02 06:21:42
  • C# 快速高效率复制对象(表达式树)

    2023-08-15 18:07:12
  • asp之家 软件编程 m.aspxhome.com