我设法制作了一个自定义控件,允许RichTextBox背景显示透明,它几乎完美无缺,但唯一的是,当Rich Text框刷新时,所有内容都会闪烁/闪烁。每当我输入一个字母时,我的所有表格都会刷新,文字会闪烁,也会形成背景图片。
除了使用
之外,还有其他方法可以更新/刷新文本MyBase.Parent.Refresh()
这是我的代码:
Class TransparentRichTextBox
Inherits RichTextBox
Public Sub New()
MyBase.ScrollBars = RichTextBoxScrollBars.None
End Sub
Protected Overloads Overrides ReadOnly Property CreateParams() As CreateParams
Get
Dim cp As CreateParams = MyBase.CreateParams
cp.ExStyle = cp.ExStyle Or &H20
Return cp
End Get
End Property
Protected Overloads Overrides Sub OnPaintBackground(ByVal e As PaintEventArgs)
End Sub
Protected Overrides Sub OnTextChanged(ByVal e As System.EventArgs)
MyBase.OnTextChanged(e)
MyBase.Parent.Refresh()
End Sub
End Class
感谢。