Form1资源与项目资源

时间:2011-02-16 08:04:32

标签: c# visual-studio resources

我试图了解资源。在我创建项目的VS中:
- Form1 Form1.resx - 属性

下有 Resources.resx

我不知道使用哪一个。显然我不能使用Form1.resx。当我尝试在那里添加一些东西时,我得到一个警告,它可能会弄乱项目。另外,我无法访问它。 如果我使用Properties下的Resources.resx,我可以使用Properties.Resources。(filename)轻松访问那里的文件。 这两者之间有什么区别? Form1.resx有什么用? 谢谢

3 个答案:

答案 0 :(得分:0)

Form1.resx用于表单并定义它作为控件的含义。当您使用VS设计器对UI进行更改时,您也不应尝试手动编辑此文件,因为它会重新生成

Resources.resx适用于整个项目的全局(通用)资源。通常用于分享内容!

答案 1 :(得分:0)

Form1.resx适合直接在Form1代码文件中嵌入图形对象。这样,您可以轻松地将该表单剪切并粘贴到其他项目中。此外,如果您创建另一个名为Form2的Form1副本,则可以对其中一个进行更改,而不必担心影响其他表单的更改。 Resources.resx以相反的方式工作。如果在Resources.resx中对资源进行更改,则将更新使用该资源的所有类。例如,如果您有文件路径资源并且更改了路径,那么引用该资源的所有类都将获得更新的路径。

答案 2 :(得分:0)

在Visual Studio中玩resx文件时要格外小心!!!!

当您尝试更改/添加/编辑/删除表单的级别资源时,您很快就会崩溃项目。

最好使用项目的级别资源文件。

有几种类型的资源,如字符串,图像,音频,图标,文件等。

项目级资源可用于在所有表单中共享资源(主要是图形):

从Project Menu / myProject的Properties / Resources / Add existing file菜单项中导入一次图形。

警惕一旦你添加了资源,并在你的项目中使用了那个资源,你不应该从资源文件中删除它而不是你做的不再使用它,否则资源将被删除,但不会引用它,并且你会得到编译时错误,甚至更糟的是运行时错误。

同样,imageList控件将图形嵌入到表单的级别。但是那些不能在表单之间共享,所以如果你认为你要重新使用图形,那么最好将它作为应用程序的全局资源添加到项目的级别。

此外,图像列表很难维护 - 进化。

要将现有表单复制到新表单,请在同一项目或其他项目中,不要复制/粘贴formxxx.vb文件。 同上,不要将resx文件从一个项目复制/粘贴到另一个项目。

这是您应该使用的相当繁琐的过程:

1 - 将表单复制到同一个项目:

如果没有自定义表单的级别资源(由您添加): 创建一个新的空表单,并使其与原始表单的大小相同 - 以及根据需要使用其他属性。是的,手动。

从原始表单的设计类型Ctrl + A中选择其所有控件,然后将它们复制到新表单。

他们会保留他们的名字和财产。

对代码执行相同操作:复制/粘贴。 注意删除Imports:Public Class myOriginalForm

之后的第1行

2 - 要将表单复制到另一个项目,首先应确保所有项目的级别资源相同。而不是从资源文件夹中复制个人资源!

相反,请使用“添加现有资源”菜单项仔细导入新项目中的资源。您可以一次导入多个项目。

这样,您的资源就会被正确引用。

相关问题