TreeView でNodeのテキスト表示幅を変更するには


Dora  2006-11-07 20:56:05  No: 134004

TreeView でNodeのテキスト表示幅を変更するには

OS:  XP PRO
環境:  VS.NET 2005 
言語:  VB
 

はじめまして。
TreeViewで選択されたNodeのフォントをRegularからBoldに変更した場合、Nodeの文字表示幅がRegularのままで
Boldにしたときに少し欠けてしまします。
TreeViewでデザイン時にBoldに設定してBold→Regular→Boldとした場合は、表示は欠けずに表示できます。

Nodeのテキスト表示幅が変更できればと考えましたが、何か方法が御座いましたら
ご教授願います。


特攻隊長まるるう  2006-11-11 23:52:19  No: 134005

回答では無いです。情報提供。

> 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 クラスを調べてみるとか。


mmasayo  2007-04-26 20:10:45  No: 134006

最後にスペースを入れると幅はその分広がります。
あまり好ましい方法ではないかもしれませんが・・・


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加