Visual C# 更改控件上的图像会产生异常
Posted
技术标签:
【中文标题】Visual C# 更改控件上的图像会产生异常【英文标题】:Visual C# changing image on control gives exception 【发布时间】:2016-04-30 03:05:04 【问题描述】:我正在用 C# 编写一个插件,其中我有一个带有 linklabel
的用户控件,它控制一个显示为 tooltip
和标签旁边的 picturebox
以显示状态的表单表单是可见还是隐藏。
我有两个图像是本书通过 Visual Studio PludingResources Designer 添加为资源的。 (我尝试将图像的持久性设置为在编译时链接和嵌入以解决问题。)
橡胶遇到道路的代码如下:
pictureBox1.Image = SubAsst.PluginResources.SubAsst_Enabled1;
当代码执行到这一行以显示图像时,我得到
System.Resources.MissingManifestResourceException
异常。异常内容如下:
“找不到任何适合指定区域性或中性区域性的资源。请确保“SubAsst.PluginResources.resources”在编译时已正确嵌入或链接到程序集“SubtitlingAssistant”中,或者所需的所有附属程序集均已可加载且完全签名。”
我查看了 msdn 和其他所有我能找到的地方,但我还没有找到解决方案。除非我更改代码以使用内置系统图标,否则可以:
pictureBox1.Image = System.Drawing.SystemIcons.Information.ToBitmap();
到目前为止,这是我的解决方法。但是我想为插件使用我的自定义图像。
我怀疑 API 不允许使用图像资源,但这没有记录在案。我猜这是因为可以导入图标并显示在插件的默认按钮上。
如果您对此提出任何建议,我将不胜感激。
【问题讨论】:
【参考方案1】:好像有些资源文件丢失了,检查一下
MSDN 链接
You may receive a "System.Resources.MissingManifestResourceException" error message when you access the .resources file of the form at run time A System.Resources.MissingManifestResourceException exception occurs when you try to access a localized resource
C#: What does MissingManifestResourceException mean and how to fix it?
【讨论】:
哇,太好了,谢谢,尤其是对这个看似不同的问题的具体回答:***.com/questions/1327692/…【参考方案2】:解决办法如下:
缺少的是属性框中的 CustomToolNamespace:
构建操作:嵌入式资源 复制到输出目录:不要复制 自定义工具:ResXFileCodeGenerator 自定义工具命名空间:[myapplicationnamespace]命名空间与我的应用程序的命名空间相匹配。一旦我设置了这个并重建了应用程序,错误就消失了,并且显示了图像。
感谢 Meysam Tolouee 回答中的链接,该链接指向 this "off-topic" answer。这绝对不是题外话,我希望我能早点找到这个。
这个 StackOwerflow 是多么棒的工具啊!
【讨论】:
以上是关于Visual C# 更改控件上的图像会产生异常的主要内容,如果未能解决你的问题,请参考以下文章
visual studio 2013 中更改C#项目的 Framework 版本
c# winform程序.在控制面板中调整了DPI设置显示异常