多种颜色在C#.NET标签

<p>我在寻找一种方式,一个C#/。NET的标签,以显示多种颜色。例如标签是显示一系列的CSV分隔值,每个取这取决于他们陷入水桶的颜色。我宁愿不使用多个标签,因为值是可变长度的,我不希望与动态布局玩。是否有这样的原生支持? P&gt;
</p>

108 浏览 1 回复
  gt   一个   标签   控件   颜色  

回复

    <p>有在.NET中,这是否没有原生的控制。最好的办法是写自己的用户控件(称之为RainbowLabel或东西)。通常你会直接有一个自定义标签控件继承标签,但因为你不能在一个标签获得多种颜色的文字,你刚刚从用户控件继承。 P&gt; </p><p>有关渲染文本,你的用户控件可以在逗号分割的文本,然后动态加载每个块不同颜色的标签。更好的方法,但是,这是直接使用图形命名空间中的束带和MeasureString方法呈现文本到您的用户控件。 P&gt; </p><p>在.NET编写用户控件是真的不困难,而这种不寻常的问题,正是定制用户控件是。 P&gt; </p><p> <strong>更新 STRONG&gt;:这里是你可以使用上呈现一个PictureBox多彩色文本的简单方法: P&gt;<p>显然,这将打破,如果你在你的文字超过4逗号分隔的元素,但你的想法。此外,还有似乎是MeasureString一个小故障,使得它返回一个宽度比必要更宽的一对夫妇的像素,因此显示了多色串出现伸出 - 你可能需要调整的部分。 P&gt; </p><p>应该是直接修改此代码对用户控件。 P&gt; </p><p> <strong>注意 STRONG&gt;:TextRenderer是一个更好的类用于绘图和测量字符串,因为它使用整数。 Graphics.DrawString和.MeasureString使用花车,所以你会在这里和那里下车,按一个像素的错误。 P&gt; <p> <strong>更新 STRONG&gt;:<em>忘记 em&gt;的有关使用TextRenderer。这是狗缓慢。 P&gt; <p>您可以尝试使用一个RichTextBox,这样你可以得到多种颜色的字符串,然后使其只读和删除边框。背景颜色更改为相同的形式,它是,你可能逃脱它。 P&gt;
    </p></em></strong></p></strong></p></strong></p>

    郝强

相关提问


友情链接: