リッチテキストボックスにフォアグラウンド(バックグラウンドではない)だけを強制的に再描画させる方法を知っていますか?強制的にリッチテキストボックスにフォアグラウンドのみを再描画する
メッセージなどを送信する必要がありますか?
ありがとうございます!
リッチテキストボックスにフォアグラウンド(バックグラウンドではない)だけを強制的に再描画させる方法を知っていますか?強制的にリッチテキストボックスにフォアグラウンドのみを再描画する
メッセージなどを送信する必要がありますか?
ありがとうございます!
OnPaintBackground
メソッドを無効にすることができます。原因
protected override void OnPaintBackground(PaintEventArgs pevent)
{
if (_I_need_to_paint_background) {
base.OnPaintBackground(pevent)
}
}
これはあなたが自分自身を再描画する必要があることをコントロールに伝えることができ、コントロールのInvalidate
方法では、元
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
}
}
を形成する独自のリッチテキストボックスを導き出すために持っていることを意味します。 Refresh
メソッドは、コントロールを無効にし、すぐに自身を再描画するように指示します(OnPaintBackground
およびOnPaint
を使用)。
問題は私が背景を描画し、その上にもう一度前景を描くことを強制することです。 – alexandertr
あなた自身の背景描画ロジックを 'OnPaintBackground'で実装するか、それを 'OnPaint'で描画します。そして、あなたの前景描画ロジックは 'OnPaint'に行きます。あなたの絵を常にそこに置いてください。 'Invalidate'を呼び出して、再描画をトリガーすることができます。 –
私の編集した回答をご覧ください。 –
試しましたか? –