2012-05-15 37 views
0

如何在C#中的窗体上绘制矩形,当我在窗体上工作时(例如在窗体上放置按钮或文本框)时,该矩形对我来说是可见的。我使用以下方法在窗体上创建矩形,但只有在运行窗体时才可见,而不是在设计时可见。在C中的窗体上绘制一个矩形#

我的代码如下:

protected override void OnPaint(PaintEventArgs e) 
{  
    Graphics g = e.Graphics; 
    g.PageUnit = GraphicsUnit.Inch; 
    Pen red1 = new Pen(Color.Green, 0.03f); 
    g.DrawLine(blackpen, 1, 2, 1, 3); 
    g.DrawLine(red1, 1,2, 3,2); 
    g.DrawLine(red1, 1, 3, 3, 3); 
    g.DrawLine(red1, 3, 2, 3, 3); 
} 
+0

可能重复[如何在设计时表单画画吗?(http://stackoverflow.com/questions/5694171/how-to-在设计时涂上表格) – Heinzi

回答

0

您需要Paint事件附加到窗体。

只需在构造函数中添加以下语句即可。

this.Paint += new PaintEventHandler(OnPaint); 

,改变方法签名

void OnPaint(object sender, PaintEventArgs e) 
+0

@Asif它给出了一个错误:'OnPaint'没有重载匹配委托'System.Windows.Forms.PaintEventHandler'该怎么做? – jaggi

+0

您需要将方法签名更改为无效OnPaint(对象发件人,PaintEventArgs e) –

+0

@Asif它现在给出了另一个错误:line_draw.Form1.OnPaint(object,System.Windows.Forms.PaintEventArgs)':找不到合适的方法覆盖 – jaggi