当我尝试在PictureBox中绘制具有负坐标(-x和-y)的矩形时,矩形会消失,但当它具有正坐标时,一切正常。这是代码:
这里获取矩形的起始坐标。
这里获取矩形的起始坐标。
private void PictureBox1_MouseDown(object sender, MouseEventArgs e)
{
start_point.X = e.X;
start_point.Y = e.Y;
}
这里我获取矩形的结束坐标:
private void PictureBox1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
end_point.X = e.X;
end_point.Y = e.Y;
PictureBox1.Refresh();
}
}
在这里我计算矩形的宽度和高度:
private void PictureBox1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.FillRectangle(sb, start_point.X, start_point.Y, end_point.X - start_point.X, end_point.Y - start_point.Y);
}
如果起始点坐标小于结束点坐标,一切都可以正常工作,但当结束点坐标小于起始点坐标时,宽度或高度或两者的值为负数...我该怎么解决这个问题?