Richtextboxにフォアグラウンド(バックグラウンドではない)のみを再描画させる方法を知っていますか。
メッセージなどを送信する必要がありますか?
ありがとう !
メソッドをオーバーライドできますOnPaintBackground
。
protected override void OnPaintBackground(PaintEventArgs pevent)
{
if (_I_need_to_paint_background) {
base.OnPaintBackground(pevent)
}
}
これは、元のRichTextBoxから独自の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
)。