2014-09-29 4 views
-3

Я хотел бы знать, как создать объект с помощью кода. Я начал что-то вроде этогоКак создать объект динамически?

object ns = new PictureBox(); 
ns.BackgroundImage = Properties.Resources.myImage; 

Но компилятор дает мне ошибку:

'object' does not contain a definition for 'BackgroundImage' and no extension method 'BackgroundImage' accepting a first argument of type 'object' could be found (are you missing a using directive or an assembly reference?)

И если удалить последнюю строку, он компилирует, но в окне ничего не появляется.

+4

Как насчет 'PictureBox ns = new PictureBox();'? Почему вы пытаетесь создать его так? –

+0

или просто используйте 'var ns = ...'. – paqogomez

ответ

1

Так что вы действительно спрашиваете, как добавить элементы управления в форму во время выполнения. Замечания по вашему вопросу правильны в отношении того, что вы на самом деле просили, но вы все равно ничего не увидите в форме. Чтобы сделать это, вы на самом деле нужно добавить элемент управления в форме:

var ns = new PictureBox(); 

ns.BackgroundImage = Properties.Resources.myImage; 
this.Controls.Add(ns); 

Кстати, есть конкретная причина, по которой вы устанавливаете BackgroundImage собственности, а не Image собственности?

+0

Привет! Большое спасибо за Ваш ответ! Я новичок в C#, и кажется, что здесь нет места для начинающих в stackoverflow. Каждый раз, когда я прошу что-то легкое, я получаю голоса и слабую репутацию ... вид. Во всяком случае, да, есть причина для этого, я использую 'BackgroundImage', так что я также могу установить' backgroundImageLayout' на 'Stretch', и изображение будет .. хорошо .. растянуть .. до размера фотобумаги. Я не мог найти способ сделать это с помощью свойства изображения ... Еще раз спасибо за ваш быстрый ответ! Я бы проголосовал за вас, если бы мог, но задание этого вопроса убрало мою репутацию, и теперь я не могу. –

+0

Вы должны установить свойство 'Image' и использовать свойство' SizeMode' для управления соотношением между размером элемента управления и размером изображения. «StretchImage» заставит изображение взять те же размеры, что и элемент управления. – jmcilhinney

+0

Вы не отвечаете на свой вопрос. Первенство стоит 10 баллов, но принятый ответ стоит 15. Вы принимаете ответ на свой вопрос, который вы уже сделали. – jmcilhinney

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