我有一个现有表单的应用程序,该表单在顶部的每个 ToolStripButton 上都有图像。这些图像在resx
文件中,看起来好像仅适用于此表单。我想用相同的图像制作另一个表格。
导入这些图像以便我的所有表单都可以使用它们的正确方法是什么。例如,保存和打开按钮将在大多数表单上。
我有一个现有表单的应用程序,该表单在顶部的每个 ToolStripButton 上都有图像。这些图像在resx
文件中,看起来好像仅适用于此表单。我想用相同的图像制作另一个表格。
导入这些图像以便我的所有表单都可以使用它们的正确方法是什么。例如,保存和打开按钮将在大多数表单上。
在一个工作中的大项目中,我们有一个解决方案,其中包含许多带有用户控件和表单的项目。这就是为什么我们有一个名为 Resources 的额外项目,它为整个解决方案保存不同类型的资源(单独的资源文件):
我们将该项目引用到解决方案中需要资源的所有其他项目。这种方式资源是分开保存的,dll可以很容易地替换,只要使用相同的资源名称就不会损坏任何东西。
我们还在需要相同图像的完整不同项目(解决方案)中使用 dll 程序集。如果命名正确(例如 Company.Resources.dll -> Company.Resources.Images.Toolbar.Add/Remove/Settings),它非常适合每个新项目。
在您的情况下,可以在 ProjectB 中引用 ProjectA 以使用相同的资源(只要项目位于相同的解决方案中),但这可能并不总是可能的(例如,为了避免循环引用)。
创建新的 WinForm 解决方案(在我的示例中,一个解决方案有两个项目)。添加类库类型的新项目:
将新资源添加到资源项目(在我的字符串和图像示例中):
为图像添加资源文件:
添加一些图像:
现在从其他项目中引用资源项目:
重要=> 为了使用程序集外部的资源,您需要将可见性设置为公共:
编译一次解决方案并从任何地方使用引用资源项目: