【问题标题】:Insert a filled star into the text of a WinForms 'TreeNode'在 WinForms 'TreeNode' 的文本中插入一个实心星
【发布时间】:2012-08-29 01:46:55
【问题描述】:

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

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

SU450**

【问题讨论】:

  • 您能重述您的问题吗?星星的文字表示是什么?你的意思是?告诉更多你想要做什么。
  • 我相信 OP 是在寻找一个星形字符。
  • 你的意思是像 ★ 这样的 unicode 字符? Windows 有一个查找字符并复制它们的工具。

标签: c# .net winforms graphics treenode


【解决方案1】:

您无法将形状插入字符串,但有多种 unicode 字符可供选择。

Black starU+2605,看起来不错。

如果您的字体具有正确的字符表示,那么您会很幸运。


这是一个列表here on wikipedia

从 U+2721 到 U+2743 的范围提供了许多关于 star 的变化。


★, ✡, ✢, ✣, ✣, ✤, ✥, ✦, ✧, ✨, ✩, ✪, ✫, ✬, ✭, ✮, ✯, ✰, ✱, ✲  

希望这些例子是正确的,我的字体没有它们的代表。

【讨论】:

  • 在维基百科上,另见Miscellaneous Symbols黑星 (U+2605) 是这个 Unicode 块的一部分。
【解决方案2】:

这个角色好用吗? (Unicode 字符 066D)

٭

或者,您可以创建自己的树节点类(继承自System.Windows.Forms.TreeNode)并覆盖OnPaint 方法。然后你可以画任何你需要的东西。

或者,将icon of the TreeNode 设置为您自己绘制或从famfamfam 之类的某个地方获得的星形图标。

【讨论】:

  • 嗨,Richard.. 只是试图覆盖 paint 方法,但它没有触发。你对此有什么想法吗?
  • 你想画一个星形图标吗?
  • @Sunil - 你浏览过我链接到的OnPaint MSDN 页面上的示例吗?值得花一些时间来了解该机制的工作原理。
【解决方案3】:

您必须使用包含您要显示的字符的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();
}

【讨论】:

  • @Sunil 是的,.net 中的所有字符串都是 unicode。您只需确保使用可以显示字符的字体。最好使用“Arial Unicode MS”字体,因为它包含几乎所有的 unicode 字符并且可以广泛使用(它是 Word 的一部分,或者只是随您的软件一起提供)。
  • 根据 wikipedia en.wikipedia.org/wiki/Arial_Unicode_MS'Arial Unicode MS' 涵盖所有 unicode 2.1,或大约 38,917 个字符。然而,根据这个答案stackoverflow.com/a/5928054/659190unicode 6.0 有 109,384 个字符的代码点。因此,虽然我认为“Arial Unicode MS”的覆盖范围足以满足大多数人的需求,但我不会说它几乎覆盖了所有字符。
  • @Jodrell 是的,你可能是对的。我应该不敢查看德语维基百科,它说“Arial Unicode MS”涵盖了大部分 unicode 字符:-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-12
  • 2019-01-21
  • 2010-10-11
相关资源
最近更新 更多