Winform中代码生成的控件如何覆盖之前的控件

今天写个winform的代码,中间用到自动生成控件,但生成后的控件始终被原先的控件所覆盖,如图

Winform中代码生成的控件如何覆盖之前的控件_第1张图片

后来在网上查了发现原因是“和controls.add的顺序有关.可以通过control.bringtofront().或者control.SendToBack()来改变Z轴”

我修改后的代码如下

PictureBox pictureBox = new PictureBox();
pictureBox.Image = Image.FromFile(@"E:\我的练习\WinForm\计时器\计时器\bin\Debug\bird.gif");
pictureBox.Location = new System.Drawing.Point(89, 183);
pictureBox.Top = 10;
pictureBox.Size = new System.Drawing.Size(140, 78);
           
this.Controls.Add(pictureBox);
pictureBox.BringToFront();
bringtofront()一定要在Add控件后再加入,不然会没有效果,最终效果如下
Winform中代码生成的控件如何覆盖之前的控件_第2张图片

你可能感兴趣的:(C#,WinForm,窗口覆盖)