【问题标题】:Remove richtextbox SelectionBackColor [duplicate]删除richtextbox SelectionBackColor [重复]
【发布时间】:2016-04-28 21:47:35
【问题描述】:

如何将富文本框的SelectionBackColor 更改为“无颜色”?

我试过这些:

Color.FromArgb(0, 255, 255, 255);
Color.Empty;
Color.White;
Color.Transparent;

但它们都返回相同的结果:Color.White !!!

更多描述,把richtextbox的背景色改成粉红色,然后把SelectionBackColor改成红色,现在试着去掉SelectionBackColor,你会看到颜色是白色的。请注意,在此示例中将 SelectionBackColor 更改为粉红色是不正确的 :D !!!

【问题讨论】:

  • 这里不会发生。你能分享更多细节吗?您指的是选定文本的文本颜色吗?
  • 我解释的很完整,请新建一个c#winform项目,添加一个richtextbox,把它的背景色改成粉红色(只是为了测试选中的文本背景色)。现在添加一个按钮,并写下这一行:richTextBox1.SelectionBackColor = Color.Red;和带有此代码的第二个按钮:richTextBox1.SelectionBackColor = Color.Transparent;运行代码并输入一些内容,选择一个单词并按 btn1 然后 btn2 所有文本应该具有相同的背景色,但是您会看到所选单词具有白色背景色
  • 我尝试了microsoft office word来测试它,在突出显示子菜单中,有一个名为“No Color”的按钮,它工作得很好!!!我想要这个按钮:D
  • 您的意思是将字体颜色设置为默认值。那么默认颜色是黑色。请详细说明。
  • 虽然时间过去了,对我来说已经没有用了,但是谢谢,这应该是正确的答案。我希望它会被其他人使用。谢谢

标签: c# winforms richtextbox


【解决方案1】:

我需要澄清一下您所说的“没有颜色”是什么意思。 你是说透明吗?

您可以将 SelectionBackColor 设置回默认颜色: http://msdn.microsoft.com/en-us/library/system.windows.forms.control.defaultbackcolor(v=vs.110).aspx

http://msdn.microsoft.com/en-us/library/system.windows.forms.richtextbox.selectionbackcolor(v=vs.110).aspx

【讨论】:

  • 我试过richTextBox1.SelectionBackColor = DefaultBackColor,它是“控制”颜色,类似于灰色(255,240,240,240),而不是“无颜色”
【解决方案2】:

这不是魔法

richTextBox1.SelectionBackColor = richTextBox1.BackColor;

变态

【讨论】:

  • 就像我说的问题,我在sql中保存rtf,不知道richtextbox的颜色会是什么!
  • @TYeeTY 你说添加一个richtextbox,把它的背景色改成粉红色...,sql 有什么用。你不需要知道代码richTextBox1.BackColor的颜色
  • 那只是为了测试:(((如果richtextbox背景颜色是白色的,你看不到会发生什么。再举个例子,在你的代码复制并粘贴你的文本到office word之后,你会看到它有高亮颜色!
  • @TYeeTY 现在你说的是新东西。 究竟你想做什么?
  • 我的英语不好,对不起,我只想完全删除richtextbox中所选文本的背景色
【解决方案3】:

我也遇到了同样的问题,最后我用了那个代码:

richTextBox.Text = richTextBox.Text.Replace(richTextBox.SelectedText, richTextBox.SelectedText);

这适用于背景,但也会删除所有其他格式(下划线、粗体等)

【讨论】:

    【解决方案4】:

    可能有点晚了,但我注意到如果你写了

    this.richTextBox.SelectedText = "\r";
    

    RTF 会丢失以下文本的所有格式,包括 SelectionBackColor。

    例如

    this.richTextBox.SelectionBackColor = Color.Yellow;
    this.richTextBox.SelectedText = "the damn yellow backcolor is set";
    this.richTextBox.SelectedText = "\r";
    this.richTextBox.SelectedText = "now i have transparent backcolor again and the default text";
    

    【讨论】:

      猜你喜欢
      • 2012-08-21
      • 1970-01-01
      • 1970-01-01
      • 2013-08-12
      • 2017-07-09
      • 2012-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多