#region 画出X轴与Y轴
private void DrawXY() { int MaxX; int MaxY; Graphics g = this.panel1.CreateGraphics(); MaxX = System.Convert.ToInt32(this.MaxX.Text); MaxY = System.Convert.ToInt32(this.MaxY.Text); //绘制X轴 Point px1=new Point(0,MaxY); Point px2=new Point(MaxX,MaxY); g.DrawLine(new Pen(Brushes.Black,1),px1,px2); //绘制Y轴 Point py1=new Point(0,MaxY); Point py2=new Point(0,0); g.DrawLine(new Pen(Brushes.Black,1),py1,py2); } #endregion #region 画出X轴上的分值线 private void DrawXLine() { int MaxX; int MaxY; Graphics g = this.panel1.CreateGraphics(); MaxX = System.Convert.ToInt32(this.MaxX.Text); MaxY = System.Convert.ToInt32(this.MaxY.Text); for (int i=20;i>=0;i--) //20等份X轴 { Point px1=new Point(0,MaxY*i/20); Point px2=new Point(2,MaxY*i/20); string sx = (MaxY * i / 20).ToString(); g.DrawLine(new Pen(Brushes.Black,1),px1,px2); if (i % 4==0) { g.DrawString(sx, new Font('宋体', 8f), Brushes.Black, new PointF(MaxY * i / 20, MaxY)); } } Pen pen = new Pen(Color.Black, 1); //g.FillRectangle(pen.Brush, 190, 215, 10, 5); g.DrawString('X轴', new Font('宋体 ', 10f), Brushes.Black, new Point(MaxY, MaxX+10)); } #endregion #region 画出Y轴上的分值线 private void DrawYLine() { int MaxX; int MaxY; Graphics g = this.panel1.CreateGraphics(); MaxX = System.Convert.ToInt32(this.MaxX.Text); MaxY = System.Convert.ToInt32(this.MaxY.Text); for (int i=0;i <=20;i++) { Point py1=new Point(MaxX*i/20,MaxY-2); Point py2=new Point(MaxX*i/20,MaxY); string sy = (MaxY * i / 20).ToString(); g.DrawLine(new Pen(Brushes.Black,1),py1,py2); if (i % 4 == 0) { g.DrawString(sy, new Font('宋体', 8f), Brushes.Black, new PointF(0,200-MaxX * i / 20)); } } Pen pen = new Pen(Color.Black, 1); //g.FillRectangle(pen.Brush, 5, 0, 5, 10); g.DrawString('Y轴', new Font('宋体 ', 10f), Brushes.Black, new Point(20, 0)); } #endregion |
|