我想根据listBox上的文字显示不同的照片。这将是大约1000张照片+。
listbox.text
将是图片的名称(1,2,3等)。
我不知道该怎么做。
pictureBox1.Image = WindowsFormsApplication1.Properties.Resources.(listBox2.Text);
感谢您的帮助!
答案 0 :(得分:2)
我想这就是你想要的,你应该选择Item的文字:
var imgName = listBox2.SelectedItem.ToString();
pictureBox1.Image = Resources.ResourceManager.GetObject(imgName) as Bitmap;
答案 1 :(得分:-1)
与列表框相关的一个非常方便的事情是向它们添加对象。列表框显示对象的ToString()作为对象的名称,然后您可以使用SelectedItem属性直接获取对象。这样的事情可以满足您的需求:
namespace showimage
{
public partial class Form1 : Form
{
private List<ImagePicker> image_list;
public Form1()
{
InitializeComponent();
image_list = new List<ImagePicker>();
// Add the images - creating an ImagePicker object per file
image_list.Add(new ImagePicker("Photo1", "photo1.jpg"));
image_list.Add(new ImagePicker("Photo2", "photo2.jpg"));
}
private void Form1_Load(object sender, EventArgs e)
{
listBox1.Items.AddRange(image_list.ToArray());
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
ImagePicker picked_image = (ImagePicker)listBox1.SelectedItem;
pictureBox1.Load(picked_image.filename);
}
}
public class ImagePicker
{
private string _name;
private string _filename;
public string filename
{
get
{
return _filename;
}
}
public ImagePicker(string name, string filename)
{
_name = name;
_filename = filename;
}
public override string ToString()
{
return _name;
}
}
}