我试图了解资源。在我创建项目的VS中:
- Form1 Form1.resx
- 属性
我不知道使用哪一个。显然我不能使用Form1.resx。当我尝试在那里添加一些东西时,我得到一个警告,它可能会弄乱项目。另外,我无法访问它。 如果我使用Properties下的Resources.resx,我可以使用Properties.Resources。(filename)轻松访问那里的文件。 这两者之间有什么区别? Form1.resx有什么用? 谢谢
答案 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 - 要将表单复制到另一个项目,首先应确保所有项目的级别资源相同。而不是从资源文件夹中复制个人资源!
相反,请使用“添加现有资源”菜单项仔细导入新项目中的资源。您可以一次导入多个项目。
这样,您的资源就会被正确引用。