忍者ブログ

VB.NET-TIPS などプログラミングについて

VB.NETのTIPS(小技集)を中心に、Javascript、PHP その他のプログラミングについて少し役に立つ情報を発信します。いわゆる個人的な忘備録ですが、みなさんのお役に立てれば幸いです。

パネル上にピクチャボックスを貼付て画像スクロールさせる方法ついて(Panel、PictureBox)

フォーム上にピクチャボックスのみ配置しても、フォームが画像よりもサイズが小さい場合、スクロールはできません。 そこで、フォーム上にパネルを貼付て、そのパネル上にピクチャボックスを全面表示で貼り付けます。
画像イメージは 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

コメント

コメントを書く