C# 绘制矩形不';行不通
你能解释一下这个代码有什么问题吗?因为它没有画任何东西。 它不应该在我的表格中画一个矩形吗?谢谢C# 绘制矩形不';行不通,c#,forms,graphics,drawing,shape,C#,Forms,Graphics,Drawing,Shape,你能解释一下这个代码有什么问题吗?因为它没有画任何东西。 它不应该在我的表格中画一个矩形吗?谢谢 public partial class Form1 : Form { public Form1() { InitializeComponent(); Graphics g = this.CreateGraphics(); Rectangle r = new Rectangle(0, 0, 150, 150); g.
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Graphics g = this.CreateGraphics();
Rectangle r = new Rectangle(0, 0, 150, 150);
g.DrawRectangle(System.Drawing.Pens.Black, r);
}
}
使用
OnPaint
方法进行绘制:
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Graphics g = e.Graphics;
Rectangle r = new Rectangle(0, 0, 150, 150);
g.DrawRectangle(System.Drawing.Pens.Black, r);
}
不要使用
CreateGraphics
。你不能让它保持刷新。它正在工作…在曲面刷新之前,您没有时间看到它。请将此代码(不带Creategraphics)移动到Paint事件。并确保前面没有控制装置(面板)。虽然这可能有效……但这是一个糟糕的建议。在表单
中重写OnPaint
是个坏主意。最好将控件添加到渲染的窗体中。如果没有愚蠢的练习,这可能会带来糟糕的长期结果。@DonBoitnott我不知道OP想要实现什么,我只是简单地指出,使用控件(在本例中是表单
)的正确方法是使用OnPaint
方法。我应该添加什么控件?看看方法。