您的位置:首页 > 编程语言 > VB

vb.net treeview 鼠标点击节点时文字颜色,背景的改变

2017-03-29 21:20 2261 查看
首先将TreeView  的DrawMode改为OwnerDrawText,然后再DrawMode事件中写下如下语句:

 Private Sub treeView1_DrawNode(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DrawTreeNodeEventArgs) Handles treeView1.DrawNode

        Dim foreColor As Color

        Dim backColor As Color

        If (e.State And TreeNodeStates.Selected) <> 0 Then

            foreColor = Color.OrangeRed '鼠标点击节点时文字颜色

            backColor = Color.SkyBlue  '鼠标点击节点时背景颜色

        ElseIf (e.State And TreeNodeStates.Hot) <> 0 Then

            foreColor = Color.Green '鼠标经过时文字颜色

            backColor = Color.DarkSeaGreen   '鼠标经过时背景颜色

        Else

            foreColor = Me.treeView1.ForeColor

            backColor = Me.treeView1.BackColor

        End If

        e.Graphics.FillRectangle(New SolidBrush(backColor), New Rectangle(e.Bounds.Location, New Size(Me.treeView1.Width - e.Bounds.X, e.Bounds.Height)))

        e.Graphics.DrawString(e.Node.Text, Me.treeView1.Font, New SolidBrush(foreColor), e.Bounds)

    End Sub

值得注意的还有一点就是需要将 TreeView.HotTracking 属性设置成为True 否则鼠标的经过效果是不会出现的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: