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

C# 在控件上画的直线丢失
我用GDI+的代码来在zedgraph上画了几个框,代码如下:

protected override void OnPaint(PaintEventArgs e)
  {
  Graphics gp = this.zg1.CreateGraphics();//zg1就是我的zedgraph;
  Pen p = new Pen(Color.Black);//一只黑色的笔,用来画直线
  for (int i = 0; i <= 156; i = i + 31)//画6根横线
  {
  gp.DrawLine(p, 0, i, 155, i);
  }
  for (int i = 0; i <= 156; i = i + 31)//画6根竖线
  {
  gp.DrawLine(p, i, 0, i, 155);
  }
  }

然后将这个窗口初始化打开,发现,在zedgraph中确实出现了我要的几个横线和竖线;


但是问题来了:

就是一旦我用鼠标点击zedgraph中的任何一个地方,刚刚画的几条横线和竖线就全部没了!;
或者我不用鼠标,一旦用滚轮在zedgraph上滚一下,哪些竖线和横线也马上全部消失了!!!


而我要的是,这些画的线,要作为zedgraph的参考线的,它们永远不能够消失,怎么搞都不能够消失(除非将窗口关闭)!


请问要实现我的目标,这个代码怎么改呢?、 怎么改才不会自己消失,永远存在呢?


我实在是没有办法了,跪求高手指教啊!!!!!!!!!!!!!!!!!!

------解决方案--------------------
C# code
 private void pictureBox1_Paint(object sender, PaintEventArgs e)
        {
            Graphics gp = e.Graphics;
            Pen p = new Pen(Color.Black);//一只黑色的笔,用来画直线
            for (int i = 0; i <= 156; i = i + 31)//画6根横线
            {
                gp.DrawLine(p, 0, i, 155, i);
            }
            for (int i = 0; i <= 156; i = i + 31)//画6根竖线
            {
                gp.DrawLine(p, i, 0, i, 155);
            }
        }