2012-01-12 9 views
1

誰かがハッピーアワーに行くかどうかを確認するプログラムを作成しようとしています。そうでない場合は、そうでない人をリストアップし、自分の名前の隣に自分の写真を置きます。画像をファイルから取得して配列に追加する

イメージをローカルに取得して配列に格納できます(これはpictureArray(i)に追加されます)。

(あなたは私が画像を取得しようとしたところコメントアウトセクションがある見ることができます...)

任意のアイデア?ファイルからのPictureBoxにファイルをロードする

Public Class Form1 
Dim ITLPList() As String = {"Name 1", "Name 2", "Name 3", "Name 4", "Name 5", "Name 6"} 
' Dim imageList As New ImageList 
' Dim fileSteam As New System.IO.FileStream(sFileName, System.IO.FileMode.Open) 
' Dim img As Image 
' Dim sFileName As String = "C:\Users\turcotd\Desktop\ITLPers\itlp1.jpg" 

Dim itlpTally() As String 
Dim labelArray(5) As Label 
Dim pictureArray(5) As PictureBox 

Dim intTally As Integer 
Dim i As Integer = 0 

Public itlpIndex As Integer = 0 

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 

    itlpName.Text = ITLPList(0) 
    labelArray(0) = lblPerson0 
    labelArray(1) = lblPerson1 
    labelArray(2) = lblPerson2 
    labelArray(3) = lblPerson3 
    labelArray(4) = lblPerson4 

    pictureArray(0) = picITLP0 
    pictureArray(1) = picITLP1 
    pictureArray(2) = picITLP2 
    pictureArray(3) = picITLP3 
    pictureArray(4) = picITLP4 

End Sub 

Private Sub btnYes_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnYes.Click 

    If (i < 6) Then 
     itlpName.Text = ITLPList(i) 
     i = i + 1 

    End If 
End Sub 

Private Sub btnNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNo.Click 

    If (i < 6) Then 
     'Names 
     itlpName.Text = ITLPList(i) 
     intTally = intTally + 1 
     lblTally.Text = intTally 
     labelArray(i).Text = ITLPList(i) 

     'Images 
     ' img = Image.FromStream(fileSteam) 
     ' fileSteam.Close() 
     ' imageList.Images.Add(img) 
     ' pictureArray(i).Image = imageList.Images.Item(0) 
     ' img.Dispose() 

     ' img = Image.FromFile(sFileName) 

     i = i + 1 
    End If 
    itlpName.Text = ITLPList(i) 
End Sub 
End Class 

答えて

0

次のようにFileInfoとして、ディレクトリ内のすべてのjpgのを得ることができます:

Dim dir = New IO.DirectoryInfo("C:\Users\turcotd\Desktop\ITLPers") 
Dim images = dir.GetFiles("*.jpg", IO.SearchOption.AllDirectories).ToList 
+0

あなたは詳細を教えていただけますか?それは私のために働いていない。私はどのようにフォルダからイメージの配列に各jpgを配置する説明してくださいできますか?ありがとう – Growler

+0

@Growler:何がうまくいかないか説明してください、何かエラーがありますか?私はList(Of FileInfo)としてフォルダ内のすべてのjpgを取得する方法を示しました。 [List(Of T)](http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx)はArrayよりもはるかに優れており、[ArrayListよりも優れています](http:// blog.drorhelper.com/2008/10/why-should-i-y-list-and-not-arraylist.html)。あなたが配列を主張するならば、単に 'dir.GetFiles(" *。jpg "、IO.SearchOption.AllDirectories).ToArray'を呼び出すことができます。 –

+0

@Growler:詳細については、[FileInfo-Class](http://msdn.microsoft.com/en-us/library/system.io.fileinfo.aspx)を参照してください。たとえば、[FileInfo.Name](http://msdn.microsoft.com/en-us/library/system.io.fileinfo.name.aspx)を呼び出してイメージ名(パスのないファイル名)を取得するか、 Full-Pathを取得するには、[FileInfo.FullName](http://msdn.microsoft.com/en-us/library/system.io.filesysteminfo.fullname.aspx)を参照してください。それが助けにならないなら、あなたが試したことを示すべきです。 –

0

は非常に簡単操作です:

picITLP0.Image = Image.FromFile("C:\Users\turcotd\Desktop\ITLPers\itlp1.jpg") 
関連する問題