通过自定义绘制来实现 Alpha 混合
可以使用 自定义绘制事件 实现 Alpha 混合。 在这种方法中,需要接管特定的自定义绘制事件,以透明画刷绘制树状列表的元素。 这种方法是功能最强大的,因为可以仅对元素的一部分应用透明度,或者使用渐变画刷。
下面的示例代码接管了 TreeList.CustomDrawFooter 事件,使用线性渐变画刷绘制汇总脚注。 画刷的起始色和结束色都是透明的。
C# | ![]() |
---|---|
using System.Drawing.Drawing2D; using DevExpress.XtraTreeList; // ... private void treeList1_CustomDrawFooter(object sender, CustomDrawEventArgs e) { LinearGradientBrush footerBrush = new LinearGradientBrush(e.Bounds, Color.FromArgb(170, Color.Orange), Color.FromArgb(170, Color.DarkGreen), LinearGradientMode.Vertical); using(footerBrush) { e.Graphics.FillRectangle(footerBrush, e.Bounds); } e.Handled = true; } |
Visual Basic | ![]() |
---|---|
Imports System.Drawing.Drawing2D Imports DevExpress.XtraTreeList ' ... Private Sub TreeList1_CustomDrawFooter(ByVal sender As Object, ByVal e As CustomDrawEventArgs) _ Handles TreeList1.CustomDrawFooter Dim FooterBrush As New LinearGradientBrush(e.Bounds, Color.FromArgb(170, Color.Orange), _ Color.FromArgb(170, Color.DarkGreen), LinearGradientMode.Vertical) e.Graphics.FillRectangle(FooterBrush, e.Bounds) FooterBrush.Dispose() e.Handled = True End Sub |
下面的插图展示了运行结果。
