读书人

C# 在控件下画的直线丢失

发布时间: 2012-09-05 15:19:34 作者: rapoo

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);            }        } 

读书人网 >C#

热点推荐