C#のWindowsフォームアプリケーションで、ローカルに保存された画像ファイルを表示する方法をご紹介します。
ファイルが存在しない場合のエラーハンドリングも実装しています。
はじめに
C#のWindowsフォームアプリケーションでは、GUIアプリケーションを簡単に作成できます。
この記事では、ローカルの画像ファイルをフォームに配置した PictureBox に表示するサンプルコードとその解説を行います。
以下は、実行時のイメージです。

ソースコード
以下のコードは、Windowsフォームアプリケーションでフォーム起動時に画像ファイルを読み込み、PictureBox に表示する処理を行っています。
using System.Drawing;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
private readonly PictureBox pictureBox;
public Form1()
{
InitializeComponent();
this.ClientSize = new Size(640, 360);
pictureBox = new PictureBox
{
Dock = DockStyle.Fill,
SizeMode = PictureBoxSizeMode.Zoom
};
this.Controls.Add(pictureBox);
// 画像のパス
string imagePath = @"C:\Workspace\sample.jpg";
LoadImage(imagePath);
}
// 画像を読み込んで表示する
private void LoadImage(string path)
{
if (System.IO.File.Exists(path))
{
pictureBox.Image = Image.FromFile(path);
}
else
{
MessageBox.Show("画像ファイルが見つかりません。\n" + path, "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}コードのポイントです。
PictureBox を作成し、Dock = DockStyle.Fill でフォーム全体に表示。
SizeMode = PictureBoxSizeMode.Zoom を指定することで、縦横比を維持しつつ、画像がフォームのサイズに合わせてリサイズされます。
LoadImage メソッドでは、ファイルの存在確認を行い、存在しない場合はエラーメッセージを表示します。
画像のパスについて
下記のように、画像のフルパスをハードコードしています。
実際の運用では、OpenFileDialogを使ってユーザーに選ばせたり、リソースファイルを使う方法もあります。
string imagePath = @"C:\Workspace\sample.jpg";
おわりに
Windowsフォームアプリケーションでの画像表示は非常にシンプルです。
今回のサンプルは基本的な処理にすぎませんが、ここからスライドショーや画像編集アプリなどにも発展可能です。
ぜひ応用してみてください!
リンク


コメント