我有一个picturebox1 -> Button -> picturebox2所有三个都在连续的图层中,因此我想在调试程序时将picturebox2出现在按钮中。

我的代码是

public Form1()
    {
        InitializeComponent();
        picturebox2.parent = button;
        picturebox.backcolor = color.transparent;
     }


我为picturebox1使用.jpg,为picturebox2使用.png,但是没有出现。我的意思是picturebox2的图片应显示在按钮上方。

最佳答案

您需要嵌套所有3个控件。
您还需要更正嵌套控件的Location,否则它们将保留原始位置,该位置相对于其原始父对象(可能是相对于表单而不是其新父对象而言)!


这应该更好地工作:

public Form1()
{
    InitializeComponent();
    button.Parent = picturebox;
    picturebox2.Parent = button;
    picturebox.BackColor = Color.Transparent;

    button.Location = new Point(1,2);      // or whatever you want!!
    picturebox2.Location = new Point(3,4); // or whatever you want!!
 }


您可能还需要考虑使用ImageBackGroundImage和/或Button属性。

注意:如果您想让Button通过底部的PictureBox发光,则不仅需要将其Color设置为FlatStyle,而且还必须将其设置为Flat

关于c# - 如何在按钮控件上方添加图片框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36030567/

10-13 06:20