2014-01-07 76 views
-1

我的问题是如何绘制在C#中的子窗口的简单线,即:在子窗口绘图 - C#

  • 我有一个父窗口,一个按钮。点击按钮,显示一个子窗口,并在其上绘制一条线。

那么,我该怎么做?这是我的子窗口代码:

public partial class Form2 : Form 
{ 
    Pen pen; 
    public Form2() 
    { 
     InitializeComponent(); 
     pen = new Pen(Color.Black); 
    } 


    private void Form2_Paint(object sender, PaintEventArgs e) 
    { 
     Graphics g; 
     g = this.CreateGraphics(); 
     e.Graphics.DrawLine(pen, 10, 10, 100, 100); 
    } 

} 

谢谢。

+0

它适合我。 –

+0

什么不适合你?子窗口不显示,行不显示等 –

+0

@Adrian Faciu子窗口出现,但该线没有绘制。 –

回答

4

下面的代码是更好:

private void Form2_Paint(object sender, PaintEventArgs e) 
{ 
    Graphics g = e.Graphics; 
    using (Pen p = new Pen(Color.Black)) 
    { 
     g.DrawLine(pen, 10, 10, 100, 100); 
    } 
} 

使用图形例如油漆事件,并使用语法自动处置笔对象

Remeber调用在这样的父窗口显示方法:

private void button_Click(object sender, EventArgs e) 
{ 
    Form form2 = new Form2(); 
    form2.ShowDialog(); 
} 
+0

对不起,但它没有奏效。 –

+1

@EB你用手写** Form2_Paint **方法吗? GUI Designer不能在Designer文件中注册事件。 – CzBiX

+0

没有用手写。我以通常的方式注册了活动。 –