解决TreeView的节点更改NodeFont后无法完全显示节点名的问题
今天做树视图显示数据的时候,准备把树视图中第一级节点设成小四号粗体,第二级节点设成五号字体。
在代码中更改Node的字体字号以后,发现节点名的后半部分显示不出来
node.NodeFont = new Font("宋体", 12,FontStyle.Bold);
开始以为是什么属性设置的不对,后来改了半天也没弄出个所以然;又在网上草草看了一些网友的日志也没有找到明确的说法;
后来还是在msdn(http://msdn.microsoft.com/zh-cn/library/ie/system.windows.forms.treenode.nodefont)上看到了这样一句话,才解开了心中的疑团:
如果节点字体大于在 TreeView 控件中设置的 Font 属性值,则将剪裁树节点标签文本。
原来我的TreeView中默认的是五号宋体(10.5磅),而代码中改成了12磅的粗体,所以节点标签文本被裁剪掉了。
把TreeView中默认的字体设为12磅粗体,第二级节点字号在代码中改为10.5磅常规字体,通过!