C# 窗口形式的2D图形没有绘制任何内容

C# 窗口形式的2D图形没有绘制任何内容,c#,graphics,C#,Graphics,我正在尝试向Windows窗体图片框添加2D图形。 这是我的代码: private System.Drawing.Graphics g; private System.Drawing.Pen pen1 = new System.Drawing.Pen(Color.Red); private System.Drawing.Pen pen2 = new System.Drawing.Pen(Color.Aqua); private void Form2_Load(object sender, E

我正在尝试向Windows窗体图片框添加2D图形。
这是我的代码:

private System.Drawing.Graphics g;

private System.Drawing.Pen pen1 = new System.Drawing.Pen(Color.Red);
private System.Drawing.Pen pen2 = new System.Drawing.Pen(Color.Aqua);

private void Form2_Load(object sender, EventArgs e)
{
    g = pictureBox1.CreateGraphics();
    g.DrawEllipse(pen1,348.5f, 348.5f, 3, 3);
    g.DrawEllipse(pen2, 269.5f, 348.5f, 1, 1);
}

当我编译它时,它正常运行,但不会显示任何图形。有人能帮我吗?

你应该使用
pictureBox1\u Paint
事件。另外,我认为你已经用elipse宽度和高度反转了你的x,y位置。您几乎看不到1x1或3x3大小的elipse。所以,试着这样做:

private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
    var pen1 = new System.Drawing.Pen(Color.Red);
    var pen2 = new System.Drawing.Pen(Color.Aqua);
    e.Graphics.DrawEllipse(pen1, 3, 3, 348.5f, 348.5f);
    e.Graphics.DrawEllipse(pen2, 1, 1, 269.5f, 348.5f);
}
结果:


您是否使用了调试器?你看到什么有趣的东西了吗?再加上这个。这是因为图形实例只是临时的,以后会被“覆盖”。