TreeView でNodeのテキスト表示幅を変更するには
OS: XP PRO
環境: VS.NET 2005
言語: VB
はじめまして。
TreeViewで選択されたNodeのフォントをRegularからBoldに変更した場合、Nodeの文字表示幅がRegularのままで
Boldにしたときに少し欠けてしまします。
TreeViewでデザイン時にBoldに設定してBold→Regular→Boldとした場合は、表示は欠けずに表示できます。
Nodeのテキスト表示幅が変更できればと考えましたが、何か方法が御座いましたら
ご教授願います。
回答では無いです。情報提供。
> TreeViewでデザイン時にBoldに設定してBold→Regular→Boldとした場合は、表示は欠けずに表示できます。
…なら、そちらを使えばいい気もしますが。。。
[VB.NET2003 Win2000]で現象は再現できませんでした。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.TreeView1.Nodes.Add("あああ")
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim NodeX As TreeNode
Dim FontX As Font
If Me.TreeView1.Nodes.Count = 0 Then Exit Sub
With Me.TreeView1.Nodes(0)
If .NodeFont Is Nothing Then
.NodeFont = .TreeView.Font
End If
If .NodeFont.Bold Then
FontX = New Font(.NodeFont, FontStyle.Regular)
Else
FontX = New Font(.NodeFont, FontStyle.Bold)
End If
.NodeFont = FontX
End With
End Sub
> Nodeのテキスト表示幅が変更できればと考えましたが
値を変更するのは難しいと思うので、Bounds で取れる値を
利用して自分でお絵描きするとか?
System.Drawing.Graphics クラスを調べてみるとか。
最後にスペースを入れると幅はその分広がります。
あまり好ましい方法ではないかもしれませんが・・・
ツイート | ![]() |