2015-08-24 2 views
-1

Как отображать встроенные изображения при отображении списка ListView1 SelectedIndexChanged, мне нужно вытащить имя изображения на основе элемента списка и отобразить его на кадре? Мой код:Отображение встроенных изображений на картинке, соответствующей выбранному элементу списка.

private void listView1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if (listView1.SelectedItems.Count > 0) 
    { 
     label1.Text = listView1.SelectedItems[0].SubItems[0].Text + " " + 
         textBox2.Text; 

     var myimage = "_" + listView1.SelectedItems[0].SubItems[0].Text; 

     // new code tryout 
     // When I try to do it like this Code runs fine 
     // but no image is displayed on picturebox 
     object O = Resources.ResourceManager.GetObject("myimage"); 

     pictureBox1.Image = (Image)O; 

     //no image displayed and no errors  

    } 
    else 
    { 
     label1.Text = string.Empty; 
    } 
} 
+1

Try '(Bitmap) WindowsFormApplication1.Properties.Resources.ResourceManager.GetObject ("..."); ' – Loathing

+0

@ Ненависти, спасибо вы так много для своего времени! Я пробовал это без везения, пока изображение не отображается. Обновлен мой исходный код. – HGtez

+2

Пробовал ли вы 'Resources.ResourceManager.GetObject (myimage);' без кавычек? –

ответ

0

Проблема здесь состоит в том, что вы путаете строку "myimage" с содержанием myimage переменной.

Вы должны использовать содержимое переменной, а не строку в качестве GetObject параметра:

object O = Resources.ResourceManager.GetObject(myimage); 
0

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

enter image description here

private void View_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if (View.SelectedItems.Count > 0) 
    { 
     object O = Resources.ResourceManager.GetObject(View.SelectedItems[0].Text); 

     PicBox.Image = (Image)O; 
    } 
} 
+0

'Я взял ваш код' .. Я так не думаю, это не код OP –

+0

На самом деле я действительно взял код и просто изменил Имя ListView и PictureBox. Поскольку у меня не было всего решения, я должен был создать его так, как он объяснялся. См. Даже комментарий там же. –

+0

Отредактировал мой ответ, поэтому нет никаких сомнений. –

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