0

四角形を描画する次のペイント イベント (フォーム) があります。

void LogicSimulationViewerForm_Paint(object sender, PaintEventArgs e) {
    Rectangle rect = new Rectangle(100, 100, 400, 100);
    Graphics c = rtbLogicCode.CreateGraphics();
    c.DrawRectangle(new Pen(Color.Black, 3), rect);
}

長方形が一瞬表示された後、すぐに消えます。四角形は、ユーザーがフォームのサイズを変更したときに一時的に表示されるだけです。

この問題を解決するにはどうすればよいですか?

4

1 に答える 1

6

Control.CreateGraphics()メソッドを使用しないで、 PaintEventArgs.Graphicsプロパティを使用します。

void LogicSimulationViewerForm_Paint(object sender, PaintEventArgs e) {
    Rectangle rect = new Rectangle(100, 100, 400, 100);
    e.Graphics.DrawRectangle(Pens.Black, rect);
}
于 2012-06-28T05:51:04.310 に答える