私はこのフォーラムに参加したばかりで、英語が完璧ではないので、質問がうまく書かれていない場合は言い訳をしたいと思います。
私はC#でペイントプログラムを作成していますが、1つの問題を除いてすべてが完璧です。線、長方形、または楕円を描いているときに、mouseMove イベントが呼び出されると、古い図形も描画されます。
mouseMove イベントを使用して形状を描画する方法と、古い形状が描画されないようにする方法。
これは、より明確にするための私のコードの一部です。
//---Variables declared by the Prgrammer---//
//'parent' is variable that take the MdiParent
//'mouseIsDown' is boolean variable
//'startPoint' and 'endPoint' are Point Varables
//'pen' is Pen variable that is configured eralier
//'graphic' is pictureBox in the same form.
private void pbx_MouseDown(object sender, MouseEventArgs e)
{
if (parent.btnLine.Checked)
{
mouseIsDown = true;
startPoint = new Point(e.X, e.Y);
}
}
private void pbx_MouseMove(object sender, MouseEventArgs e)
{
if (mouseIsDown == true && parent.btnLine.Checked)
{
pen = new Pen(parent.btnPreview.BackColor, 12);
endPoint = new Point(e.X, e.Y);
graphic.DrawLine(pen, startPoint, endPoint);
}
}
private void pbx_MouseUp(object sender, MouseEventArgs e)
{
mouseIsDown = false;
}
私を助けてください。これは私にとって大きな問題です。ありがとう。
助けてください、2日待っています。グラフィック オブジェクトに新しい図面を作成すると、古いグラフィックが削除されます。
graphic.Save() メソッドを試してみましたが、正しい結果が得られませんでした。
別のグラフィックを作成しているときに、図面を満足させるにはどうすればよいですか?