パネルに線を引き、マウスの動きに合わせて線を動かしたい。そのためには、線を描画し、マウスを動かしたときに線を新しい場所に再描画し、背景色の線を描画して前の線を削除します。高品質のスムージングモードを使用しない場合は正常に機能します。ただし、高品質のスムージングモードを使用すると、パネルに痕跡が残ります。誰かがこれを修正する方法を知っていますか?ありがとうございました。これがコードです
int x_previous = 0;
int y_previous = 0;
private void panel1_MouseMove(object sender, MouseEventArgs e)
{
Pen pen1 = new System.Drawing.Pen(Color.Black, 3);
Pen pen2 = new System.Drawing.Pen(panel1.BackColor, 3);
Graphics g = panel1.CreateGraphics();
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
g.DrawLine(pen2, new Point(0, 0), new Point(x_previous, y_previous));
g.DrawLine(pen1, new Point(0, 0), new Point(e.Location.X, e.Location.Y));
x_previous = e.Location.X;
y_previous = e.Location.Y;
}
これがSmoothingModeのスナップショットです
これがSmoothingModeなしのスナップショットです