DEV的TreeList添加ToolTip信息
文章转载自:DevExpress控件中文网 [http://www.devexpresscn.com/]
您可以使用ToolTipController控件,然后通过ToolTipController.GetActiveObjectInfo事件来设置ToolTip
关键代码:
private void toolTipController1_GetActiveObjectInfo(object sender, DevExpress.Utils.ToolTipControllerGetActiveObjectInfoEventArgs e) { if (e.SelectedControl is DevExpress.XtraTreeList.TreeList) { TreeList tree = (TreeList)e.SelectedControl; TreeListHitInfo hit = tree.CalcHitInfo(e.ControlMousePosition); if (hit.HitInfoType == HitInfoType.Cell) { object cellInfo = new TreeListCellToolTipInfo(hit.Node, hit.Column, null); string toolTip = string.Format("{0} (Column: {1}, Node ID: {2})", hit.Node[hit.Column], hit.Column.VisibleIndex, hit.Node.Id); e.Info = new DevExpress.Utils.ToolTipControlInfo(cellInfo, toolTip); } } }
本人树形列表只有一列值,树形数据为一级区域,二级子区域,三级设备,而提示信息只要三级设备提示连接状态
使用TreeList的节点的Tag值作为提示信息值,只在TreeList绑定值事件中添加三级设备的节点的tag值,并修改事件中部分代码
if (hit.HitInfoType == HitInfoType.Cell) { if (hit.Node.Tag == null) return; object cellInfo = new TreeListCellToolTipInfo(hit.Node, hit.Column, null); string toolTip = string.Format("{0}", hit.Node.Tag.ToString()); e.Info = new DevExpress.Utils.ToolTipControlInfo(cellInfo, toolTip); }
即可以使一二级节点不显示ToolTip,三级节点显示ToolTip