日期:2014-05-18  浏览次数:20765 次

求助,关于绘图里的问题
贴代码
Pen pen = new Pen(Color.Red, 2);
int x0=270;
int y0=250;
int x=25;
int y=25;
int x1,x2,y1,y2;

for (int i = -9; i < 10; i++)
{
 x1= x0 + (i * x);
 y1=y0 -( y*(A * i + B ));
 x2=x0 + ((i + 1)*x);
 y2=y0 - ((A * (i + 1) + B)*y) ;

 if (y1 < 50)break;
 if(y1 > 450)break ;
 if( y2 < 50)break ;
 if (y2 > 450) break;  

 g.DrawLine(pen,x1,y1,x2,y2);
}

A,B为输入的数字。
但是A,B为负数或者B为0的时候是不会画图的
求解决

------解决方案--------------------
自己知道问题了,那就是你计算公式有问题,负数或零可能导致DrawLine的参数x1,y1,x2,y2,之间没有划线长度,或者坐标不在绘图区域内,比如窗体left从0开始,你得到一个 -1,当然找不到了