2015-08-07 3 views
1

Делаю # программа C, которая будет генерировать PictureBox:Добавить PictureBox для формирования во время выполнения

private void Form1_Load(object sender, EventArgs e) 
{ 
    PictureBox picture = new PictureBox 
    { 
     Name = "pictureBox", 
     Size = new Size(16, 16), 
     Location = new Point(100, 100), 
     Image = Image.FromFile("hello.jpg"), 
    }; 
} 

Однако управление не отображается на моей форме. Почему нет?

+0

Если это изображение всегда будет находиться в том же каталоге, что и исполняемый файл, вы должны указать полный путь для этого файла. – LarsTech

ответ

3

вы можете попробовать это .. вам нужно использовать this.Controls.Add (картинку);

private void Form1_Load(object sender, EventArgs e) 
    { 
     var picture = new PictureBox 
     { 
      Name = "pictureBox", 
      Size = new Size(16, 16), 
      Location = new Point(100, 100), 
      Image = Image.FromFile("hello.jpg"), 

     }; 
     this.Controls.Add(picture); 
    } 

и если вы хотите, чтобы удалить из формы во время выполнения.

//remove from form 
this.Controls.Remove(picture); 
    //release memory by disposing 
picture.Dispose(); 

;

+0

Получил это, чтобы работать, спасибо! :) – Octopus

0

Управление, такое как PictureBox, является просто классом. В этом нет ничего особенного, поэтому new PictureBox не будет волшебным образом появляться в вашей форме.

Все, что вам нужно сделать после инстанцирования и инициализации элемента управления является добавить элемент управления в коллекции Controls контейнера:

this.Controls.Add(picture); 
Смежные вопросы