C# 把图片盒放在前面

C# 把图片盒放在前面,c#,C#,当我在一个循环中画一些重叠的图像时,就像一副扑克牌,我希望最后一张牌在上面,以便看到整张牌。现在它是第一张可见的卡片。我想知道是否有办法把第一张牌放在前面或是其他同等的东西 for (int i = 1; i < 10; i++) { cardGui = new CardGui(i); cardGui.Location = new Point(10 + (i * 10), 10); pa

当我在一个循环中画一些重叠的图像时,就像一副扑克牌,我希望最后一张牌在上面,以便看到整张牌。现在它是第一张可见的卡片。我想知道是否有办法把第一张牌放在前面或是其他同等的东西

        for (int i = 1; i < 10; i++)
        {
            cardGui = new CardGui(i);
            cardGui.Location = new Point(10 + (i * 10), 10);
            panel1.Controls.Add(cardGui);   
        }

在循环后尝试以下代码:

    for (int i = 1; i < 10; i++)
    {
        cardGui = new CardGui(i);
        cardGui.Location = new Point(10 + (i * 10), 10);
        panel1.Controls.Add(cardGui);   
    }
    cardGui.BringToFront();
我希望最后一张牌在上面


此代码正好给出了您要求的内容

请在循环后尝试此代码:

    for (int i = 1; i < 10; i++)
    {
        cardGui = new CardGui(i);
        cardGui.Location = new Point(10 + (i * 10), 10);
        panel1.Controls.Add(cardGui);   
    }
    cardGui.BringToFront();
我希望最后一张牌在上面

此代码准确地给出了您所要求的父控件集合的Try方法或use方法

SetChildIndex:将集合中指定子控件的索引设置为指定索引

BringToFront:将控件置于z顺序的前面

对于示例代码:

for (int i = 1; i < 10; i++)
{
    cardGui = new CardGui(i);
    cardGui.Location = new Point(10 + (i * 10), 10);
    panel1.Controls.Add(cardGui);   
    panel1.Controls.SetChildIndex(cardGui, 10 - i); 
}
Try方法或使用父控件集合的方法

SetChildIndex:将集合中指定子控件的索引设置为指定索引

BringToFront:将控件置于z顺序的前面

对于示例代码:

for (int i = 1; i < 10; i++)
{
    cardGui = new CardGui(i);
    cardGui.Location = new Point(10 + (i * 10), 10);
    panel1.Controls.Add(cardGui);   
    panel1.Controls.SetChildIndex(cardGui, 10 - i); 
}

如果要将第一张卡放在前面,则该卡应有2个值,例如cardGui1和cardGui2。第一个只是为了抢先一步,其他的则是为了完成这个循环

试试这个:

const j =1;
cardGui2 = new cardGui2(j);
cardGui12.Location = new Point(10 + (j * 10), 10);
panel1.Controls.Add(cardGui2);
cardGui2.BringToFront();

for (int i = 1; i < 10; i++)
        {
            cardGui1 = new CardGui1(i);
            cardGui1.Location = new Point(10 + (i * 10), 10);
            panel1.Controls.Add(cardGui1);   
        }
更新:

我假设最后一张卡片的索引是10。试试这个:

for (int i = 1; i < 10; i++)
        {
            cardGui1 = new CardGui1(i);
            cardGui1.Location = new Point(10 + (i * 10), 10);
            panel1.Controls.Add(cardGui1);   
        }

const j =10;
cardGui2 = new cardGui2(j);
cardGui12.Location = new Point(10 + (j * 10), 10);
panel1.Controls.Add(cardGui2);
cardGui2.BringToFront();

如果要将第一张卡放在前面,则该卡应有2个值,例如cardGui1和cardGui2。第一个只是为了抢先一步,其他的则是为了完成这个循环

试试这个:

const j =1;
cardGui2 = new cardGui2(j);
cardGui12.Location = new Point(10 + (j * 10), 10);
panel1.Controls.Add(cardGui2);
cardGui2.BringToFront();

for (int i = 1; i < 10; i++)
        {
            cardGui1 = new CardGui1(i);
            cardGui1.Location = new Point(10 + (i * 10), 10);
            panel1.Controls.Add(cardGui1);   
        }
更新:

我假设最后一张卡片的索引是10。试试这个:

for (int i = 1; i < 10; i++)
        {
            cardGui1 = new CardGui1(i);
            cardGui1.Location = new Point(10 + (i * 10), 10);
            panel1.Controls.Add(cardGui1);   
        }

const j =10;
cardGui2 = new cardGui2(j);
cardGui12.Location = new Point(10 + (j * 10), 10);
panel1.Controls.Add(cardGui2);
cardGui2.BringToFront();


他想把第一张牌放在前面,如果你在循环中使用这个代码,它会对所有人做同样的事情。这是我想放在前面的最后一张牌。是的,是的,但是我没有得到一排好的牌,最后一张牌覆盖了最后一张牌中的一些。如果你想让最后一张牌在上面,当然它会覆盖其他牌。你想让最后一张牌只放在前面吗?他想把第一张牌放在前面如果你在循环中使用这个代码,对所有人都会做同样的事情我想放在前面的最后一张牌是的,是的,但我没有得到一排好牌,最后一张牌放在最后一张牌的上面如果你想让最后一张牌在上面,当然,它将涵盖其他卡。你要最后一张卡只包括第一张吗?谢谢,但这是我想带到前面的最后一张牌,我也喜欢只添加没有循环的牌,然后将最后一张牌带到前面我以为你想把第一张牌带到前面,因为你说我想知道是否有办法将第一张牌带到前面,所以如果你想对最后一张牌执行此操作,请参阅更新。@Artiom我说我假设是10卡。他可以用伊桑克牌,但这是我想带到前面的最后一张牌,我也喜欢只添加没有循环的牌,然后将最后一张牌带到前面我以为你想把第一张牌带到前面,因为你说我想知道是否有办法将第一张牌带到前面,所以如果你想对最后一张牌执行此操作,请参阅更新。@Artiom我说我假设是10卡。他可以用iyou说:我希望最后一张牌在上面,我想知道是否有办法把第一张牌带到前面。这使我困惑。你能纠正吗?我正试图纠正它,但我不能!?这应该是最后一张卡了,对不起!你能把你想要的具体化吗。或者上传你现在得到的图片你说:我希望最后一张牌在上面,我想知道是否有办法把第一张牌放在前面。这使我困惑。你能纠正吗?我正试图纠正它,但我不能!?这应该是最后一张卡了,对不起!你能把你想要的具体化吗。或者上传你现在得到的图片,对每一张卡片都会做同样的事情,他只是想在最后一张卡片上做同样的事情card@aliboy38:salam,我的建议是使用BringToFront或SetChildIndex;我的代码是一个示例。如果控件集合中已有卡,则此代码将无法正常工作。@Ria salam。如果你想用它作为一个样本,这是一个非常好的样本,它会对每一张卡做同样的事情,他只想在最后一张卡上做同样的事情card@aliboy38:salam,我的建议是使用BringToFront或SetChildIndex;我的代码是一个示例。如果控件集合中已有卡,则此代码将无法正常工作。@Ria salam。如果你想用它作为一个样本,这是一个非常好的样本