基本上我正在尝试找到一种方法来单击TreeView的某个区域并突出显示该区域。在选择另一个节点后,问题似乎总是不突出显示该区域。我一遍又一遍地玩弄和搜索......好吧......最后我问b / c我无法正常工作。我会显示我的代码但不是它只是一个令人讨厌的整合代码。有没有人有一个好的工作榜样?
仅澄清基础知识:
Private Sub TreeView1_AfterSelect(ByVal sender As Object, _
ByVal e As TreeViewEventArgs) _
Handles TreeView1.AfterSelect
'e.Node.BackColor = Color.Yellow
End Sub
我尝试通过循环遍历集合来使用多种方法来设置和取消选择。它似乎永远不会起作用!
答案 0 :(得分:1)
尝试将TreeView控件的DrawMode更改为OwnerDrawText
并使用此绘图代码:
Private Sub TreeView1_DrawNode(ByVal sender As Object, _
ByVal e As DrawTreeNodeEventArgs) _
Handles TreeView1.DrawNode
If (e.State And TreeNodeStates.Selected) <> 0 Then
e.Graphics.FillRectangle(Brushes.Yellow, e.Bounds)
TextRenderer.DrawText(e.Graphics, e.Node.Text, e.Node.NodeFont, e.Bounds, _
Color.Black, Color.Empty, _
TextFormatFlags.VerticalCenter)
Else
e.Graphics.FillRectangle(SystemBrushes.Window, e.Bounds)
TextRenderer.DrawText(e.Graphics, e.Node.Text, e.Node.NodeFont, e.Bounds, _
SystemColors.WindowText, Color.Empty, _
TextFormatFlags.VerticalCenter)
End If
End Sub
答案 1 :(得分:0)
在表单中的第一步,放置一个文本框,一个标签和三个horizontall滚动条 step2-下一步是设置每个控件的属性。
(上面给出的是控件,属性和设置) step3-这是最后一步。即编写代码。它非常简单。
Private Sub HScroll1_Change()(note:end of line1)
Text1.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value)(note:end of line2)
End Sub
Private Sub HScroll2_Change()(note:end of line1)
Text1.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value)(note:end of line2)
End Sub
Private Sub HScroll3_Change()(note:end of line1)
Text1.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value)(note:end of line2)
End Sub