我目前是学生,我是C#的新手,我目前正在开展一个学校项目来创建游戏,但我面临着PictureBox
堆叠问题。我首先初始化的PictureBox
位于前面,而我初始化的所有其他PictureBox
都在它后面,它看起来像这样,
无论如何我可以把照片带上来吗?这就是我的代码的样子。
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++;
}
答案 0 :(得分:0)
WinForms控件通常不会叠加,并且没有真正支持透明度。如果您想要自定义呈现图片以支持此用途,请使用您自己的Control
例程创建自定义OnPaint
。
另一种选择是使用在这方面更灵活的WPF,尽管它有不同的编程模型和更陡峭的学习曲线。