0

我试图在表单启动时在表单上绘制图形。我已经尝试将图形组件放在表单构造器中,但我似乎无法让它工作。这就是我到目前为止所得到的。

public partial class Form3 : Form
{
    public Form3()
    {
        System.Drawing.Graphics graphics = this.CreateGraphics();
        System.Drawing.Rectangle rectangle = new System.Drawing.Rectangle(100, 100, 200, 200);
        graphics.DrawEllipse(System.Drawing.Pens.Black, rectangle);
        graphics.DrawRectangle(System.Drawing.Pens.Red, rectangle);
    }

}

任何和所有的帮助都会很棒,

多谢你们

4

2 回答 2

2

一种解决方案是使用位图,例如

Bitmap b = new Bitmap(this.Width, this.Height);
Graphics g = Graphics.FromImage(b);
... // Draw
this.BackgroundImage = b;

否则,您将需要处理该Paint事件,每次表单无效时,您都可以直接绘制到图形上下文。例如

this.Paint += Form1_Paint;

...

private void Form1_Paint(object sender, PaintEventArgs e)
{
    Graphics g = e.Graphics;
    System.Drawing.Rectangle rectangle = new System.Drawing.Rectangle(100, 100, 200, 200);
    g.DrawEllipse(System.Drawing.Pens.Black, rectangle);
    g.DrawRectangle(System.Drawing.Pens.Red, rectangle);
}
于 2013-06-25T15:31:11.247 回答
1
private void Form1_Paint(object sender, PaintEventArgs e)
        {
            System.Drawing.Rectangle rectangle = new System.Drawing.Rectangle(100, 100, 200, 200);
            e.Graphics.DrawEllipse(System.Drawing.Pens.Black, rectangle);
            e.Graphics.DrawRectangle(System.Drawing.Pens.Red, rectangle);
        }
于 2013-06-25T15:42:28.977 回答