问题描述
privatevoidbutton1_Click(objectsender,EventArgse){Bitmapbt=newBitmap(panel1.Width,panel1.Height);Graphicsg=Graphics.FromImage(bt);g.Clear(Color.White);intflag=(panel1.Width-10)/32;g.DrawLine(newPen(Color.Black),newPoint(0,0),newPoint(0,panel1.Height-20));g.DrawLine(newPen(Color.Black),newPoint(0,panel1.Height-20),newPoint(panel1.Width-10,panel1.Height-20));int[]heights=getPoints();Pointp1=newPoint(flag,panel1.Height-20-heights[0]);Point[]points=newPoint[heights.Length];for(inti=1;i<20;i++){points[i].X=p1.X+flag;points[i].Y=panel1.Height-20-heights[i];Pointp2=newPoint(points[i].X,points[i].Y);g.DrawLine(newPen(Color.Red),p1,p2);p1=p2;}panel1.BackgroundImage=bt;//运行到这里报错。。。}
解决方案
解决方案二:
新人求助啊,弄了一天解决不了。。。
解决方案三:
问题可能出在你的getPoints();里,你看一下int[]heights返回是多少?int[]heights随便给几个数据测试一下,看有没有这个情况
解决方案四:
我测试了一下,没有这个问题,int[]heights用随便几个数据来测试
解决方案五:
我测试也没有问题
解决方案六:
引用4楼bafzxzh的回复:
我测试也没有问题
getPoints();都不知道哪里来的,你居然能测,还没问题。
解决方案七:
引用
引用4楼bafzxzh的回复:我测试也没有问题getPoints();都不知道哪里来的,你居然能测,还没问题。
朋友getPoints()就是返回int数组,直接写个数组不就完了,你也把getpoints去掉看看还有没有问题