我正在尝试使用C#Form工作,但在阅读有关Graphics类和Draw / Fill方法的文档后,它仍然不适用于我。
这是代码:
using System.Drawing;
using System.Windows.Forms;
namespace Drawing_Example
{
public partial class Form1 : Form
{
#region Constructors
public Form1()
{
InitializeComponent();
Pen pen = new Pen(Color.Black, 3f);
Graphics surface = CreateGraphics();
surface.DrawEllipse(pen, new Rectangle(0, 0, 200, 300));
pen.Dispose();
surface.Dispose();
}
#endregion Constructors
}
}
当我按下“开始”时,出现一个空白表格,没有图纸。你能告诉我我做错了什么吗?
答案 0 :(得分:2)
您无法在构造函数中进行绘制,因为OnPaint()
方法将在以后由框架调用时覆盖它。
相反,override the OnPaint()
method并在那里进行绘图。
请勿使用Graphics
创建自己的CreateGraphics()
对象;相反,根据我链接的示例,使用通过OnPaint()
传递给e.Graphics
的那个。
(另外,当你完成它时不要处置e.Graphics
- 框架会为你管理它。)