将填充的星形插入WinForms'TreeNode'的文本中

时间:2012-09-04 11:45:11

标签: c# .net winforms graphics treenode

我需要将一个星形插入一个字符串,该字符串将被指定为TreeNode的文本。这可能吗?

每个TreeNode都有不同的级别,可以通过这些星标注释。有些节点有一颗星,有些有两颗,有些没有星。星号将始终出现在文本字符串的末尾。例如:

SU450**

3 个答案:

答案 0 :(得分:6)

您必须使用包含要显示的字符的Font

大多数情况下,Arial Unicode MS都可以使用。

以下是使用'BLACK STAR' (U+2605)

的示例
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();
}

enter image description here

答案 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等地方获取。