vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 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: Bilder in einer Klasse und mit Random anzeigen 
Autor: mändler
Datum: 22.11.08 23:51

Hi singu

Ich habe das mal durchgespielt. In der Dll werden die Bilder in die Resoursen eingefügt.

Der Dll wird im New die PictureBox mitgegeben und ein Interval um die Bilder über einen Timer zu ändern.

Imports System.Drawing
Imports System.Resources
Imports System.Windows.Forms
 
Public Class CImageViwer
 
    ' Anzahl der Bilder im Beisiel
    Private Const _MAX_IMAGES As Integer = 5
 
    Private _pictureBox As System.Windows.Forms.PictureBox
    Private _timer As New System.Timers.Timer
 
    Public Sub New(ByRef pictureBox As System.Windows.Forms.PictureBox, _
      Optional ByVal interval As Integer = 2000)
 
        AddHandler _timer.Elapsed, AddressOf Timer_Elapsed
 
        _pictureBox = pictureBox
        ' Das erste Bild sofort anzeigen
        SetImage(GetImage(1))
 
        ' Interval des Timers setzen
        _timer.Interval = interval
 
        ' Timer starten
        _timer.Enabled = True
 
 
    End Sub
 
    ' Sicherstellen, dass der Interval während der Laufzeit geändert werden kann
    Public WriteOnly Property Interval() As Integer
        Set(ByVal value As Integer)
 
            _timer.Interval = value
 
        End Set
    End Property
 
    Private Sub Timer_Elapsed(ByVal sender As Object, ByVal e As _
      System.Timers.ElapsedEventArgs)
 
        Dim r As New Random
        Dim i As Integer = 0
 
        ' Sicherstellen dass die Zufallszahl höher 0 und tiefer glich maximale 
        ' Zahl der Bilder ist
        While i < 1 Or i > _MAX_IMAGES
            i = r.Next
        End While
 
        ' Bild anzeigen
        SetImage(GetImage(i))
 
    End Sub
 
    Private Delegate Sub InvokeImage(ByVal bitmap As Bitmap)
    Private Sub SetImage(ByVal bitmap As Bitmap)
 
        If _pictureBox.InvokeRequired Then
            _pictureBox.Invoke(New InvokeImage(AddressOf SetImage), bitmap)
        Else
            _pictureBox.Image = bitmap
        End If
 
    End Sub
 
    Private Function GetImage(ByVal index As Integer) As Bitmap
 
        Dim img As Bitmap = Nothing
        ' Bild je nach Index in PictureBox laden
        Select Case index
            Case 1
                img = My.Resources.DSCN0001 ' DSCN0001 ist der Dateiname des 1. 
                ' Bildes
            Case 2
                img = My.Resources.DSCN0002
            Case 3
                img = My.Resources.DSCN0003
            Case 4
                img = My.Resources.DSCN0004
            Case 5
                img = My.Resources.DSCN0005
        End Select
 
        Return img
 
    End Function
 
End Class
Ich hoffe mal dass dies deinen Wünschen entspricht.

Gruss Mändler
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Bilder in einer Klasse und mit Random anzeigen2.068singu22.11.08 20:02
Re: Bilder in einer Klasse und mit Random anzeigen1.619Fortgeschritten...22.11.08 22:16
Re: Bilder in einer Klasse und mit Random anzeigen1.630mändler22.11.08 23:51
Bilder in einer Klasse und mit Random anzeigen1.627singu23.11.08 20:00
Re: Bilder in einer Klasse und mit Random anzeigen1.488icetea12323.11.08 20:31
Re: Bilder in einer Klasse und mit Random anzeigen1.580PascalPCFreak23.11.08 20:39
Re: Bilder in einer Klasse und mit Random anzeigen1.569singu23.11.08 20:49
Re: Bilder in einer Klasse und mit Random anzeigen1.584PascalPCFreak23.11.08 21:01
Re: Bilder in einer Klasse und mit Random anzeigen1.581singu23.11.08 21:26
Re: Bilder in einer Klasse und mit Random anzeigen1.755PascalPCFreak23.11.08 22:09
Re: Bilder in einer Klasse und mit Random anzeigen1.524GPM23.11.08 22:20

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