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

本文关键字:文本 中文 图像 资源 帮助 加载 资源管理器 | 更新日期: 2023-09-27 18:09:43

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

-名称"Assembly"在上下文中不存在

-我不知道如何使用我的字符串(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);
        }
    }
}

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

您需要System.Reflection在您的代码中使用Assembly类addy2012建议。对于列表,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));
}

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