“项目设计器” ->“资源”页

资源设计器是一种用户界面工具,可用来管理项目资源(例如,字符串、图像、图标、音频和其他文件)。

项目设计器的**“资源”**页承载一个在单一位置 (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
    指定与资源设置关联的值。例如,如果资源是字符串,则应在此处键入其文本值。

  • 注释
    (可选)键入描述字符串资源的注释。只能在设计时查看注释。

请参见

任务

如何:添加或移除资源

如何:添加或移除字符串资源

如何:编辑资源

如何:编辑字符串资源

如何:将编辑器与资源类型关联

如何:创建嵌入的资源

如何:导入或导出资源

概念

链接的资源与嵌入的资源

访问应用程序资源

其他资源

管理应用程序资源