C#如何连接路径和变量

时间:2014-01-07 17:24:15

标签: c# path listbox

我想根据listBox上的文字显示不同的照片。这将是大约1000张照片+。

listbox.text将是图片的名称(1,2,3等)。

我不知道该怎么做。

pictureBox1.Image = WindowsFormsApplication1.Properties.Resources.(listBox2.Text);

感谢您的帮助!

2 个答案:

答案 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;
        }
    }
}