TreeViewのノード選択時のハイライト表示を変更したい への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 バーガー  (社会人)
投稿日時
2012/1/29 22:30:29
フォーム上にTreeViewを配置してツリー表示を行っていて、
ノード選択時にハイライト表示になる時の文字色・背景色を変更したいのですが、
TreeNodeにはハイライト時の文字色・背景色のプロパティがないため、
何らかの方法でノード選択時のハイライト表示の変更方法があれば、
ぜひとも教えて頂きたいです。
まずは、ノード選択時も非選択時と同じ文字色・背景色にしたいです。
VBのバージョンは2008です。
ノード選択時にハイライト表示になる時の文字色・背景色を変更したいのですが、
TreeNodeにはハイライト時の文字色・背景色のプロパティがないため、
何らかの方法でノード選択時のハイライト表示の変更方法があれば、
ぜひとも教えて頂きたいです。
まずは、ノード選択時も非選択時と同じ文字色・背景色にしたいです。
VBのバージョンは2008です。
DrawMode = OwnerDrawAll
Private Sub TreeView1_DrawNode(sender As Object, e As System.Windows.Forms.DrawTreeNodeEventArgs) Handles TreeView1.DrawNode
Dim g = e.Graphics
Dim bnd = e.Bounds
g.FillRectangle(Brushes.Cyan, bnd)
g.DrawString(e.Node.Text, TreeView1.Font, Brushes.DarkBlue, New Point(bnd.X + e.Node.Level * TreeView1.Indent, bnd.Y))
End Sub
上記はとりあえず描画出来る程度です。文字幅に合わせた背景塗りとか+の表示など他にも描画が
必要です。用途に合わせその他のものも描画すると良いと思います。