想在一个PANEL上画图,怎么画不上去呢?
   private void panel1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            Pen pen = new Pen(Color.Green);
            g.DrawLine(pen, 320, 300, 460, 460);        }
起始点都是在我的PANEL里面的。
还想问,怎么基于PANEL的坐标来画图呢?那个PaintEventArgs e怎么用?

解决方案 »

  1.   

    waiting for reply.thanks for answering..
      

  2.   

     g.DrawLine(pen, 320, 300, 460, 460);
    -----------------------------------------
    这个坐标是相对panel来说的。
      

  3.   

    你的代码是对的。但是要注意后面坐标的参数,不要超过panel的大小。
    DrawLine(起点x坐标,起点y坐标,终点x,终点y), 坐标是基于panel的
      

  4.   

    原来如此。那个e怎么用呢?
    如果想要根据两个文本框里面的数据,比如数据是10和20,然后在不同的点处画10CM长和20CM长的两条直线,然后把这两条直线用折线连接起来,该怎么写呢?
      

  5.   

    所有控件(Control类的派生类)都有CreateGraphics方法提供画板,所以你可以: 
    //假设panel1是将直线盖住的控件 
    private void Form1_Paint(object sender, PaintEventArgs e) 

    e.Graphics.Clear(BackColor);panel1.CreateGraphics().Clear(panel1.BackColor); 
    e.Graphics.DrawLine(Pens.Black, new Point(0, 0), new Point(ClientRectangle.Width, ClientRectangle.Height)); 
    //注意坐标系变换。 
    panel1.CreateGraphics().DrawLine(Pens.Black, new Point(-panel1.Left, -panel1.Top), new Point(ClientRectangle.Width - panel1.Left, ClientRectangle.Height - panel1.Top)); 

    private void Form1_SizeChanged(object sender, EventArgs e) 

    Form1_Paint(this, new PaintEventArgs(CreateGraphics(), ClientRectangle)); 
    } 参考:C# .NET中如何在面板(Panel)上进行绘图?
      

  6.   

    请问:
    如果想要根据两个文本框里面的数据,比如数据是10和20,然后在不同的点处画10CM长和20CM长的两条直线,然后把这两条直线用折线连接起来,该怎么写呢?思路?
      

  7.   

    Windows 窗体中的图形和绘制
      

  8.   

    http://www.cnblogs.com/yellowyu/archive/2008/07/06/1236776.html
      

  9.   


    我的操作系统下没有Graphicspath ,没有pen的linejoin,我画了两条直线后就没办法连接起来了,请问有什么解决方案吗?或者方法该怎么写呢??
      

  10.   

    请问大家:
    我的操作系统下没有Graphicspath ,没有pen的linejoin,我画了两条直线后就没办法连接起来了,请问有什么解决方案吗?或者方法该怎么写呢??