0

私たちのプロジェクトでは、フォームを作成して次のように実行しました。

 Application.run(myform);

このフォームでは、OnPaintメソッドがオーバーライドされ、通常は問題がないように何かを描画する必要がありますが、次のようなメッセージボックスまたはフォームを表示するときにOnPaintが呼び出されることはありません。

 Messagebox.show("something");

また

 formA.showDialog();

したがって、ユーザーがメッセージボックスをドラッグすると、背景を再描画できないため、トラックが残ります。この問題を解決する理由と方法を知っている人はいますか?

4

1 に答える 1

-1

メソッドを呼び出すことで、フォームを再描画できますRefresh

var timer = new Timer();
timer.Interval = 1000;
timer.Tick += new EventHandler(timer_Tick);
timer.Start();

void timer_Tick(object sender, EventArgs e)
{
    Refresh();
}
于 2012-08-08T07:18:19.233 に答える