我为我的公司创造了一个相当花哨的WinForms应用程序。我们有一个图形设计师创建了GUI,实现起来很麻烦,有许多图形按钮、许多分层的背景和标志、动画等。
但是现在我的公司想要在不同品牌下进行再销售。由于我大部分代码都写得很好,我告诉上级我可以在一周内做出完全重新品牌过的版本。基本上,我只需要在xml设置文件中更改一堆设置,用新的图形集替换原来的图形,然后构建即可。
问题是如果他们想要5或6个不同品牌,我将不得不支持5个不同的构建(实际上我应该只支持1个,使用不同的模板)。
问题在于,对于WinForms应用程序来说,不容易(据我所知)交换图像。我把所有的图形资源放在一个文件夹里,但是一旦每个文件被输入到其相应的图像列表或容器中,在Visual Studio中更新它的唯一方法是将其删除并重新添加,更改源文件夹不会导致嵌入式图像刷新。对于每个构建,这将非常繁琐,必须有更简单的方法。
补充:经过进一步调查,我倾向于某种resx文件编辑器。然而,我看到的那些更侧重于将字符串翻译成各种语言,并且要么非常薄弱,要么根本无法编辑二进制资源,如位图/ png等。但是如果您在xml查看器中打开一个resx文件(我使用带有.resx设置为使用xml语法高亮显示的notepad2),Microsoft会非常友好地告诉您每种类型是如何编译的(大多是base64的变体)。
但是现在我的公司想要在不同品牌下进行再销售。由于我大部分代码都写得很好,我告诉上级我可以在一周内做出完全重新品牌过的版本。基本上,我只需要在xml设置文件中更改一堆设置,用新的图形集替换原来的图形,然后构建即可。
问题是如果他们想要5或6个不同品牌,我将不得不支持5个不同的构建(实际上我应该只支持1个,使用不同的模板)。
问题在于,对于WinForms应用程序来说,不容易(据我所知)交换图像。我把所有的图形资源放在一个文件夹里,但是一旦每个文件被输入到其相应的图像列表或容器中,在Visual Studio中更新它的唯一方法是将其删除并重新添加,更改源文件夹不会导致嵌入式图像刷新。对于每个构建,这将非常繁琐,必须有更简单的方法。
补充:经过进一步调查,我倾向于某种resx文件编辑器。然而,我看到的那些更侧重于将字符串翻译成各种语言,并且要么非常薄弱,要么根本无法编辑二进制资源,如位图/ png等。但是如果您在xml查看器中打开一个resx文件(我使用带有.resx设置为使用xml语法高亮显示的notepad2),Microsoft会非常友好地告诉您每种类型是如何编译的(大多是base64的变体)。