更改 PictureBox 控件的显示顺序 [重复]

Posted

技术标签:

【中文标题】更改 PictureBox 控件的显示顺序 [重复]【英文标题】:Change display order of PictureBox controls [duplicate] 【发布时间】: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 好的,对不起,我下次会小心的。谢谢你们! 【参考方案1】:

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

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

【讨论】:

以上是关于更改 PictureBox 控件的显示顺序 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

PictureBox控件

PictureBox的内存问题

C# winform picturebox控件显示图片问题 怎么使picturebox在登录学号10001时显示本地文件夹里10001.jpg

Winform panel的底层为pictureBox然后显示pb为背景

vb.net2010从ACCESS的OLE字段读出图片显示到PictureBox控件上

怎样清除VB中picture控件中插入的jpg图片