0

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

-上下文中不存在名称“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);
        }
    }
}
4

1 回答 1

1

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

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

于 2014-06-22T20:56:12.010 回答