Ich weiss nicht, wie Du Deine Oberfläche gestaltest.
Hier ein Beispiel für eine Reihe von PictureBoxen, die
in einer Liste aufbewahrt werden und deren Click-Event-Behandlung
über einen Addhandler zugeordnet wird.
Die Feststellung, welche Picturebox angeclickt worden ist,
erfolgt über den Eintrag in der Tag-Eigenschaft.
Das Erstellen der Bitmaps erfolgt mit der oben geposteten Routine.
Sei "frmThumbs" ein Windows.Forms-Formular
Public Class frmThumbs
Dim mnuMain As New MenuStrip With {.Parent = Me}
Dim fbd As New FolderBrowserDialog With _
{.Description = "Ordner mit Bilddateien", _
.ShowNewFolderButton = False}
Dim pb_list As New List(Of PictureBox) 'Liste für Pictureboxen
Private Sub frmThumbs_Load(sender As System.Object, _
e As System.EventArgs) Handles MyBase.Load
Dim th_Width As Integer = 200
Me.Size = New Size(th_Width * 4 + 10, th_Width * 4 + 80)
mnuMain.Items.Add _
("Bilder laden", Nothing, AddressOf mnuLoad_click)
'Erstellung/Positionierung der Pictureboxen in Liste
Dim z As Integer
For i As Integer = 0 To 3
For k As Integer = 0 To 3
z += 1
Dim pb As New PictureBox With _
{.Parent = Me, .Top = i * th_Width + 50, _
.Left = k * th_Width, _
.Width = th_Width, .Height = th_Width, _
.BorderStyle = BorderStyle.FixedSingle,
.SizeMode = PictureBoxSizeMode.Zoom, _
.Tag = z}
AddHandler pb.Click, AddressOf pbox_click
pb_list.Add(pb)
Next k
Next i
End Sub
Private Sub pbox_click(ByVal sender As Object, e As EventArgs)
Dim pb As PictureBox = CType(sender, PictureBox)
Dim z As Integer = CInt(pb.Tag)
MsgBox(CStr(z) & " ist abgeclickt")
'Hier Code für Bildbearbeitung einfügen
End Sub
Private Sub mnuload_click(ByVal sender As Object, e As EventArgs)
'Wahl eines Ordners und Erstellung der Thumbnails
With fbd
If .ShowDialog = Windows.Forms.DialogResult.Cancel Then Exit Sub
Me.Refresh()
Me.Cursor = Cursors.WaitCursor
Dim thumbnails() As Bitmap = GetPics(.SelectedPath, 300, 300)
If thumbnails Is Nothing _
OrElse thumbnails.Length = 0 Then Exit Sub
For i As Integer = 0 To pb_list.Count - 1
If i < thumbnails.Length Then
'Thumbnails in Pictureboxen anzeigen
pb_list(i).Image = thumbnails(i)
End If
Next i
Me.Cursor = Cursors.Default
End With
End Sub
'Hier restlichen Code einfügen
Beitrag wurde zuletzt am 05.01.13 um 20:21:11 editiert. |