【问题标题】:Change display order of PictureBox controls [duplicate]更改 PictureBox 控件的显示顺序 [重复]
【发布时间】:2015-02-22 10:47:51
【问题描述】:

我目前是一名学生,我对 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++;
}

【问题讨论】:

  • @musefan 好的,对不起,我下次会小心的。谢谢你们!

标签: c# image stack


【解决方案1】:

WinForms 控件通常不堆叠,并且不真正支持透明度。如果您希望自定义图像渲染以支持此用途,请使用您自己的 OnPaint 例程编写自定义 Control

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

【讨论】:

    猜你喜欢
    • 2020-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-26
    相关资源
    最近更新 更多