My.Resources オブジェクト

アプリケーションのリソースにアクセスするためのプロパティとクラスを提供します。

Remarks

My.Resources オブジェクトは、アプリケーションのリソースへのアクセスを提供し、アプリケーションのリソースを動的に取得できるようにします。 詳細については、「アプリケーション リソースの管理 (.NET)」を参照してください。

My.Resources オブジェクトは、グローバル リソースのみを公開します。 フォームに関連付けられたリソース ファイルへのアクセスは提供しません。 フォームのリソースには、フォームからアクセスする必要があります。

My.Resources オブジェクトから、アプリケーションのカルチャ固有のリソース ファイルにアクセスできます。 既定では、My.Resources オブジェクトは、UICulture プロパティのカルチャに一致するリソース ファイルからリソースを検索します。 ただし、この動作をオーバーライドして、リソースに使用する特定のカルチャを指定することができます。 詳細については、「.NET アプリのリソース」を参照してください。

プロパティ

My.Resources オブジェクトのプロパティは、アプリケーションのリソースへの読み取り専用アクセスを提供します。 リソースを追加または削除するには、プロジェクト デザイナーを使用します。 My.Resources.resourceName を使用することで、プロジェクト デザイナーを使用して追加されたリソースにアクセスできます。

また、ソリューション エクスプローラーでプロジェクトを選択し、 [プロジェクト] メニューの [新しい項目の追加] または [既存項目の追加] をクリックして、リソース ファイルを追加または削除することもできます。 この方法で追加されたリソースには、My.Resources.resourceFileName.resourceName を使用してアクセスできます。

各リソースには名前、カテゴリ、および値が含まれ、これらのリソース設定によって、リソースにアクセスするためのプロパティが My.Resources オブジェクトにどのように表示されるかが決まります。 プロジェクト デザイナーで追加したリソースの場合:

  • 名前はプロパティの名前を決定します。

  • リソース データはプロパティの値です。

  • カテゴリはプロパティの型を決定します。

カテゴリ プロパティのデータ型
文字列 String
イメージ Bitmap
アイコン Icon
オーディオ UnmanagedMemoryStream

UnmanagedMemoryStream クラスは Stream クラスから導出されるため、Play メソッドなどのストリームを受け取るメソッドで使用できます。
ファイル - String (テキスト ファイルの場合)。
- Bitmap (イメージ ファイルの場合)。
- Icon (アイコン ファイルの場合)。
- UnmanagedMemoryStream (音声ファイルの場合)。
その他 デザイナーの [型] 列の情報によって決まります。

クラス

My.Resources オブジェクトは、各リソース ファイルを共有プロパティを持つクラスとして公開します。 クラス名は、リソース ファイルの名前と同じです。 前のセクションで説明したように、リソース ファイル内のリソースはクラスのプロパティとして公開されます。

例 1

この例では、フォームのタイトルを、アプリケーション リソース ファイル内の Form1Title という名前の文字列リソースに設定します。 この例を機能させるには、アプリケーションのリソース ファイルに Form1Title という名前の文字列が必要です。

Sub SetFormTitle()
    Me.Text = My.Resources.Form1Title
End Sub

例 2

この例では、フォームのアイコンを、アプリケーションのリソース ファイルに格納されている Form1Icon という名前のアイコンに設定します。 この例を機能させるには、アプリケーションのリソース ファイルに Form1Icon という名前のアイコンが必要です。

Sub SetFormIcon()
    Me.Icon = My.Resources.Form1Icon
End Sub

例 3

この例では、フォームの背景イメージを、アプリケーション リソース ファイル内にある Form1Background という名前のイメージ リソースに設定します。 この例を機能させるには、アプリケーションのリソース ファイルに Form1Background という名前のイメージ リソースが必要です。

Sub SetFormBackgroundImage()
    Me.BackgroundImage = My.Resources.Form1Background
End Sub

例 4

この例では、アプリケーションのリソースファイルに Form1Greeting という名前のオーディオ リソースとして格納されているサウンドを再生します。 この例を機能させるには、アプリケーションのリソース ファイルに Form1Greeting という名前のオーディオ リソースが必要です。 My.Computer.Audio.Play は、Windows フォーム アプリケーションでのみ使用できます。

Sub PlayFormGreeting()
    My.Computer.Audio.Play(My.Resources.Form1Greeting, 
        AudioPlayMode.Background)
End Sub

例 5

この例では、フランス語のカルチャ バージョンのアプリケーションの文字列リソースを取得します。 リソースには Message という名前が付けられます。 My.Resources オブジェクトが使用するカルチャを変更するために、この例では ChangeUICulture を使用しています。

この例を機能させるには、アプリケーションのリソース ファイルに Message という名前の文字列が必要であり、アプリケーションには、そのリソース ファイルのフランス語のカルチャ バージョン、Resources.fr-FR.resx が必要です。 アプリケーションにフランス語のカルチャ バージョンのリソース ファイルがない場合、My.Resource オブジェクトは、既定のカルチャ リソース ファイルからリソースを取得します。

Sub ShowLocalizedMessage()
    Dim culture As String = My.Application.UICulture.Name
    My.Application.ChangeUICulture("fr-FR")
    MsgBox(My.Resources.Message)
    My.Application.ChangeUICulture(culture)
End Sub

関連項目