フォーム上にピクチャボックスのみ配置しても、フォームが画像よりもサイズが小さい場合、スクロールはできません。 そこで、フォーム上にパネルを貼付て、そのパネル上にピクチャボックスを全面表示で貼り付けます。
画像イメージは System.Drawing.Image.FromFile メソッドで設定します。 尚、画像ファイルは以下のものを使います。
ソースは以下の様になります。
フォームロード時にパネルを生成しスクロール許可を与えます。 更に、ピクチャボックスを生成し、各種の設定を行ってからパネルのコントロールに追加し、 そのパネルをフォームのコントロールに追加します。
パネルとピクチャボックスによる画像表示
Public Class frmPanelPic
' パネルの静的変数宣言
Dim Panel1 As Panel
' ピクチャボックスの静的変数宣言
Dim Pic1 As PictureBox
'フォームロード時イベント処理
Private Sub frmPanelPic_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' パネルの生成
Panel1 = New Panel
' [Dock]:フォーム全体にFill
Panel1.Dock = DockStyle.Fill
' スクロール許可
Panel1.AutoScroll = True
' ピクチャボックスの生成
Pic1 = New PictureBox
' [SizeMode]:ピクチャボックスの大きさに合わせる指定
Pic1.SizeMode = PictureBoxSizeMode.AutoSize
' 画像イメージ
Pic1.Image = System.Drawing.Image.FromFile("Desert.jpg")
' ピクチャボックスをパネル上に追加表示
Panel1.Controls.Add(Pic1)
' パネルをフォーム上に追加
Me.Controls.Add(Panel1)
End Sub
End Class
これを実行すると以下の様な表示になります。 左側は初期表示で、右側はフォームのサイズを大きくした場合の状態です。
関連する記事
⇒標準コントロールのパネルの使い方について(Panel)⇒標準コントロールのパネルの使い方について2(複数Panelの表示切替)
PR
コメント