vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: [VB Express]Bildanzeigeprogramm: Vor/Zurück Navigation 
Autor: Manfred X
Datum: 02.06.12 16:41

Hallo!

Für die Wahl eines Ordners verwendet man den FolderBrowserDialog (wie gezeigt).
Es muss dann eine (gefilterte) Liste der Bilddateien im gewählten Ordner erstellt
werden (wie gezeigt).
Zum Navigieren bewegt man den Index innerhalb dieser Liste (wie im Beispiel durch
Verarbeitung von Tastencodes im Keydown-Event gezeigt).
Nach dem Verändern des Index muss das entsprechende Bild aus der Datei in die
Picturebox geladen werden (im Beispiel: Aufruf der Routine PicLoad).

Wenn Du das Navigieren mit Buttons regeln willst, mußt Du nur den Code zur
Veränderung des Listen-Index aus den Select-Case-Blöcken in
den Click-Ereignis-Handler des entsprechenden Buttons verlagern - und
die "LoadPic"-Routine rufen.
Etwa so:
Imports System.Linq
Public Class frmPicBrowser
 
    Dim WithEvents btnPrevious As New Button _
       With {.Parent = Me, .Left = 40, .Width = 35, .Text = "&<"}
    Dim WithEvents btnNext As New Button _
       With {.Parent = Me, .Left = 80, .Width = 35, .Text = "&>"}
    Dim WithEvents btnFolder As New Button _
       With {.Parent = Me, .Left = 120, .Text = "&Ordner"}
 
    Dim fbd As New FolderBrowserDialog With _
        {.Description = "Ordner mit Bilddateien wählen", _
         .ShowNewFolderButton = False}
 
    Dim pbox As New PictureBox With _
        {.Parent = Me, .Dock = DockStyle.Bottom, _
         .SizeMode = PictureBoxSizeMode.Zoom}
 
    'Erstellung der Verwaltungs-Variablen:
    '=============================
    'Array mit den unterstützten Bilddatei-Extensions 
    'incl. Wildcard für Getfiles-Methode
    Dim picfileextensions() As String = _
       {"*.jpg", "*.jpeg", "*.png", "*gif", "*.tiff", "*.tif", "*.bmp"}
    'Liste der Dateinamen im gewählten Ordner
    Dim picfiles As New List(Of String)
    'Hier wird jeweils der aktuelle Bildindex abgelegt
    Dim picindex As Integer
 
    Private Sub LoadPic()
        If picindex >= 0 And picindex < picfiles.Count Then
            'Bild laden und Dateiname anzeigen
            pbox.LoadAsync(picfiles(picindex))
            Me.Text = "[" & CStr(picindex + 1) & " von  " & CStr( _
              picfiles.Count) & "] " & _
                IO.Path.GetFileName(picfiles(picindex))
        Else
            pbox.Image = pbox.ErrorImage
            Me.Text = "Keine Bilddatei vorhanden"
        End If
    End Sub
 
    Private Sub frmPicBrowser_Load(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles MyBase.Load
 
        frmPicBrowser_ResizeEnd(Me, EventArgs.Empty)
    End Sub
 
    Private Sub btnFolder_Click(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles btnFolder.Click
 
        'Orderauswahl-Dialog (ggf. Abbruch durch User)
        If fbd.ShowDialog = DialogResult.Cancel Then Exit Sub
 
        Me.Text = "Bilddateien werden ermittelt ....."
        With My.Computer.FileSystem
            picfiles = .GetFiles(fbd.SelectedPath, _
            FileIO.SearchOption.SearchTopLevelOnly, picfileextensions).ToList
        End With
        If picfiles.Count < 1 Then
            MsgBox("Ordner enthält keine Bilddatei-Formate")
            picindex = -1
        Else
            picindex = 0
        End If
        LoadPic()
    End Sub
 
    Private Sub btnNext_Click(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles btnNext.Click
 
        picindex = Math.Min(picfiles.Count - 1, picindex + 1)
        LoadPic()
    End Sub
 
    Private Sub btnPrevious_Click(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles btnPrevious.Click
 
        picindex = Math.Max(0, picindex - 1)
        LoadPic()
    End Sub
 
    Private Sub frmPicBrowser_ResizeEnd(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles Me.ResizeEnd
 
        pbox.Height = Me.Height - 80
    End Sub
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
[VB Express]Bildanzeigeprogramm: Vor/Zurück Navigation2.086betagold201.06.12 18:24
Re: [VB Express]Bildanzeigeprogramm: Vor/Zurück Navigation1.517Manfred X01.06.12 18:49
Re: [VB Express]Bildanzeigeprogramm: Vor/Zurück Navigation1.595betagold201.06.12 22:18
Re: [VB Express]Bildanzeigeprogramm: Vor/Zurück Navigation1.529Manfred X02.06.12 00:47
Re: [VB Express]Bildanzeigeprogramm: Vor/Zurück Navigation1.472betagold202.06.12 16:04
Re: [VB Express]Bildanzeigeprogramm: Vor/Zurück Navigation1.558Manfred X02.06.12 16:41

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel