C#/VB フォーム内に画像一覧を表示する方法

画像を一覧で表示するにはどんな方法がありますか?

ImageListコンポーネントListViewコンポーネントを使うことで画像の一覧表示を実装することができます。

目次

受講者数No.1!初心者からプロへ導く信頼のスクール

    短期間で習得可能!未経験から実践力を磨く充実のプログラム

    今なら無料相談でAmazonギフトカードがもらえる!

    リストビューで画像一覧を表示する

     「ImageListコンポーネント」と「ListViewコンポーネント」を併せて利用することで、画像を一覧表示することができます。

    ImageListコンポーネントは、フォームに追加するとコンポーネントトレイに追加されます。
    同時にListViewコンポーネントも追加しておきます。

     ImageListコンポーネントに画像を追加するには、プロパティウィンドウのImagesのCollectionの横にある[…]をクリックします。 そうすることで、イメージコレクションエディターが開き、そこで画像を設定することができます。

     ImageListコンポーネントとListViewコンポーネントを連動させるには、ListviewのLargeImageListプロパティに、ImageListコンポーネントを指定します。

    画像サイズは、ImageListコンポーネントのSizeプロパティのWidthとHeightで設定を行います。

    以下は、指定したフォルダ内のjpg画像をリストビューに表示するサンプルです。

            private void button1_Click(object sender, EventArgs e)
            {
                // フォルダ "C:\image" 内の jpeg 画像をすべて取得し、リストに格納
                List<string> lstFile = System.IO.Directory.GetFiles(@"C:\image", "*.jpg").ToList();
    
                int i = 0;
                //リストから画像を1つずつ取り出し、処理を実行
                foreach (string x in lstFile)
                {
                    //画像を読み込み
                    Image img = Image.FromFile(x);
                    //ImageList に画像を追加
                    imageList1.Images.Add(img);
                    //ListView に画像を追加
                    listView1.Items.Add(x, i);
                    //画像を破棄
                    img.Dispose();
                    i++;
    
                }
            }
    Private Sub button1_Click(sender As Object, e As EventArgs)
        ' フォルダ "C:\image" 内の jpeg 画像をすべて取得し、リストに格納
        Dim lstFile As List(Of String) = System.IO.Directory.GetFiles(
            "C:\image", "*.jpg").ToList()
    
        ' カウンタ変数を定義し、0で初期化
        Dim i As Integer = 0
    
        ' リストから画像を1つずつ取り出し、処理を実行
        For Each x In lstFile
            ' 画像を読み込み
            Dim img As Image = Image.FromFile(x)
            ' ImageList に画像を追加
            imageList1.Images.Add(img)
            ' ListView に画像を追加
            listView1.Items.Add(x, i)
            ' 画像を破棄
            img.Dispose()
            ' カウンタをインクリメント
            i += 1
        Next
    End Sub
    

    フォーム上にある「button1」をクリックすると、「C:\image」フォルダ内にあるすべての jpeg 画像を取得し、ImageList コンポーネントと ListView コンポーネントに追加するものです。

    1つずつ取り出し、ImageList コンポーネントに画像を追加した後、ListView コンポーネントに画像を追加することで、フォーム上に画像の一覧を表示することができます。

    リスキリングでキャリアアップしてみませんか?

    リスキリング(学び直し)は、経済産業省が推奨しており、

    今だけ、最大70%のキャッシュバックを受けることができます。

    リスキリング 給付金が出るスクール紹介

    最大70%の給付金が出るおすすめのプログラミングスクール!

    国策で予算が決められているため申し込みが多い場合は早期に終了する可能性があります!

    興味のある方はすぐに確認しましょう。

    よかったらシェアしてね!
    • URLをコピーしました!
    • URLをコピーしました!
    目次