您的位置:首页 > Web前端 > CSS

WinForm------TreeList修改节点图标和按钮样式

2016-09-02 17:15 274 查看
转载:

https://documentation.devexpress.com/#WindowsForms/DevExpressXtraTreeListTreeList_CustomDrawNodeButtontopic


1.修改节点图标

(1)拖入TreeList控件(这里如何加载数据就不多说了哈)和ImageLIst控件

a.给ImageList添加图像



b.修改TreeList控件的属性



(2).在属性栏找到TreeList控件的CustomDrawNodeImages事件,并添加以下代码

private void treeList1_CustomDrawNodeImages(object sender, DevExpress.XtraTreeList.CustomDrawNodeImagesEventArgs e)
{
if (e.Node.Nodes.Count > 0)
{
if (e.Node.Expanded)
{
e.SelectImageIndex = 2;
return;
}
e.SelectImageIndex = 1;
}
else
{
e.SelectImageIndex = 0;
}
}


(3)完成

2.修改按钮样式

在TreeList控件属性栏找到CustomDrawNodeButton事件,并添加以下代码

private void treeList1_CustomDrawNodeButton(object sender, DevExpress.XtraTreeList.CustomDrawNodeButtonEventArgs e)
{
Rectangle rect = Rectangle.Inflate(e.Bounds, 0, -2);

// painting background
Brush backBrush = new LinearGradientBrush(rect, Color.Blue, Color.LightSkyBlue,
LinearGradientMode.ForwardDiagonal);

//填充指定矩形内部
e.Graphics.FillRectangle(backBrush, rect);

//绘画3D边框
ControlPaint.DrawBorder3D(e.Graphics, rect, Border3DStyle.RaisedOuter);

//要显示的图画
string displayCharacter = e.Expanded ? "-" : "+";

//水平,垂直居中
StringFormat outCharacterFormat = new StringFormat();
outCharacterFormat.Alignment = StringAlignment.Center;
outCharacterFormat.LineAlignment = StringAlignment.Center;

//绘画图标
e.Graphics.DrawString(displayCharacter, new Font("Verdana", 8, FontStyle.Bold),
new SolidBrush(Color.White), rect, outCharacterFormat);

// 禁止默认的图标显示
e.Handled = true;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: