如何在c#中的文本标签中使用两种颜色


我有一个带有文本的标签: 项目 …..在本文中,我需要一种颜色的专业版和另一种颜色的注射

解决方案1

标签中只能有一种颜色。
作为一种简单的解决方法,您可以使用两个标签(具有不同的字体颜色)来执行此操作。

更复杂的解决方案是构建您自己的用户控件。

解决方案4

一旦我必须创建一个“渐变”标签…这是代码(在 Winforms 中工作)

public partial class GradientLabel : Label {

public LabelEx() {
    InitializeComponent();
}

protected override void OnPaint(PaintEventArgs e) {
    Font font = new Font("Tahoma", 48f, FontStyle.Bold);
    LinearGradientBrush brush = new LinearGradientBrush(new Rectangle(0, 0, Width, Height + 5), Color.Gold, Color.Black, LinearGradientMode.Vertical);
    e.Graphics.DrawString(Text, font, brush, 0, 0);
}

}

这并不完全是“两种颜色”,但可能会引导您找到解决方案。

解决方案8

一个解决方法。 创建一个带有一些文本的底部“按钮”,然后继续用包含一些不同颜色的字符的按钮覆盖它, 透明的 背景,覆盖底部的“按钮”。 我使用“按钮”,因为它们都是虚拟的按钮形状的对象。 只有顶层项目才是真正的“按钮”,这实际上相当于它有一个 onclick 事件。

顺便说一句,这非常实用,因为它用于某些类型的网络钓鱼诈骗 – 将真实的网站数据与接受输入的透明控件覆盖,将其发送回诈骗者,然后报告错误(转到重新进入的真实页面),甚至当不可见层消失时将文本输入到真实屏幕中。

解决方案9

我建议您使用 RichTextBox,它是一个标准组件,可以通过将 readonly 设置为 true 并使用 HideCaret 来用作标签(请参见此处: https://stackoverflow.com/questions/582312/how-to-hide-the-caret-in-a-richtextbox[^] 例如)

解决方案2

尝试将文本属性设置为 html 文本,例如

lbl.Text="<span style="color:Red;">Pro</span><span><span style="color:Green;">ject</span>";
</span>

来自 ASPX 表单的后端。

コメント

タイトルとURLをコピーしました