[英]Windows forms ImageList - Add images with Relative path - No file copy
我正在尝试将图像添加到我的树节点( ImageList.Add()
),但无法找出一种很好的方法。
我已经阅读了MSDN帮助,我应该使用System.Drawing.Image.FromFile(path)
。 但是不能只是在某处获取文件。 我正在构建一个DLL,并希望它是一个文件,没有位图与它一起复制。
因此,我读过我应该将Image文件添加到项目中,并用Build Action将其标记为“ Resource”。 好的,但是我从哪里得到? 我看到人们在XAML文件中使用它,但我没有。
看到使用Resources.SomeName
,但是找不到那些Resources
类。
所以....我该怎么做? 我已经将文件标记为资源,只需要将它们添加到ImageList中即可。
顺便说一句,我很想使用相对于将图像添加到ImageList的Code File
的路径。 但是,如果不可能,则仅相对于程序集根目录。
如果要使用文件路径,对于项目中的项目,必须将“复制到输出目录”属性设置为“始终复制”或“如果更新则复制”,否则它将不在bin文件夹中,然后您将尝试将路径传递到不存在的文件。 在这种情况下,构建动作并不是那么重要。
如果要使用已编译的资源,并通过Resources对象引用它们,请参见我的其余答案。 我假设您使用的是Visual Studio 2005或更高版本。
要将图像作为已编译资源添加到干净的Windows Forms项目中,以便可以通过Resources.SomeName
访问它,请执行以下操作:
现在,当您编辑代码(我的代码是Fom1.cs)时,我可以将其作为System.Drawing.Bitmap的图像作为Properties.Resources.TestImage进行访问。
在我看来,这是处理要编译到应用程序中的图像的最佳方法。 如果要添加用户添加的图像,则需要使用OpenFileDialog或类似的方法来获取文件路径。 然后Image.FormFile()将是您想要的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.