如何使用PictureBox控件随机显示项目资源中的图片?
问题解决:随机显示项目资源中的图片到PictureBox
错误原因
你遇到的错误提示翻译为:
无法将类型“string”隐式转换为“System.Drawing.Image”
这是因为你直接把图片名称字符串赋值给了pictureBox1.Image,而它需要的是System.Drawing.Image类型的对象,不是字符串。另外你的代码里还有个小错误:字符串数组中的"Yellowcar,"多了个逗号,需要先修正。
解决方案
因为图片已经导入到项目资源中,你可以直接通过Properties.Resources访问这些图片资源。修改代码如下:
private void Form1_Load(object sender, EventArgs e) { // 直接创建Image数组,引用项目资源中的图片 Image[] imgs = { Properties.Resources.Blackcar, Properties.Resources.Bluecar, Properties.Resources.Greencar, Properties.Resources.Yellowcar, Properties.Resources.Redcar }; Random r = new Random(); int randomIndex = r.Next(imgs.Length); pictureBox1.Image = imgs[randomIndex]; }
说明
- 确保图片资源的名称和代码中
Properties.Resources.xxx的名称完全一致(区分大小写)。 Random实例在Form_Load中初始化一次即可,能保证每次运行程序生成不同的随机索引,实现每次启动显示不同图片的需求。
内容的提问来源于stack exchange,提问作者michaael115
相关产品推荐
相关产品推荐

