我正在尝试创建一个简单的随机发生器,单击按钮,然后会出现不同的图像。我已将所有图像放入resource1.resx部分(其中的68个)中,并分别命名为1_png,2_png等。
我正在尝试从资源部分中随机提取不同的图像,但始终收到标识符错误。这是我在Visual Studio和C#中的第一个项目,所以我有点迷路了。到目前为止,这就是我所拥有的。
我尝试更改文件本身的名称,尝试更改代码以接受新图像,但无济于事。
private void button1_Click_1(object sender, EventArgs e)
{
for (var i = 0; i < 10; i++)
{
p1 = IntUtil.Random(1, 8);
p2 = IntUtil.Random(1, 8);
p3 = IntUtil.Random(1, 8);
p4 = IntUtil.Random(1, 8);
}
if (pictureBox1.Image != null) pictureBox1.Image.Dispose();
pictureBox1.Image = Resource1.(p1.ToString() + "_png");
if (pictureBox2.Image != null) pictureBox2.Image.Dispose();
pictureBox2.Image = Resource1.(p2.ToString() + "_png");
if (pictureBox3.Image != null) pictureBox3.Image.Dispose();
pictureBox3.Image = Resource1.(p3.ToString() + "_png");
if (pictureBox4.Image != null) pictureBox4.Image.Dispose();
pictureBox4.Image = Resource1.(p4.ToString() + "_png");
我期望发生的是,当我按下按钮时,不同的随机图像将出现在4个图片框中。
答案 0 :(得分:0)
Resource1.(...)
是无效的表达式。要从资源动态获取值,请使用ResouceManager
:
var rm = Resource1.ResourceManager;
var i = 2;
var image = (Bitmap)rm.GetObject(i.ToString() + "_png");