PicturBox 只是描绘那些需要重新绘制的控制部分。由于在图片框可见后在运行时添加了控件,因此添加后需要使图片框无效 FrameControl 重绘整个控件。
PicturBox
FrameControl
考虑打电话 Invalidate 的父母的方法 FrameControl 当您从父级添加或删除它或更改控件的可见性时。
Invalidate
private void button1_Click(object sender, EventArgs e) { var s = 300; var c = new FrameControl(); c.Size = new Size(s, s); c.Location = new Point((pictureBox1.Width - s) / 2, (pictureBox1.Height - s) / 2); pictureBox1.Controls.Add(c); c.VisibleChanged pictureBox1.Invalidate(); }