Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C-将数据(图片)集成到.exe中_C#_Visual Studio - Fatal编程技术网

C# C-将数据(图片)集成到.exe中

C# C-将数据(图片)集成到.exe中,c#,visual-studio,C#,Visual Studio,这是我的第一个问题 我通过VisualStudioC做了一个关于世界199个州的小测验项目。 因此,我收集了所有国家的国旗,并把它们放在一个文件夹里——你可以想象我收集了很多 要运行当前项目,我需要包含所有这些.gif图像的文件夹- 否则,启动将以致命错误结束:- 我的问题是,是否有可能将这些图像集成到我的.exe文件中,这样我就可以在没有那个讨厌的文件夹的情况下运行它。同样重要的是,未来的项目有更多的内容 如果可能的话,怎么做? 如果你能让我知道如何使用这些图片-它们有什么路径等等,那也太好了

这是我的第一个问题

我通过VisualStudioC做了一个关于世界199个州的小测验项目。 因此,我收集了所有国家的国旗,并把它们放在一个文件夹里——你可以想象我收集了很多

要运行当前项目,我需要包含所有这些.gif图像的文件夹- 否则,启动将以致命错误结束:-

我的问题是,是否有可能将这些图像集成到我的.exe文件中,这样我就可以在没有那个讨厌的文件夹的情况下运行它。同样重要的是,未来的项目有更多的内容

如果可能的话,怎么做? 如果你能让我知道如何使用这些图片-它们有什么路径等等,那也太好了=

提前谢谢


Robbepop

在.net中,每个程序集都可以包含所谓的资源。可以将它们添加到“资源”选项卡中的项目属性中。之后,您可以通过ProjectNameSpace.Properties.Resources访问它们。

您可以将图像添加为嵌入式资源。然后使用程序集中的ManifestResourceStream提取原始字节数据,然后将其作为映像加载

注意:这与下面Femaref的回答/方法不同。

您可以通过转到将资源文件添加到应用程序中

项目>>您的项目属性>> 资源>>创建一个资源文件

然后,您可以简单地将任何图像添加到应用程序中,并通过代码引用它。从菜单顶部的下拉列表中选择图像,然后单击从现有文件添加资源>>

保存资源文件后,您可以通过代码访问图像,例如

> Image img =
> YourProject.Properties.Resources.Image1
但是,鉴于您拥有的图像数量,以及我认为您使用这些图像的目的,我建议您使用图像列表,您可以将所有图像添加到其中,并通过它们的键或索引访问它们。e、 g

Image img = imageList1[0];  

这可以在工具箱中找到

Image img = imageList1["US"];