我在我的通知应用程序中使用了一个树视图。当我加载具有大量文本的节点时,文本被切成12个字符。我如何防止这种情况发生?
正在使用的字体: Microsoft Sans Serif,12pt,style = Bold
我尝试过使用普通字体而没有运气。
这是我的代码(我用另一个类重写了treenode):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
namespace Repetrel
{
public class ActionObjectTreeNode: TreeNode
{
public string fileName = null;
private ActionObject actionObject = new ActionObject();
public string Text {
get { return base.Text; }
set {
if (value.Equals(base.Text) == false && base.Text!="")
{
Trace.WriteLine("error detected");
}
base.Text = value;
}
}
public ActionObject ACTIONOBJECT
{
get
{
return actionObject;
}
set
{
actionObject = value;
if (value == null && TREENODETYPE != TreeNodeType.Project) {
System.Diagnostics.Trace.WriteLine("null assigned to actionobject");
}
}
}
public TreeNodeType TREENODETYPE { get; set; }
public TreeNodeType LOCKEDNODETYPE { get; set; }
public DrillActionGroup ACTIONPROPERTIES { get; set; }
public ActionObjectTreeNode()
{
}
public ActionObjectTreeNode(string text)
{
this.Text = text;
}
public ActionObjectTreeNode(ActionObject actionObject)
{
if (actionObject != null)
{
this.Text = actionObject.TEXT;
this.ACTIONOBJECT = actionObject;
}
}
public bool guidMatch(string _guid)
{
return ACTIONOBJECT.getGuid().Equals(_guid);
}
}
}
答案 0 :(得分:2)
将树形视图的 font size属性值设置为高于以编程方式设置的 font size。
答案 1 :(得分:1)
当您以编程方式将节点的Font属性设置为Bold值时,可能会截断节点的文本。
在以编程方式将节点的Font属性设置为Bold值之后,需要在文本中添加一个空字符串。
例如:
treeView1.Nodes[0].NodeFont = new System.Drawing.Font("Microsoft Sans Serif", 12pt, System.Drawing.FontStyle.Bold);
treeView1.Nodes[0].Text += string.Empty;
答案 2 :(得分:0)
显然我正在裁剪树视图中的文本。问题解决了。谢谢你的帮助!