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

 更新时间:2014年08月06日 17:41:39   投稿:shichen2014  
这篇文章主要介绍了DevExpress实现自定义TreeListNode的Tooltip的方法,需要的朋友可以参考下

本文实例展示了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);
   }
 }
  }
}

代码运行效果如下:

相关文章

  • WPF调用Matlab函数的方法

    WPF调用Matlab函数的方法

    这篇文章主要为大家详细介绍了WPF调用Matlab函数的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • C#实现简单的天气预报示例代码

    C#实现简单的天气预报示例代码

    这篇文章主要介绍了C#实现简单的天气预报示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • C#内插字符串的简单使用

    C#内插字符串的简单使用

    这篇文章主要为大家详细介绍了C#内插字符串的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • C#实现温度转换功能

    C#实现温度转换功能

    这篇文章主要为大家详细介绍了C#实现温度转换功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • WCF实现进程间管道通信Demo分享

    WCF实现进程间管道通信Demo分享

    下面小编就为大家分享一篇WCF实现进程间管道通信Demo,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • C# 系统热键注册实现代码

    C# 系统热键注册实现代码

    简单点说就是为程序制定快捷键勒。。很多软件都带热键功能的,通过以下方式可以实现2个键或3个键的快捷键,相当之使用,具体实现方法看后文吧。
    2009-02-02
  • C#实现异步日志记录类的示例代码

    C#实现异步日志记录类的示例代码

    这篇文章主要为大家详细介绍了C#如何实现异步日志记录类,从而方便下次使用,不用重复造轮子,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下
    2023-11-11
  • C#中Span相关的性能优化建议

    C#中Span相关的性能优化建议

    Span 是C#7.2引入的一种新类型,在.NET Core 2.1运行时中受支持,Span 提供对内存连续区域的类型安全访问,这篇文章主要给大家介绍了关于C#中Span相关的一些性能优化建议,需要的朋友可以参考下
    2021-08-08
  • C#圆角窗体简单实现方法

    C#圆角窗体简单实现方法

    这篇文章主要介绍了C#圆角窗体简单实现方法,涉及C#窗体设置的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • C#针对xml基本操作及保存配置文件应用实例

    C#针对xml基本操作及保存配置文件应用实例

    这篇文章主要介绍了C#针对xml基本操作及保存配置文件应用实例,包括了针对XML文件的定义、初始化、创建、以及增删改查等基础操作,并配有详细的实例加以说明,需要的朋友可以参考下
    2014-10-10

最新评论