2013-02-21 9 views
0

У меня динамически создана кнопка, теперь мне нужно поместить на нее изображение, которое сохраняется на моем жестком диске. Я пытался делатьПоместите картинку на динамически созданную кнопку

btndynamic.image=((Sytem.Drawing.Image)(resources.GetObject("button.Image"))); 

Но он дал мне ошибку: имя «ресы» не существует в текущем контексте

Тогда я попробовал:

btndynamic.image=Image.FromFile(@"images\image1.jpg"); 

снова дал мне ошибку : Убедитесь, что файл существует в указанном месте.

Так что я делаю неправильно, или есть какой-либо другой способ.

+0

Как вы создаете и инициализируете переменную 'resources'? –

+1

Вы добавили свои изображения в ресурсы вашего проекта? Если да, как называется этот ресурс? Кроме того, для второго варианта вы указываете относительный путь, действительно ли у вас есть папка 'image' в вашем каталоге' debug'? – ppetrov

+0

О 'Image.FromFile' помните, что каталог кода не совпадает с каталогом sturtup –

ответ

0

Вы можете использовать ImageList элемент управления для вашей формы. Этот элемент управления не отображается во время выполнения и позволяет добавлять изображения, которые вам нужно использовать в вашей форме позже. Вы добавляете этот элемент управления в свою форму точно так же, как вы добавляете кнопку, вы можете найти его в панели инструментов под вкладкой Components. В свойствах вы увидите свойство Images, вам просто нужно его отредактировать, и вы увидите диалоговое окно, в котором вы можете добавить ресурсы с вашего диска. Просто добавьте то, что вам нужно, и установите свойства (например, ключ) для каждого добавленного изображения.

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

у вас есть 2 способа сделать это, используя индекс

dynamicButton.Image = imageList1.Images[index]; 

или ключ

dynamicButton.Image = imageList1.Images["your_image_key"]; 

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

если вам нужно больше информации об этом, попробуйте эти ссылки:

http://social.msdn.microsoft.com/Forums/eu/csharplanguage/thread/9cda50a5-8eba-4e1f-87ee-7486352c0907

How to use imageList Control

+0

не могли бы вы объяснить, что он никогда не использовался для управления имиджей. спасибо – Kashif

+0

отредактировал мое сообщение с дополнительной информацией о том, как его использовать – ppetrov

0

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

NewButton.Image = global::YOURPROJECTNAME.Properties.Resources.YOURRESOURCENAME; 
Смежные вопросы