2

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

UserControl myobject = new UserControl();

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

picturebox.Controls.Add(myobject);

我的图片框的背景图像消失了。

为什么?

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

4

3 回答 3

5

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

UserControlDisplay myobject = new UserControlDisplay();
myobject.BackColor = Color.Transparent;
picturebox.Controls.Add(myobject);

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

panel.BackgroundImage = // your image
UserControlDisplay myobject = new UserControlDisplay();
myobject.BackColor = Color.Transparent;
panel.Controls.Add(myobject);
于 2012-12-24T12:21:38.127 回答
2

试试这个:

UserControl myobject = new UserControl();
Button but = new Button();
but.BackColor = Color.Gray
pic.BackColor = Color.Green;
myobject.Controls.Add(but);
pic.Visible = true;
pic.Controls.Add(myobject);
于 2012-12-24T12:30:19.037 回答
1

PictureBox 控件不打算用作容器。尝试添加父面板或类似的,并将 PictureBox 和您的自定义控件添加到面板控件。

于 2012-12-24T12:23:16.230 回答