各位大神,菜鸟求助。我在窗体(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();
}
}