Forum: PC-Programmierung Visual Basic 2010 Problem mit PictureBox


von Christoph (Gast)


Lesenswert?

Hallo,

ich hab im VB 2010 ein Problem mit mehreren Picture Boxen..

Ich möchte die in einer Schleife mit einem anderen Bild (gleiches Bild) 
versehen.

Das VB schreibt keinen Fehler, allerdings hängt sich das Programm auf 
sobald ich folegndes aufrufe:


Dim i As Byte

For i = 1 To 10
DirectCast(Controls("Box" & CStr(i)), PictureBox).Image= 
Image.FromFile("C:\Ordner\test.bmp)
Next

Was kann daran schuld sein?

von Sven H. (dsb_sven)


Lesenswert?

Vielleicht kannst du nicht mehrmals auf das selbe Bild zugreifen?

von nocheinGast (Gast)


Lesenswert?

Vielleicht der Zeilenumbruch, oder das fehlende Anführungszeichen am 
Pfad... Wieso kopierst du nicht deinen Original-Code hier rein?
Das Stück, das du da hast, funktioniert nämlich, wenn man es so 
schreibt:
1
        Dim i As Byte
2
3
        For i = 1 To 10
4
            DirectCast(Controls("Box" & CStr(i)), PictureBox).Image = Image.FromFile("C:\Ordner\test.bmp")
5
        Next

Trotzdem solltest du vielleicht eher ein Array mit den Pictureboxen 
nehmen oder die gleich im Code erzeugen, das mit dem "nach dem Namen 
suchen" ist jetzt nicht so das wahre.

von Christoph (Gast)


Lesenswert?

Zeilenumbruch ist nur hier, das Ausrufezeichen ist auch vorhanden...

Wie mach ich ein Picturebox Array?

von Christoph (Gast)


Lesenswert?

kann ich meine vorhandenen PictureBoxen beibehalten und in ein Array 
umwandeln?

von nocheinGast (Gast)


Lesenswert?

Machs besser gleich mit einer Liste...
1
        Dim pbListe As New List(Of PictureBox)
2
3
        For i As Integer = 1 To 10
4
            Dim pb As New PictureBox()
5
            pb.Image = Image.FromFile("C:\Users\Markus\Desktop\IMAG0017.jpg")
6
            FlowLayoutPanel1.Controls.Add(pb)
7
            pbListe.Add(pb)
8
        Next

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.