更改工具条按钮图像后出现错误

Errors after changing tool strip button image

一旦我将这一行添加到代码中:

this.tsbAdd.Image = Bitmap.FromFile(@"..\..\Resources\add.bmp");

我无法打开该表单的编辑器。

Screenshot of designer

我可以按应有的方式编译应用程序和图像。

预期结果 - 在不破坏设计器的情况下显示新图像。

实际效果 - 新图像打破了设计师的想法。

一旦我将其构建到 .exe 中,它就无法打开。没有图像,它可以完美运行。

不,不会。将构建图片,但通过此路径引用它不起作用。

资源文件将内置到您的 exe 中,但不在“....\Resources\add.bmp”中。这个路径只存在于你的IDE配置位置,当你的程序在"bin\Debug"的时候,明白吗?

假设你把你的exe放到C:\,那么“....\Resources”在哪里?您不能以这种方式引用图像。

您应该在项目面板中添加资源(我相信您已经这样做了),并且您获取此文件的方式是通过 ResourceManager,而不是使用此路径。像这样:

ResourceManager rm = Resources.ResourceManager;
this.tsbAdd.Image = (Image) rm.GetObject("add");

资源管理器将从您构建的 exe 中提取资源位图。仅使用该路径是行不通的。由于设计器在 \bin\Debug 中不是 运行,难怪它也坏了,因为它无法使用该路径找到您的文件。