0

我有一个现有表单的应用程序,该表单在顶部的每个 ToolStripButton 上都有图像。这些图像在resx文件中,看起来好像仅适用于此表单。我想用相同的图像制作另一个表格。

导入这些图像以便我的所有表单都可以使用它们的正确方法是什么。例如,保存和打开按钮将在大多数表单上。

4

1 回答 1

2

在一个工作中的大项目中,我们有一个解决方案,其中包含许多带有用户控件和表单的项目。这就是为什么我们有一个名为 Resources 的额外项目,它为整个解决方案保存不同类型的资源(单独的资源文件):

  • 字符串(翻译)
  • 图片
  • 属性名称
  • 等等

我们将该项目引用到解决方案中需要资源的所有其他项目。这种方式资源是分开保存的,dll可以很容易地替换,只要使用相同的资源名称就不会损坏任何东西。

我们还在需要相同图像的完整不同项目(解决方案)中使用 dll 程序集。如果命名正确(例如 Company.Resources.dll -> Company.Resources.Images.Toolbar.Add/Remove/Settings),它非常适合每个新项目。

在您的情况下,可以在 ProjectB 中引用 ProjectA 以使用相同的资源(只要项目位于相同的解决方案中),但这可能并不总是可能的(例如,为了避免循环引用)。


创建新的 WinForm 解决方案(在我的示例中,一个解决方案有两个项目)。添加类库类型的新项目:

添加资源项目

将新资源添加到资源项目(在我的字符串和图像示例中):

将资源添加到资源项目

添加资源项目资源

添加文本

为图像添加资源文件:

添加图片资源

添加一些图像:

将图像添加到图像资源文件

将图像添加到文件

现在从其他项目中引用资源项目:

参考资源项目

参考资源项目

重要=> 为了使用程序集外部的资源,您需要将可见性设置为公共:

设置资源可见性

编译一次解决方案并从任何地方使用引用资源项目:

资源项目使用

于 2013-10-31T21:09:24.413 回答