このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
【6日でできるVisual Basic2022入門】④今日の運勢アプリ:リソースの追加

④今日の運勢アプリ:リソースの追加
本章では、占い結果の画像(Title/大吉/中吉/小吉/吉/凶)をプロジェクトのリソースに登録し、フォームから安全に参照できる状態を整えます。
Windows「ペイント」で作成したPNGを FormUranai.resx に追加する手順を解説します。また、起動時は PictureBox にTitleの画像を 初期表示し、SizeMode=StretchImage と併用して見栄えも最適化します。

4.今日の運勢アプリ:リソースの追加
4.1. この章のゴール
- 結果画像(タイトル/大吉/中吉/小吉/吉/凶)の6点をプロジェクト リソースとして登録する。
- 画像ファイルの取り込み方法の習得
- フォーム起動時にタイトル画像を表示する最小コードを追加
4.2. リソースの基礎(VB 2022)
| 用語 | 概要 | VBからの参照方法 |
|---|---|---|
| FormUranai.resx | 画像・音・文字列等を束ねる定義ファイル | GetObject |
| アセンブリ リソース | 実行ファイルに埋め込まれるバイナリ | 配布が容易・パス不要 |
| リソース名 | 英数字と _ を推奨(日本語や空白は非推奨) | 例:Daikichi, Title |
4.3. 画像仕様とファイル名の決め方
| 種類 | リソース名 | 推奨サイズ | 備考 |
|---|---|---|---|
| タイトル | Title | 256×100px | 起動時の初期表示 |
| 大吉 | Daikichi | 256×100px | 暖色系の明るい配色 |
| 中吉 | Chukichi | 256×100px | 黄緑など前向きカラー |
| 小吉 | Shokichi | 256×100px | 青系で落ち着き |
| 吉 | Kichi | 256×100px | スチールブルーなど |
| 凶 | Kyo | 256×100px | 紺〜深紅などコントラスト |
メモ:透明背景や容量削減を重視するなら PNG 推奨。Windows「ペイント」の新規作成は既定で BMP ですが、 PNG を指定して保存することができます。
4.4. 画像を用意する:Windows「ペイント」で作成
- 「ペイント」を起動 → キャンバスサイズを256×100に設定
- 文字ツールで結果名を描き、色や簡単な模様を加える。
Title.png,Daikichi.png, … のようにPNGで保存
素材のダウンロード
以下のリンクから使用する素材をダウンロードできます。
| Title.png | Daikichi.png | Chukichi.png | Shokichi.png | Kichi.png | Kyo.png |
|---|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
4.5. リソースを追加する
1.ソリューション エクスプローラーで「FormUranai.resx」をダブルクリックします。

2.「+」アイコンをクリックして、リソースを追加します。

3.「名前」に「Title」と入力、タイプに「Image」を値には「Title.png」を選択して「追加」ボタンをクリックします。

「Title.png」がリソースに追加されます。

4.残りの画像もリソースに追加します。

一覧に Title, Daikichi … が追加されていればOK
5.ソリューションエクスプローラを確認します。
Resourcesに画像が登録されていることが確認できます。

4.6. 初期表示にタイトル画像を出す最小コード
デザイナ設定だけでは画像は空のまま。フォーム読み込み時にタイトル画像をセットします。
Public Class FormUranai
Dim rm As New ComponentResourceManager(GetType(FormUranai))
Dim Title As Image = CType(rm.GetObject("Title"), Image)
Dim Daikichi As Image = CType(rm.GetObject("Daikichi"), Image)
Dim Chukichi As Image = CType(rm.GetObject("Chukichi"), Image)
Dim Shokichi As Image = CType(rm.GetObject("Shokichi"), Image)
Dim Kichi As Image = CType(rm.GetObject("Kichi"), Image)
Dim Kyo As Image = CType(rm.GetObject("Kyo"), Image)
Private Sub FormUranai_Load(sender As Object, e As EventArgs) _
Handles MyBase.Load
' 初期ガイダンス
TextResult.Text = "[占う]を押すと、今日の運勢が表示されます。"
TextResult.ForeColor = SystemColors.ControlText
' タイトル画像(リソース)を表示
PictureBoxResult.Image = Title
End Sub
End Class4.7. 占い結果に画像を割り当てる(コード雛形)
次章の本実装で使う割当関数の雛形です。ここでは画像だけ扱います(メッセージ色や文は前章の配列で)。
Private Function GetResultImage(key As Integer) As Image
Select Case key
Case 0 : Return Daikichi
Case 1 : Return Chukichi
Case 2 : Return Shokichi
Case 3 : Return Kichi
Case 4 : Return Kyo
Case Else : Title
End Select
End Function4.8. よくあるつまずきと対処
| 症状 | 原因 | 対処 |
|---|---|---|
GetObjectで参照できない | リソース名の綴り・大文字小文字不一致 | FormUranai.res.x 画面で実際の名前を確認、コード側を修正 |
| 画像サイズが小さい | SizeMode=StretchImage で引き伸ばし | StretchImage に変更、元画像を引き伸ばす |
| 画像が表示されない | リソースに未追加または Image=None | FormUranai.res.x に追加し、PictureBox.Image = Name を設定 |
| EXE が大きい | BMP で登録し過ぎ | PNG で再登録、不要画像は削除 |
4.9. VB 2022 の関連要素解説
| 要素 | 概要 | 使いどころ |
|---|---|---|
Image クラス | 画像の基底型 | PictureBox の Image プロパティに代入 |
| PictureBox.SizeMode | StretchImageで拡縮 | 画像をPictureBox のサイズに合わせる |
| FormUranai.resx | リソース定義 | 画像の追加・削除・改名 |
4.10. 動作確認チェックリスト
- Resources 一覧に
Title/Daikichi/Chukichi/Shokichi/Kichi/Kyoがある - 実行すると起動時にタイトル画像が表示される
- 画像を切り替えるテストで
PictureBoxResult.Image = Daikichiが即時反映 - 画像が潰れず、縦横比が保たれている(
SizeMode=StretchImage)
まとめ
本章では、占い結果に使う画像を FormUranai.resx に登録し、参照する準備を整えました。初期表示にタイトル画像を出す最小コードも追加しました。次章「⑤今日の運勢アプリ:コードの実装と実行」では、Select Case と Random を用いて画像・色・メッセージを切り替え、完成版として動作させます。






