C# 用C语言在窗体上绘制矩形#
如何在C#中的表单上绘制一个矩形,当我处理表单时,即在表单上放置按钮或文本框时,该矩形对我是可见的。我使用下面的方法在窗体上创建一个矩形,但它只有在运行窗体时才可见,而我希望它在设计时可见 我的代码如下:C# 用C语言在窗体上绘制矩形#,c#,graphics,C#,Graphics,如何在C#中的表单上绘制一个矩形,当我处理表单时,即在表单上放置按钮或文本框时,该矩形对我是可见的。我使用下面的方法在窗体上创建一个矩形,但它只有在运行窗体时才可见,而我希望它在设计时可见 我的代码如下: protected override void OnPaint(PaintEventArgs e) { Graphics g = e.Graphics; g.PageUnit = GraphicsUnit.Inch; Pen red1 = new Pen(Col
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);
}
您需要将
Paint
事件附加到表单
只需在构造函数中添加以下语句
this.Paint += new PaintEventHandler(OnPaint);
并将方法签名更改为
void OnPaint(object sender, PaintEventArgs e)
@Asif给出错误:“OnPaint”没有重载匹配委托“System.Windows.Forms.PaintEventHandler”怎么办?您需要将方法签名更改为void OnPaint(对象发送方,PaintEventArgs e)@Asif现在给出另一个错误:line_draw.Form1.OnPaint(对象,System.Windows.Forms.PaintEventArgs)“:找不到合适的方法重写RRY,但这个答案不正确——问题出在其他地方。请在我链接到的副本中查看接受的答案。@Asif错误已消失,但矩形仅在运行时可见。我绘制矩形的方法是否正确。是否可能重复