我需要将一个星形插入一个字符串,该字符串将被指定为TreeNode
的文本。这可能吗?
每个TreeNode
都有不同的级别,可以通过这些星标注释。有些节点有一颗星,有些有两颗,有些没有星。星号将始终出现在文本字符串的末尾。例如:
SU450**
答案 0 :(得分:6)
您必须使用包含要显示的字符的Font
。
大多数情况下,Arial Unicode MS
都可以使用。
void Main()
{
var w = new Form();
var t = new TreeView();
w.Controls.Add(t);
t.Dock=DockStyle.Fill;
var star = "\u2605";
t.Nodes.Add("good: " + star);
t.Nodes.Add("great: "+ star + star + star);
t.Font=new System.Drawing.Font("Arial Unicode MS", 13f);
w.Show();
}
答案 1 :(得分:4)
您无法在字符串中插入形状,但可以选择多种unicode字符。
Black star U + 2605,看起来像个好人。
如果您的字体具有正确的字符表示,那么您将很幸运。
这是一个列表here on wikipedia
范围从U + 2721到U + 2743,它提供了 star 的许多变体。
★, ✡, ✢, ✣, ✣, ✤, ✥, ✦, ✧, ✨, ✩, ✪, ✫, ✬, ✭, ✮, ✯, ✰, ✱, ✲
希望这些例子是正确的,我的字体doesen没有代表它们。
答案 2 :(得分:3)
这个角色有什么好处吗? (Unicode字符066D)
٭
或,您可以创建自己的树节点类(继承自System.Windows.Forms.TreeNode
)并覆盖OnPaint
方法。然后你可以画出你需要的任何东西。
或,将icon of the TreeNode设置为您自己绘制的星形图标或从famfamfam等地方获取。