首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SplashScreen IOException

SplashScreen IOException
EN

Stack Overflow用户
提问于 2014-10-25 11:09:18
回答 3查看 2.9K关注 0票数 5
代码语言:javascript
复制
SplashScreen s = new SplashScreen(System.Reflection.Assembly.GetExecutingAssembly(),"splash.png");
s.Show(false);

调用s.Show()时,无论参数是false还是true,它都会抛出带有消息的IOException

无法定位资源“splash.png”

尽管splash.png被添加到资源中,并且它的Build Action资源

在使用Image控件时,我注意到了在WPF中使用图像时出现的许多问题。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-11-09 17:35:27

根据“我的代码不工作,我不知道为什么,我的代码工作,我不知道为什么”的原则,我已经解决了问题。

首先,我将splash映像的Build Action设置为Resource。(将图像放置为Embedded Resource并没有解决问题)。

第二,我的代码是:

代码语言:javascript
复制
SplashScreen s = new SplashScreen("resources/splash.png");
s.Show(false);
/* do some things */
s.Close(Timespan.FromMilliseconds(300));
票数 8
EN

Stack Overflow用户

发布于 2014-10-25 12:40:53

即使splash.png被添加到资源中,它的构建操作也是资源。

错误的构建操作,使其成为Embedded Resource。如果仍然有问题,请使用ildasm.exe查看.mresource指令的程序集清单,以确保资源被正确嵌入预期名称。

或者使用一个文件,遵循这些如何-to步骤。一般来说,更理智的方法,因为它没有多大的意义,有一个大的资源占用了程序的生命的地址空间,当它只需要一个短的时间,在程序的开始。

票数 1
EN

Stack Overflow用户

发布于 2014-10-25 15:45:48

尝试显式指定程序集名称,即使调用者与资源位于同一程序集中。

下面是使用Pack URI语法的外观:

代码语言:javascript
复制
pack://application:,,,/MyAssemblyName;component/MyResourcesFolder/MyImage.png

http://msdn.microsoft.com/en-us/library/aa970069.aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26561715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档