C# WinFormsアプリケーションにおける実行ディレクトリからの画像表示

この資料では、C#を使用してVisual Studioで開発するWinFormsアプリケーションにおいて、プログラム実行中のフォルダ(実行ディレクトリ)を基にして画像ファイルを表示する方法について説明します。この技術を利用することで、アプリケーションが実行される環境に依存せずに画像を動的に読み込むことができます。

手順

1. プロジェクトに画像ファイルを追加する

Visual Studioでプロジェクトを開く

Visual Studioを開き、目的のWinFormsプロジェクトをロードします。

画像ファイルの追加

使用する画像ファイルを選択し、プロジェクトに追加します。

ソリューションエクスプローラーでプロジェクトを右クリックし、「追加」 > 「既存の項目」を選択します。

ビルド時の画像コピー設定

追加した画像ファイルを選択し、プロパティウィンドウで「出力ディレクトリにコピー」の設定を「常にコピー」に変更します。

2. コードで画像ファイルを読み込む

フォームにPictureBoxを配置する

フォームデザイナーでPictureBoxコントロールをフォームに追加します。pictureBox1という名前で追加されていると仮定します。

実行ディレクトリから画像を読み込むコードの記述

以下のコードをMainFormのコンストラクタに追加します。

using System;
using System.Windows.Forms;

namespace ImageDisplayApp
{
    public partial class MainForm : Form
    {
        public MainForm()
        {
            InitializeComponent();

            // 実行ディレクトリのパスを取得
            string executablePath = Application.StartupPath;
            string imagePath = System.IO.Path.Combine(executablePath, "your_image.png");

            // PictureBoxに画像を設定
            pictureBox1.Image = Image.FromFile(imagePath);
        }
    }
}

3. アプリケーションのビルドと実行

ビルド

プロジェクトをビルドします。ビルドによって、画像ファイルが実行ディレクトリにコピーされます。

実行

アプリケーションを実行すると、フォーム内のPictureBoxに指定した画像が表示されるはずです。

まとめ

この資料では、WinFormsアプリケーションで実行ディレクトリを基にして画像を読み込む方法について説明しました。この技術を利用することで、開発環境や配布環境に依存せず、画像ファイルを正しく扱うことが可能になります。