因为Refresh又把panel1按默认式样画了一次。
可以:private void panel1_MouseClick(...)
{
   panel1.Invalidate();  // 引起panel1重画
}
添加响应panel1的OnPaint事件,在OnPaint事件响应里面画线。

解决方案 »

  1.   

    没有OnPaint 事件 只有Paint 事件 在里面写怎么获取鼠标坐标
      

  2.   


    在panel1_MouseClick里把画线需要的信息(坐标等)保存下来。
      

  3.   

            int width = 440, hight = 200;
            Bitmap image = new Bitmap(width, hight);
            g = Graphics.FromImage(image);//创建画布
            g.Clear(Color.White);//清空背景色
            Pen pen = new Pen(Color.Blue, 1);//创建画笔对象
            g.DrawLine(pen, 40, 80, 100, 80);//绘制直线
             System.IO.MemoryStream ms = new System.IO.MemoryStream();
                image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
                Response.ClearContent();
                Response.ContentType = "image/Gif";
                Response.BinaryWrite(ms.ToArray());