Ошибки после смены изображения кнопки панели инструментов - PullRequest
0 голосов
/ 06 апреля 2020

Как только я добавлю эту строку в код:

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

Я не могу открыть редактор этой формы.

Снимок экрана дизайнера

Я могу скомпилировать приложение и изображения, как они должны работать.

Ожидаемые результаты - новое изображение отображается без нарушения дизайна.

Реальные результаты - новый дизайнер разрывов изображений.

Когда я встраиваю его в .exe, он не открывается. Без изображений это работает без нареканий.

1 Ответ

0 голосов
/ 06 апреля 2020

Нет, не будет. Изображение будет построено, но ссылка на него по этому пути не будет работать.

Файл ресурсов будет встроен в ваш exe, но не в ".... \ Resources \ add.bmp". Этот путь существует только в вашей позиции конфигурации IDE, когда ваша программа находится в «bin \ Debug», вы меня понимаете?

Представьте, что вы поместили свой exe в C: \, тогда где "... .\Ресурсы"? Вы не можете ссылаться на изображение таким образом.

Вы должны добавить ресурсы на панели проекта (я думаю, что вы сделали это), и способ, которым вы получаете этот файл через ResourceManager, не используя этот путь , Например:

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

Менеджер ресурсов извлечет растровое изображение ресурса из вашего встроенного exe-файла. Просто использование этого пути не сработает. Поскольку дизайнер не запускается в \ bin \ Debug, неудивительно, что он тоже не работает, поскольку не может найти ваш файл по этому пути.

...