|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here.|
Resources Page, Project Designer
The Resource Designer is a user interface tool that enables you to manage resources (such as strings, images, icons, audio, and other files) for your project.
The Resources page of the Project Designer hosts an instance of the Resource Designer that stores and maintains resources in a single location (Resources.resx).
The Resource Designer is language-neutral and supports projects in all Visual Studio languages. Items that you add to the project by using the Resource Designer are placed in the Resources directory for your project. The designer information is stored in a file named Resources.resx, and code for the resource is stored in Resources.Designer.cs, Resources.Designer.vb, or Resources.Designer.jsl.
You can also use the Resource Designer to edit stand-alone .resx files. For example, if you add a resource file by using Solution Explorer, its settings are kept in a separate .resx file and do not appear in the Project Designer. Double-clicking a resource's .resx file opens a separate Resource Designer for that resource.
You can edit file-based resources by double-clicking the resource in the Resource Designer. The Resource Designer opens the item in the default editor for that file type. If no editor is registered for that file type, the file is opened in the Windows default application for that type. To change the file type association, see How to: Associate an Editor with a Resource Type.
For Visual C#, the Resource Designer generates strongly-typed resources in the project's default namespace (specifically, ProjectName.Properties in Resources.Designer.cs). For information about accessing resources in Visual C#, see Adding and Editing Resources (Visual C#).
For Visual Basic, the Resource Designer generates strongly-typed resources in the My.Resources namespace (in Resources.Designer.vb). For information about accessing resources in Visual Basic by using the My.Resources object, see Accessing Application Resources.
Strongly-typed resources encapsulate access to resources by creating classes that contain a set of static, read-only (Get) properties at compile time. You can consume resources by using the Get properties rather than using the GetString and GetObject methods of the ResourceManager class. Strongly-typed resources also make it easier to develop localizable applications. For information about strongly-typed resources, see StronglyTypedResourceBuilder.
Resources also have a Persistence property that specifies whether they are linked or embedded. Linked resources are stored as files within the project; the .resx file stores a relative path to the file, and during compilation, the resource data is placed into the manifest for the application. With embedded resources, the resource data is stored directly in the .resx file.
By default, all new resources are linked resources, as opposed to embedded. If you try to edit an embedded resource, you will receive a message prompting you to convert the item to a linked resource in order to edit it; conversion is recommended but optional. For more information, see Linked and Embedded Resources.
Your computer might show different names or locations for some of the Visual Studio user interface elements in the following instructions. The Visual Studio edition that you have and the settings that you use determine these elements. For more information, see Visual Studio Settings.
To access the Resources page, select a project node in Solution Explorer, and then, on the Project menu, click Properties. When the Project Designer appears, click the Resources tab.