我在代码中动态创建用户控件
UserControl myobject = new UserControl();
myObject包含一个按钮等。 当我将此控件添加到我的图片框
时picturebox.Controls.Add(myobject);
我的图片框的backgorund图像消失了。
为什么?
注意:但是可以看到按钮。我也希望看到picturebox
答案 0 :(得分:4)
设置用户控件的透明basckground颜色。这将使图片框可见:
UserControlDisplay myobject = new UserControlDisplay();
myobject.BackColor = Color.Transparent;
picturebox.Controls.Add(myobject);
BTW我相信你有不同的用户控件名称。是的,正如@samjudson所说,PictureBox不应该以这种方式使用:尝试使用Panel
代替背景图像(方法将保持不变 - 使用透明颜色来查看父控件):
panel.BackgroundImage = // your image
UserControlDisplay myobject = new UserControlDisplay();
myobject.BackColor = Color.Transparent;
panel.Controls.Add(myobject);
答案 1 :(得分:1)
PictureBox控件不能用作容器。尝试添加父Panel或类似物,并将PictureBox和自定义控件添加到Panel控件。
答案 2 :(得分:0)
试试这个:
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);