2016-03-30 2 views
1

У меня есть процедура, которая втягивает в поле игрок изображения, как показано ниже:C# PictureBox не загружается, который добавляется в код

public static PictureBox drawPlayer(Engine.Tile location, Image looks) 
    { 
     PictureBox player = new PictureBox(); 
     player.Location = location.img.Location; 
     player.BackColor = Color.Yellow; 
     player.Size = new Size(50, 50); 
     player.Name = "Player"; 
     player.Visible = true; 
     player.BringToFront(); 

     return player; 
    } 

Однако, он не работает, это называется как таковой:

t.Controls.Add(drawPlayer(location, image)); 

Любая помощь с этим будет отличной или ответ на вопрос, почему это не работает, я временно установил цвет окна на желтый, чтобы он действительно выделялся, когда он наконец решил загрузить ,

Спасибо,
Laurence

+0

Вы каждый вызов 'Controls.Add (player);'? –

+0

Да, я называю это в конце моей процедуры, которая рисует остальную часть моей формы. –

+0

В следующий момент я брошу еще несколько вопросов, попытались ли вы доставить элемент управления на передний план после его добавления? Несмотря на это, добавляются ли элементы управления, добавленные после этого? –

ответ

2

Вы должны использовать player.BringToFront(); после того, как контроль был добавлен в форму, так как она не существует в форме, когда вы называете это в методе, который делающий PictureBox.

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

  • Нет связанных вопросов^_^