投稿者 よねKEN  (社会人) 投稿日時 2009/9/15 23:21:31
> しかし、このような冗長なコードでいいのですか?

よいかどうかを決めるのはkentさん次第です。
仕様(期待する動作)を満たしているなら、まずはOKでしょう。
満たしていないなら、そちらを解決するのが先だと思います。
その上で、より綺麗なコードにならないかを考えるのはよいことです。

で、問題がないかどうかについてですが、例えば、
選択されるファイル数が5つ以外だった場合にエラーになりますね。

私だったらどうするかという一例を以下に示します。
--
'前提:選択する画像の数は配置しているPictureBoxの数と同じにしてもらう、という仕様としています。

If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
    Dim pictureBoxes() As PictureBox = New PictureBox(){ _
        PictureBox1, PictureBox2, PictureBox3, PictureBox4, PictureBox5 }
    If OpenFileDialog1.FileNames.Length = pictureBoxes.Length Then
        TextBox1.Text = ""

        For fileIndex As Integer = 0 To pictureBoxes.Length - 1
            Dim fname As String = OpenFileDialog1.FileNames(fileIndex)

            TextBox1.Text &= fname & vbCrLf

            Using fs As Stream = New FileStream(fname)
                pictureBoxes(fileIndex).Image = Image.FromStream(fs, FileMode.Open)
            End Using
        Next
    Else
        MessageBox.Show("ファイルは" & pictureBoxes.Length.ToString() & "つ選択してください。")
    End If
End If
--
このコードではPictureBox1~PitucreBox5への画像の設定をループ処理で行うために、
PictureBox1~PitucreBox5をPictureBoxの配列に予め設定するようしている
ところがポイントです。
#Using句を使っていたり、Image.FromFileの代わりにImage.FromStreamを使うように修正
#していますが、この辺りは、ご質問の本題とは無関係ですので、あまり気になさらずに・・・