DevExpress设置FocusedNode背景色的方法

本文实例讲述了DevExpress设置FocusedNode背景色的方法,很实用的功能,具体实现方法如下:

主要功能代码如下:

/// <summary>
/// 设置FocusedNode的背景色
/// 说明:
/// 在CustomDrawNodeCell事件中使用
/// 示例:
/// _curTree.SetFocusedNodeBackColor(Color.Green, Color.PeachPuff, Color.Black, e);
/// </summary>
/// <param name="tree">TreeList</param>
/// <param name="backColor1">起始背景颜色</param>
/// <param name="backColor2">结束背景颜色</param>
/// <param name="foreBrush">字体颜色</param>
/// <param name="e">CustomDrawNodeCellEventArgs</param>
public static void SetFocusedNodeBackColor(this TreeList tree, Color backColor1, Color backColor2, Color foreBrush, CustomDrawNodeCellEventArgs e)
{
  if (e.Node == tree.FocusedNode)
  {
 Brush _backBrush, _foreBrush;
 _backBrush = new LinearGradientBrush(e.Bounds, backColor1, backColor2, LinearGradientMode.Horizontal);
 _foreBrush = new SolidBrush(foreBrush);
 e.Graphics.FillRectangle(_backBrush, e.Bounds);
 e.Graphics.DrawString(e.CellText, e.Appearance.Font, _foreBrush, e.Bounds, e.Appearance.GetStringFormat());
 e.Handled = true;
  }
}

代码使用:

private void tlLHData_CustomDrawNodeCell(object sender, CustomDrawNodeCellEventArgs e)
{
  TreeList _curTree = sender as TreeList;
  _curTree.SetFocusedNodeBackColor(Color.Orange, Color.PeachPuff, Color.Black, e);
}

运行效果如下: