强制富文本框仅重绘其前景
本文关键字:文本 | 更新日期: 2023-09-27 18:31:33
你知道如何强制富文本框只重绘它的前景(而不是背景)吗?
我应该发送消息或类似的东西吗?
谢谢!
您可以重写 OnPaintBackground
方法。
protected override void OnPaintBackground(PaintEventArgs pevent)
{
if (_I_need_to_paint_background) {
base.OnPaintBackground(pevent)
}
}
原因这意味着您必须从原始来源派生自己的富文本框
public class MyRichTextBox : RichTextBox
{
...
protected override void OnPaintBackground(PaintEventArgs pevent)
{
// Your background painting logic goes here
}
protected override void OnPaint(PaintEventArgs e)
{
// Your foreground painting logic goes here
}
}
使用控件的Invalidate
方法,可以告诉控件它们应该重绘自己。Refresh
方法使控件无效,并告诉它立即重绘自身(使用 OnPaintBackground
和 OnPaint
)。