0

色付きの長方形をペイントする単純なWinFormsアプリがあります。ただし、ウィンドウのサイズが変更されると、正しく更新されません。

ここに画像の説明を入力してください

すでにOnResizeを上書きしようとしました

protected override void OnResize(EventArgs e)
{
        repaintingMyStuffHere();
}
4

2 に答える 2

1

これを試して:

protected override void OnResize(EventArgs e)
{
     this.Invalidate();
     base.OnResize(e);
}

protected override void OnPaint(PaintEventArgs e) {
{
     base.OnPaint(e);
     repaintingMyStuffHere(e.Graphics);
}

それでも問題が解決しない場合は、次のコントロール スタイルを設定してみてください。

public MyClass() {
    this.SetStyle(ControlStyles.AllPaintingInWmPaint | 
                    ControlStyles.OptimizedDoubleBuffer | 
                    ControlStyles.ResizeRedraw | 
                    ControlStyles.UserPaint | 
                    ControlStyles.ResizeRedraw, 
                    true);
}

それでも問題が解決しない場合は、repaintingMyStuffHere メソッドを投稿してください。

于 2012-09-07T13:51:10.907 に答える