C# GDI+问题:如何在启动窗体之后直接在PictureBox上显示图形?

各位大神,菜鸟求助。我在窗体(Form1)新增了一个PictureBox控件pictureBox,想在窗体启动后在pictureBox上画一个跟pictureBox一样大的矩形,按按钮切换pictureBox的大小,矩形跟着改变。代码如下。现在碰到的问题是:
1. 窗体启动后pictureBox上没有显示矩形。
2. pictureBox从小切换到大的时候,picutreBox的尺寸的确变了,但画出来的矩形是改变前尺寸的大小。按理说调用Init()后再调用Draw()函数的,画出来的矩形该跟pictureBox一样大才对?
感觉这个问题该挺好解决的,就是找不到解决方法,在这里求助各位大神了,非常感谢!
代码:
public partial class Form1 : Form
{
private int option = 0;
public Form1()
{
InitializeComponent();
Init();
Draw();
}

    private void Form1_Load(object sender, EventArgs e)
    {
        pictureBox.Location = new Point(50, 80);
        pictureBox.BackColor = Color.White;       
    }
    private void Draw()
    {
        Graphics graphics = pictureBox.CreateGraphics();
        graphics.DrawRectangle(Pens.Black, new Rectangle(0, 0, pictureBox.Width - 2, pictureBox.Height - 2));
        graphics.Dispose();
    }

    private void Init()
    {
        if (option == 0)
        {
            pictureBox.Size = new Size(100, 100);
        }
        else if (option == 1)
        {
            pictureBox.Size = new Size(200, 200);
        }
        else if (option == 2)
        {
            pictureBox.Size = new Size(300, 300);
        }           

        this.ClientSize = new Size(pictureBox.Width + 100, pictureBox.Height + 100);
    }

    private void button1_Click(object sender, EventArgs e)
    {
        option = (option + 1) % 3;
        Init();
        Draw();
    }
}
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐