0

DrawImageUnscaled を使用すると、私のプログラムはパロボラまたは線を描画します ...

プログラムが描画した後にタブを押すと、画像がクリアされたパネルが表示されます..

ox と oy の軸には ? を使用します。そして彼らも消えます...

System.Drawing.Pen linepen;
linepen = new System.Drawing.Pen(System.Drawing.Color.Green);

System.Drawing.Graphics g = drawingboard.CreateGraphics();

g.DrawLine(linepen, 0, drawingboard.Height / 2, drawingboard.Width, drawingboard.Height / 2);
g.DrawLine(linepen, drawingboard.Width / 2, 0, drawingboard.Width / 2, drawingboard.Height);
timer1.Enabled = false;

どうすればこれを修正できますか?

4

1 に答える 1

0

通常、DOT.NET では、ユーザーに表示させたいものをランダムな場所に描画するだけではありません。代わりに、各パネル (およびコントロール) には、コントロール自体が表示されるときに呼び出される OnPaint 関数があります。この関数を変更して、新しい線を描画します。

.NET を使用していると、アプリケーションで特定のイベント (サイズ変更など) が発生したときに、この関数が複数回呼び出されることに気付くでしょう。これにより、プログラマは、ウィンドウのサイズが変更されたときに表示される内容を変更できます。

上記のコードをコントロールの OnPaint 関数に追加すると、はるかにうまく機能するはずです。

ox と oy の意味がよくわかりません。コードがないようです。

于 2013-03-07T18:44:23.970 に答える