C# Winforms:TextRichTextBox文本的颜色在获取焦点后变为透明

C# Winforms:TextRichTextBox文本的颜色在获取焦点后变为透明,c#,winforms,richtextbox,C#,Winforms,Richtextbox,我实现了一个动态RichTextBox(它可以根据内容增加其宽度)。但当我之前输入一些文本并双击它以更改文本中的字符串时,文本将变为透明 从我开始添加文本的那一刻起,字符再次可见 双击后,我只需执行以下操作: myAnnotationTextBox.Show(); myAnnotationTextBox.Focus(); 我的自定义RichTextBox的代码: public class AlphaBlendTextBox : RichTextBox { private const i

我实现了一个
动态RichTextBox
(它可以根据内容增加其宽度)。但当我之前输入一些文本并双击它以更改文本中的字符串时,文本将变为透明

从我开始添加文本的那一刻起,字符再次可见

双击后,我只需执行以下操作:

myAnnotationTextBox.Show();
myAnnotationTextBox.Focus();
我的自定义RichTextBox的代码:

public class AlphaBlendTextBox : RichTextBox
{
    private const int _initialWidth = 100;

    public AlphaBlendTextBox(Font textBoxFont, Color theCurrentForeColor)
    {
        this.Font = textBoxFont;
        this.ForeColor = theCurrentForeColor;
        this.BackColor = Color.White;
        this.AutoSize = false;
        this.WordWrap = false;
        this.Multiline = true;
        this.Height = textBoxFont.Height;
        this.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.None;
        this.BorderStyle = BorderStyle.None;
        this.HideSelection = false;
    }

    protected override void OnContentsResized(ContentsResizedEventArgs e)
    {
        base.OnContentsResized(e);

        if (String.IsNullOrEmpty(Text))
        {
            Width = _initialWidth;
        }
        else
        {
            Width = e.NewRectangle.Width;
            Height = e.NewRectangle.Height;
        }
    }

}

你为什么叫它“AlphaBlendTextBox”?透明度和各种文本框不在一起,真的..你发布的代码对我们来说并没有重复问题。好的,谢谢你让我知道,我认为它与selectioncolor或其他有关