你知道如何强制 Richtextbox 只重绘它的前景(而不是背景)。
我应该发送消息或类似的东西吗?
谢谢 !
您可以覆盖该OnPaintBackground
方法。
protected override void OnPaintBackground(PaintEventArgs pevent)
{
if (_I_need_to_paint_background) {
base.OnPaintBackground(pevent)
}
}
当然,这意味着您必须从原始版本派生出自己的 RichTextBox
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
and OnPaint
)。