用户控件c#动态添加

Bir*_*apa 2 c# controls picturebox

我在代码中动态创建用户控件

UserControl myobject = new UserControl();
Run Code Online (Sandbox Code Playgroud)

当我将此控件添加到图片框时,myObject包含一个按钮等。

picturebox.Controls.Add(myobject);
Run Code Online (Sandbox Code Playgroud)

我的画框的backgorund图像消失了。

为什么?

注意:但是可以看到该按钮。我也希望看到图片框

Ser*_*kiy 5

设置用户控件的透明背景色。这将使图片框可见:

UserControlDisplay myobject = new UserControlDisplay();
myobject.BackColor = Color.Transparent;
picturebox.Controls.Add(myobject);
Run Code Online (Sandbox Code Playgroud)

顺便说一句,我相信您有不同的用户控件名称。是的,正如@samjudson所述,不应以这种方式使用PictureBox:Panel而是尝试与背景图像一起使用(方法将保持不变-使用透明颜色查看父控件):

panel.BackgroundImage = // your image
UserControlDisplay myobject = new UserControlDisplay();
myobject.BackColor = Color.Transparent;
panel.Controls.Add(myobject);
Run Code Online (Sandbox Code Playgroud)