为什么在Visual Studio 2013中保存Form.designer.cs后,Form.resx中的所有内容都会



这是我第一次在Visual Studio中使用resx文件来存储字符串。奇怪的是,当我在designer.cs上修改并保存它时,resx中的所有字符串都不见了。以前有人遇到过这个问题吗?如何解决?谢谢

您不应该手动编辑Form.resx文件。与Form.Designer.cs文件一起,它们只能使用winform设计器进行编辑。

Form.resxForm.locale.resx文件包含与该表单控件相关的所有资源:图标、光标、图像、本地化字符串等。

如果您需要放置自定义资源,那么只需创建单独的resx文件(请参阅此处了解如何使用它们)。

如果您真的需要使用资源文件,这仍然是一个问题。使用static类来存储字符串是一种更舒适的方式,您将拥有所有的智能能力(查找所有引用,没有拼写错误等),同时访问指定标识符所需的资源,在那里您很容易犯一两个错误。如果你考虑本地化,那就另当别论了(但你仍然可以使用反射和文本文件,让它比微软的卫星方式更舒适)。

Form.resx仅由WinForms设计器使用,因此在任何情况下都不要使用它。

存储在这样的设计者管理的资源文件中的内容可以是

  • 表单图标
  • 如果工具提示的内容超过预定义长度,则控制工具提示
  • ImageList内容
  • 以及许多其他(未记录在案)

正如@Kilazur所指出的,您应该将自己的资源存储在不受设计器控制的新创建的资源文件中。

最新更新