【问题标题】:How do I highlight a certain word in a label?如何突出显示标签中的某个单词?
【发布时间】:2013-08-08 18:14:13
【问题描述】:

我一直在观看几个视频,我注意到您可以突出显示或设置它在 RichTextBox 中找到的每个单词的背景色,我尝试使用我正在使用的标签来执行此操作项目,但我不能使用 Label.Find 和 Label.SelectionBackColor 等。有没有办法可以在我的标签中搜索一个单词并突出显示它?

【问题讨论】:

  • 你在处理网络应用吗?
  • Windows 窗体中的标签(我认为您正在使用)不支持那种样式
  • 是否可以选择使用文本框并限制编辑和突出显示等控件,然后使用我找到的代码?
  • @DanielJones 看看我的回答,你完全可以做到的

标签: c# label highlight


【解决方案1】:

您不能在标签中使用两种不同的前景色/背景色。您可以将文本拆分为不同的标签,或者只使用富文本框。

【讨论】:

    【解决方案2】:

    这是一个解决方法,创建一个 RichTextBox 并将其用作标签。

    设置这些属性使其看起来像一个标签:

    richTextBox.ReadOnly = true;
    richTextBox.BorderStyle = BorderStyle.None;
    richTextBox.BackColor = SystemColors.Control; // or whatever your background color is
    

    解决方法以禁用用户选择:

    richTextBox.Enabled = false;
    richTextBox.SelectAll();
    richTextBox.SelectionColor = SystemColors.ControlText; // or whatever you want the default text color to be
    // you have to set the color or else it will be gray because of Enabled=false
    

    编辑:我刚刚尝试过,在 SelectAll();SelectionColor = SystemColors.ControlText 之后,任何更改或添加 Text 都会使其保持黑色(除非当前 SelectionStart 位于颜色不同的文本点

    【讨论】:

    • 我使用的标签不断更新新的文字,这是个问题吗?
    • 应该没问题,你是改文字还是加文字,还是两者兼而有之?
    • 我正在通过重写整个Label +新信息来添加文本,应该可以吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-19
    • 2015-01-12
    • 1970-01-01
    • 2010-11-13
    相关资源
    最近更新 更多