VB.NET WinForm中TabControl内PictureBox加载图片报BC30456错误如何解决
问题根因
你的代码中image.FromFile预期调用的是System.Drawing.Image类的静态加载方法,但将PictureBox放入TabPage后,代码上下文的标识符优先级发生了变化:image被VB.NET优先解析为当前TabPage的相关成员(要么是TabPage本身的Image实例属性,要么是你的TabPage控件的Name被设置为了image),TabPage类本身没有FromFile方法,因此抛出BC30456错误。
解决方案
可任选以下一种方式修复:
- 最稳妥的方案是显式指定Image类的完整命名空间,彻底规避上下文歧义,修改代码为:
Me.PictureBox1.Image = System.Drawing.Image.FromFile("c:\tmp\01_front.png") - 若代码文件顶部已经导入
System.Drawing命名空间,也可以简化为指定类所属的命名空间段:Me.PictureBox1.Image = Drawing.Image.FromFile("c:\tmp\01_front.png") - 检查你当前使用的TabPage控件的
Name属性,如果被误设为image,将其修改为TabPage1这类常规命名,也可消除标识符冲突。
内容的提问来源于stack exchange,提问作者Henry Maher
相关产品推荐
相关产品推荐

