需要帮助以使用资源管理器从与textBox中的文本同名的资源加载图像

时间:2014-06-22 20:46:02

标签: c# string image resources resourcemanager

我需要从textBox中的文本同名的资源加载图像。我的实际代码有2个问题:

- 名称'汇编'在上下文中不存在

- 我不知道如何使用我的字符串(index1)将资源中的图像添加到列表中。

这是我的实际代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Collections;
using System.Globalization;
using System.Resources;

namespace Booster_pack_2
{
    public partial class Form3 : Form
    {
        public Form3()
        {
        InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            List<Image> Images1 = new List<Image>();
            ResourceManager rm = new ResourceManager("ResourceReader.MyResource", Assembly.GetExecutingAssembly());
            string index1 = textBox1.Text;
            pictureBox1.Image = rm.GetObject(index1) as Image;
            Images1.Add(Booster_pack_2.Properties.Resources.index1);
        }
    }
}

1 个答案:

答案 0 :(得分:1)

您的代码中需要System.Reflection才能使用addy2012建议的Assembly类。至于列表,Properties.Resources中有一个静态ResourceManager,请使用它。

private void button1_Click(object sender, EventArgs e)
{
    List<Image> Images1 = new List<Image>();
    ResourceManager rm = new ResourceManager("ResourceReader.MyResource", Assembly.GetExecutingAssembly());
    string index1 = textBox1.Text;
    pictureBox1.Image = rm.GetObject(index1) as Image;
    Images1.Add((Image)Booster_pack_2.Properties.Resources.ResourceManager.GetObject(index1));
}

如果两个图像相同,则应将图像分配给局部变量并使用它。只是一个建议。