2014-12-24 2 views
0

В настоящее время я студент, и я довольно новичок в C#. В настоящее время я работаю над школьным проектом, чтобы создать игру, но я столкнулся с проблемой укладки PictureBox. 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++; 
} 
+0

@musefan хорошо, извините, я буду осторожен в следующий раз. Спасибо вам, ребята! –

ответ

0

Элементы управления WinForms обычно не складываются, и нет истинной поддержки прозрачности. Если вы хотите, чтобы пользовательский рендеринг изображений поддерживал это использование, тогда создайте пользовательский код Control с вашей собственной программой OnPaint.

Другой вариант - использовать WPF, который является более гибким в этом отношении, хотя имеет другую модель программирования и более крутую кривую обучения.

Смежные вопросы