Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么在Visual Studio 2013中保存Form.designer.cs后Form.resx中的所有内容都会自动清理?_C#_Visual Studio_Resx - Fatal编程技术网

C# 为什么在Visual Studio 2013中保存Form.designer.cs后Form.resx中的所有内容都会自动清理?

C# 为什么在Visual Studio 2013中保存Form.designer.cs后Form.resx中的所有内容都会自动清理?,c#,visual-studio,resx,C#,Visual Studio,Resx,这是我第一次在VisualStudio中使用resx文件存储字符串。这太奇怪了,当我在designer.cs上修改并保存它时,resx中的所有字符串都消失了。以前有人遇到过这个问题吗?如何解决?谢谢 Form.resx仅由WinForms designer使用,因此在任何情况下都不要使用它 存储在此类设计器管理的资源文件中的内容可以是 表单图标 控件工具提示(如果其内容长于预定义的长度) 图像列表内容 以及许多其他(未记录的) 正如@Kilazur所指出的,您应该将自己的资源存储在新创建的资

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

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

存储在此类设计器管理的资源文件中的内容可以是

  • 表单图标
  • 控件工具提示(如果其内容长于预定义的长度)
  • 图像列表
    内容
  • 以及许多其他(未记录的)

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

您不应该手动编辑
Form.resx
文件。与
Form.Designer.cs
文件一起,只能使用winform Designer编辑这些文件

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

如果需要放置自定义资源,只需创建单独的resx文件(请参阅如何使用它们)


这仍然是一个问题,如果你真的需要使用资源文件。使用
static
类来存储字符串是一种更舒适的方式,您将拥有所有智能功能(查找所有引用,无拼写错误等),同时访问指定identificator所需的资源,在这里您很容易犯一两个错误。如果您考虑本地化,那么情况就不同了(但您仍然可以使用反射和文本文件,使其比microsoft satellite方式更舒适)。

您应该将自定义字符串(即与控件没有直接关系)与设计器的.resx文件放在不同的.resx文件中。如果是这样,Form.resx做了什么?我应该什么时候使用它?看一看。这些.resx文件是专门为包含控件的翻译而设计的,因此设计器将删除其中的任何其他内容。