“项目设计器” ->“资源”页
资源设计器是一种用户界面工具,可用来管理项目资源(例如,字符串、图像、图标、音频和其他文件)。
项目设计器的**“资源”**页承载一个在单一位置 (Resources.resx) 上存储和维护资源的资源设计器实例。
资源设计器是非特定于语言的,支持所有 Visual Studio 语言项目。使用资源设计器添加到项目的项放置在项目的 Resources 目录中。设计器信息存储在名为 Resources.resx 的文件中,而资源代码存储在 Resources.Designer.cs、Resources.Designer.vb 或 Resources.Designer.jsl 中。
也可以使用资源设计器编辑独立的 .resx 文件。例如,如果使用**“解决方案资源管理器”**添加资源文件,则其设置保存在单独的 .resx 文件中并且不会出现在项目设计器中。双击资源的 .resx 文件可为该资源打开一个单独的“资源设计器”。
可以通过在资源设计器中双击资源来编辑基于文件的资源。资源设计器在该文件类型的默认编辑器中打开此项。如果没有为该文件类型注册编辑器,将在对应于该类型的 Windows 默认应用程序中打开该文件。若要更改文件类型关联,请参见 如何:将编辑器与资源类型关联。
对于 Visual C#,“资源设计器”在项目的默认命名空间(具体而言就是 Resources.Designer.cs 中的 项目名.Properties)中生成强类型资源。
对于 Visual Basic,资源设计器将强类型资源生成到 My.Resources 命名空间(在 Resources.Designer.vb 中)中。有关通过使用 My.Resources 对象访问 Visual Basic 中的资源的信息,请参见访问应用程序资源。
强类型资源通过在编译时创建包含一组静态只读 (Get) 属性的类,封装对资源的访问。可以通过使用 Get 属性来使用资源,而不是使用 ResourceManager 类的 GetString 和 GetObject 方法。强类型资源还使开发可本地化的应用程序变得更加容易。有关强类型资源的信息,请参见 StronglyTypedResourceBuilder。
资源还具有 Persistence 属性,该属性用来指定资源是链接的还是嵌入的。链接的资源作为文件存储在项目内;.resx 文件存储这些文件的相对路径,在编译期间,资源数据会放置在应用程序清单中。通过嵌入的资源,可以将资源数据直接存储在 .resx 文件中。
默认情况下,所有新建资源都是链接的资源,而不是嵌入的资源。如果尝试编辑嵌入的资源,您将会接收到一条消息,提示您将该项转换为链接的资源以便对其进行编辑;此转换是可选的,但建议进行转换。有关更多信息,请参见链接的资源与嵌入的资源。
备注
以下说明中的某些 Visual Studio 用户界面元素在计算机上出现的名称或位置可能会不同。您安装的 Visual Studio 版本以及使用的设置决定了这些元素。有关更多信息,请参见 使用设置。
若要访问**“资源”页,请在“解决方案资源管理器”中选择项目节点,然后在“项目”菜单上单击“属性”。当“项目设计器”出现时,单击“资源”**选项卡。
资源视图选择器
若要按照类型查看项目资源,请在**“资源”页的左上角单击箭头,并从下拉列表中选择资源类型。选项包括:“字符串”、“图像”、“图标”、“音频”、“文件”和“其他”。“字符串”**是默认视图。下面的列表描述了各种视图。
字符串
在带有字符串资源的**“名称”、“值”和“注释”**列的网格中显示字符串。可以在运行时通过使用 My.Resources 访问作为 String 的资源。有关此网格中的列的说明,请参见此主题后面的“设置网格”一节。图像
显示所有图像文件(包括 .bmp、.jpg 和 .gif 格式)。这些文件在运行时作为 Bitmap 公开。此类别也包括作为 Metafile 公开的 Windows 图元文件。图标
显示作为 Icon 公开的图标 (.ico) 文件。音频
显示声音文件(包括 .wav、.wma 和 .mp3 文件)。这些文件作为字节数组公开。双击一个音频项可在 Windows Media Player 中打开并播放它。文件
显示不适合以上类别的任何文件。此视图中的项是作为 String 公开的文本文件,或是作为字节数组公开的二进制文件。其他
显示用来添加其他支持字符串序列化的类型(例如,Font、Enum、Color 和 Point)的设置网格。此网格包含以下列:“名称”、“类型”、“值”和“注释”。有关此网格中的列的说明,请参见此主题后面的“设置网格”一节。
添加资源、移除资源和访问修饰符
这些控件可用来添加和删除资源,也可用来更改生成的 My.Resources 类的访问级别。
添加资源
从页顶部的**“添加资源”下拉列表中选择一项以添加资源。这些选项包括“添加现有文件”、“添加新字符串”、“新建图像”(PNG、BMP、GIF、JPEG 或 TIFF 格式)、“添加新图标”和“添加新文本文件”**。移除资源
在设置网格中选择一个现有资源(如下所述)并单击**“移除资源”**以删除该资源。访问修饰符
添加到项目的资源文件的资源设计器中以及默认的资源设计器 (Resources.resx) 中提供此选项。此选项指定 My.Resources 帮助器类的访问级别,这些类是 Visual Studio 在 Resources.Designer.cs 或 Resources.Designer.vb 中生成的。My.Resources 类提供对资源的运行时访问。
对于 Visual C# 项目,访问修饰符可以是**“Internal”、“Public”或“没有生成代码”**。
对于 Visual Basic 项目,访问修饰符可以是**“Friend”、“Public”或“没有生成代码”**。
默认情况下,设置为**“Internal”(在 C# 中)或“Friend”(在 Visual Basic 中)。当 Visual Studio 生成 Internal 或 Friend 的帮助器类时,可执行 (.exe) 应用程序不能访问已添加到类库(.dll 文件)的资源和设置。如果需要共享 DLL 中的资源和设置,请将访问修饰符设置为“Public”**。
对于本地化资源文件(例如,项目名.de-DE.resx),应该将访问修饰符设置为**“没有生成代码”,这样在运行时应用程序可自动访问相应的本地化资源文件。有关本地化资源的更多信息,请参见如何:创建资源文件的本地化版本。访问修饰符“没有生成代码”**对默认的资源设计器不可用。
设置网格
设置网格用于配置字符串资源的设置。此网格仅在**“字符串”视图和“其他”**视图中出现。此网格包括以下列。
Name
在此字段中输入资源名称。类型
指定支持字符串序列化的类型。(此列仅在**“其他”**视图中出现。)Value
指定与资源设置关联的值。例如,如果资源是字符串,则应在此处键入其文本值。注释
(可选)键入描述字符串资源的注释。只能在设计时查看注释。