我正在加工一个爱好国际象棋项目,当我加载片段图像时,它抛出一个例外,无法找到图像。我知道情况并非如此,它在我之前和之后的工作中加载它的方法有效。它们位于正确的位置,文件路径正确。起初,代码使用了Bitmap类而不是Image类,它给出了相同的结果。
我在类定义中加载图像的主要原因是我多次使用大多数图像,并且我想确保每个图像只加载一次。
这显示了类定义和第一个按钮,但是为每个部分加载了一个图像。
public partial class PieceButton : Button
{
private static readonly Image blackBishop = Image.FromFile("images/black_bishop.gif");
稍后,当一件物品移动时,我会将加载的图像应用于按钮。 该类继承Button,因为默认的按钮行为非常有用。 图像是.gif,因为按钮背景仍然可见(字段是白色或黑色)。
所以我的问题是:如何在类定义中正确加载这些图像?
答案 0 :(得分:1)
考虑将图像作为资源添加到Resources.resx,并让Visual Studio担心生成实际将底层数据转换为Image对象的代码。这有很多优点,最大的问题是在编译时会捕获任何问题(比如图像不存在),因为VS会提前生成Properties.Resources.whatever。
您还将获得所需的“一次加载图像”行为