我这个人懒啊,只是告诉你如何在(1,1) 和 (100,100)之间划一条蓝线.
去看看GDI+吧.Graphics dc =this.CreateGraphics();
Pen bluePen = new Pen(Color.Blue,1);
dc.DrawLine(bluePen,1,1,100,100);

解决方案 »

  1.   

    帮你写个简单的,复杂一点的你要看看GDI+了。
    private bool _drawing=false;
    private System.Drawing.Point _pStart;
    private System.Drawing.Point _pEnd;
    //...
    private void Form2_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    _drawing=!_drawing;
    _pStart=new Point(e.X,e.Y);
    }private void Form2_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
    {
    if(!_drawing)
    return;Graphics g=this.CreateGraphics();
    g.DrawLine(new Pen(this.BackColor,1),_pStart,_pEnd);
    _pEnd=new Point(e.X,e.Y);
    g.DrawLine(new Pen(Color.Black,1),_pStart,_pEnd);
    }
    ___________________________________
    too simple,sometimes naive :()
    ___________________________________
      

  2.   

    非常感谢nerk,我想通过单击右键清除窗体上的线条,该怎么写?
      

  3.   

    右键事件方法里:
     Graphics g=this.CreateGraphics();
    g.Clear();
    如果只想清除刚画的那条,就用mousemove里的那句。
    ___________________________________
    too simple,sometimes naive :()
    ___________________________________
      

  4.   

    能不能实现在WINDOWS屏幕上划直线,并且始终在屏幕最前面?这是我想要的效果!隐藏了窗体,我把窗体设计设置为部分透明,但效果不是很好!