更改PictureBox控件的显示顺序

时间:2014-12-24 09:46:24

标签: c# image stack

我目前是学生,我是C#的新手,我目前正在开展一个学校项目来创建游戏,但我面临着PictureBox堆叠问题。我首先初始化的PictureBox位于前面,而我初始化的所有其他PictureBox都在它后面,它看起来像这样,

http://imgur.com/8m36YgC

无论如何我可以把照片带上来吗?这就是我的代码的样子。

handCardString = new List<string>();
handCardString = h.displayHand();
handCards = new PictureBox[99];

int q = 0;
int loca1 = 439;

foreach (string s in handCardString)
{
    handCards[q] = new PictureBox();
    String r = String.Format("c:/Users/youhj/Desktop/CA1/Cards/{0}.jpg",s);
    Image ph = Image.FromFile(@r);
    handCards[q].Image = ph;
    pCardPhoto.Add(handCards[q]);
    pCardPhoto[q].Location = new System.Drawing.Point(loca1, 383);
    pCardPhoto[q].Size = new System.Drawing.Size(100, 126);
    pCardPhoto[q].SizeMode = PictureBoxSizeMode.StretchImage;
    pCardPhoto[q].BorderStyle = BorderStyle.None;
    this.Controls.Add(pCardPhoto[q]);
    loca1 += 20;
    q++;
}

1 个答案:

答案 0 :(得分:0)

WinForms控件通常不会叠加,并且没有真正支持透明度。如果您想要自定义呈现图片以支持此用途,请使用您自己的Control例程创建自定义OnPaint

另一种选择是使用在这方面更灵活的WPF,尽管它有不同的编程模型和更陡峭的学习曲线。