DOBON.NET

スクロールバーを付けて画像を表示する

注意:画像の表示方法が分からないという方は、まず「コントロールやフォームに画像を表示する」をご覧ください。

表示する画像が大きすぎる時、スクロールバーが表示されて画像がスクロールできるようになると便利です。このような機能を実現させる簡単な方法は、画像を表示するピクチャボックスをパネルコントロールにのせ、パネルコントロールのAutoScrollプロパティをTrueにすることです。このようにすることにより、ピクチャボックスがパネルコントロールより大きくなった時、スクロールバーが表示されるようになります。

Visual Studioのフォームのデザイナを使った時の具体的な手順を示します。

  1. Panelコントロールをフォームに追加します。ここでは追加したPanelコントロールの名前が"panel1"であるとします。
  2. panel1のAutoScrollプロパティをTrueに変更します。
  3. PictureBoxコントロールをpanel1内に追加します。この時必ずpanel1の中に入れてください。ここでは追加したPictureBoxコントロールの名前が"pictureBox1"であるとします。
  4. pictureBox1のLocationプロパティを "0, 0" にします。
  5. pictureBox1のSizeModeプロパティをAutoSizeにします。(このようにすると、Imageプロパティで画像を表示させたとき、画像の大きさに合わせてピクチャボックスの大きさが自動的に変わるようになります。)
  6. pictureBox1のImageプロパティに表示させる画像を指定します。

以下のコードは、デザイナを使わずにPanelコントロールとPictureBoxコントロールを作成する例です。

VB.NET
コードを隠すコードを選択
'Panelオブジェクトの作成
Dim panel1 As New Panel
'プロパティの設定
panel1.Name = "panel1"
panel1.Location = New Point(8, 8)
panel1.Size = New Size(200, 200)
'スクロールバーが表示されるようにする
panel1.AutoScroll = True

'PictureBoxオブジェクトの作成
Dim pictureBox1 As New PictureBox
'プロパティの設定
pictureBox1.Name = "pictureBox1"
pictureBox1.Location = New Point(0, 0)
'画像を表示するとき、画像の大きさに合わせて
'PictureBoxの大きさが変更させるようにする()
pictureBox1.SizeMode = PictureBoxSizeMode.AutoSize
'PictureBoxに画像を表示する
pictureBox1.Image = Image.FromFile("C:\サンプル.jpg")

'pictureBox1をpanel1にのせる
panel1.Controls.Add(pictureBox1)

'panel1をこのフォームにのせる
Me.Controls.Add(panel1)
C#
コードを隠すコードを選択
//Panelオブジェクトの作成
Panel panel1 = new Panel();
//プロパティの設定
panel1.Name = "panel1";
panel1.Location = new Point(8, 8);
panel1.Size = new Size(200, 200);
//スクロールバーが表示されるようにする
panel1.AutoScroll = true;

//PictureBoxオブジェクトの作成
PictureBox pictureBox1 = new PictureBox();
//プロパティの設定
pictureBox1.Name = "pictureBox1";
pictureBox1.Location = new Point(0, 0);
//画像を表示するとき、画像の大きさに合わせて
//PictureBoxの大きさが変更させるようにする
pictureBox1.SizeMode = PictureBoxSizeMode.AutoSize;
//PictureBoxに画像を表示する
pictureBox1.Image = Image.FromFile(@"C:\サンプル.jpg");

//pictureBox1をpanel1にのせる
panel1.Controls.Add(pictureBox1);

//panel1をこのフォームにのせる
this.Controls.Add(panel1);

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • Windows Vista以降でUACが有効になっていると、ファイルへの書き込みに失敗する可能性があります。詳しくは、こちらをご覧ください。
  • .NET Tipsをご利用いただく際は、注意事項をお守りください。
共有する

この記事への評価

この記事へのコメント

この記事に関するコメントを投稿するには、下のボタンをクリックしてください。投稿フォームへ移動します。通常のご質問、ご意見等は掲示板へご投稿ください。