描画されたグラフィックスアイテムを移動しようとしていますが、私は描画することができます。しかし、私はそれを移動しようとすると、それはちょうど元の上に別のアイテムを描画します。私は、InvalidateとpictureBox1.Invalidateを試みました。まだ幸運は両方の項目をpictureBoxに印刷するだけです。 ありがとうございます。C#問題を無効にする
private void button1_Click(object sender, EventArgs e)
{
count++;
button1.Text = "Move";
if (count == 1)
{
car();
}
else if (count == 2)
{
car1();
}
}
public void car()
{
Invalidate();
g = pictureBox1.CreateGraphics();
g.DrawEllipse(pen1, 50, 125, 30, 30);
g.DrawEllipse(pen1, 150, 125, 30, 30);
g.DrawRectangle(pen2, 45, 75, 140, 50);
g.DrawLine(pen2, 65, 75, 80, 35);
g.DrawLine(pen2, 80, 35, 140, 35);
g.DrawLine(pen2, 140, 35, 160, 75);
// Create string to draw.
String drawString = "Price: "+(cost).ToString("C");
// Create font and brush.
Font drawFont = new Font("Arial", 16);
SolidBrush drawBrush = new SolidBrush(Color.Black);
// Create point for upper-left corner of drawing.
PointF drawPoint = new PointF(50, 95);
// Draw string to screen.
g.DrawString(drawString, drawFont, drawBrush, drawPoint);
}
public void car1()
{
Invalidate();
g = pictureBox1.CreateGraphics();
g.DrawEllipse(pen1, 50 + m, 125, 30 , 30);
g.DrawEllipse(pen1, 150 + m, 125, 30 , 30);
g.DrawRectangle(pen2, 45 + m, 75, 140, 50);
g.DrawLine(pen2, 65 + m, 75, 80 + m, 35);
g.DrawLine(pen2, 80 + m, 35, 140 + m, 35);
g.DrawLine(pen2, 140 + m, 35, 160 + m, 75);
// Create string to draw.
String drawString = "Price: " + (cost).ToString("C");
// Create font and brush.
Font drawFont = new Font("Arial", 16);
SolidBrush drawBrush = new SolidBrush(Color.Black);
// Create point for upper-left corner of drawing.
PointF drawPoint = new PointF(50 + m, 95);
// Draw string to screen.
g.DrawString(drawString, drawFont, drawBrush, drawPoint);
}
質問を根本的に別のものに変更したため、質問を元の状態に戻しました。 「新しい」質問がある場合は、自由に新しい質問をしてください。この記事を参考にして背景情報を参照することができます。 – LarsTech