Trackbar user control

Status
Niet open voor verdere reacties.

bonnowagt

Gebruiker
Lid geworden
7 dec 2006
Berichten
445
Hallo,

Met onderstaande code heb ik een eigen trackbar als user control
Code:
Public Class TrackbarPlayer
    Inherits UserControl
    Public Tvalue As Integer = 0
    Public Maxvalue As Integer = 100
    Dim BmouseDown As Boolean
    Dim duur As Integer




    Public Sub SetValue(ByVal Value As Integer)
        Try
            duur = CInt(Form1.AxWindowsMediaPlayer1.Ctlcontrols.currentItem.duration)
        Catch ex As Exception
        End Try

        '     Form1.AxWindowsMediaPlayer1.Ctlcontrols.currentItem.duration
        If duur = 0 Then duur = 1
        Dim berekening As Double = Value / Maxvalue
        bar.Size = New Size(Me.Width * berekening, bar.Size.Height)
    End Sub
    Public Function getvalue()
        Dim berekening As Double = Me.Width / bar.Size.Width

        Dim value As Integer = Maxvalue / berekening
        Return value
    End Function
    Public Sub MaximValue(ByVal MaximumValue As Integer)
        Maxvalue = MaximumValue
    End Sub
    Public Function GetMaxval()
        Return Maxvalue
    End Function
    Private Sub Mouse_Down(ByVal sender As Object, ByVal e As MouseEventArgs) Handles Me.MouseDown
        BmouseDown = True
        Dim pos As Integer = Convert.ToInt32(e.X)
        Bar.Size = New Size(pos, Bar.Size.Height)
    End Sub
    Private Sub Mouse_Up(ByVal sender As Object, ByVal e As MouseEventArgs) Handles MyBase.MouseUp
        BmouseDown = False
    End Sub
    Private Sub Mouse_Move(ByVal sender As Object, ByVal e As MouseEventArgs) Handles Me.MouseMove
        If BmouseDown = True Then
            On Error Resume Next
            Dim pos As Integer = Convert.ToInt32(e.X)
            Bar.Size = New Point(pos, Bar.Size.Height)
            If getvalue() > Maxvalue Then
                SetValue(Maxvalue)
            ElseIf getvalue() < 0 Then
                SetValue(0)
            End If
        End If
    End Sub
    Public Property Value() As Integer
        Get
            Return Tvalue
        End Get

        Set(ByVal Value As Integer)
            Tvalue = Value
            SetValue(Value)
        End Set
    End Property
    Public Property MaximumValue() As Integer
        Get
            Return Maxvalue
        End Get

        Set(ByVal MaximumValue As Integer)
            Maxvalue = MaximumValue
            SetValue(MaximumValue)
        End Set
    End Property
End Class

Vervolgens heb ik deze trackbar gezet op form1. In dit formulier worden mp3 afgespeeld en de voortgang moet door deze trackbar worden getoond.
Nou werkt ie wel maar na 1.40 dus 100 is de trackbar beeindigd. Logisch natuurlijk omdat ie berekend is op 100.
Mijn vraag is hoe zorg ik ervoor dat ie dus precies de aantal secondejn doet voordat ie beeindigd. Dus een song van 2.00 minuten doorloopt tot 120

Ik heb op het formulier een timer met de volgende code
Code:
        Dim maximum :   Dim minutes1 : Dim seconds1
    
            maximum = CInt(AxWindowsMediaPlayer1.Ctlcontrols.currentItem.duration)
              Trackbar1.Value = CInt(AxWindowsMediaPlayer1.Ctlcontrols.currentPosition)
        
        minutes1 = maximum \ 60 : seconds1 = maximum Mod 60
        Label6.Text = minutes1 & ":" & Format$(seconds1, "00")
 
Op je formulier lijk je nu niet het maximum van de trackbar in te stellen. Of zie ik nu wat over het hoofd?

MartinJM
 
Ja inderdaad je hebt gelijk maar ik krijg dat niet voor elkaar welke code ik daarvoor moet gebruiken. Ik heb het volgende geprobeerd

Trackbar1.maximumvalue= CInt(AxWindowsMediaPlayer1.Ctlcontrols.currentPosition) en

Trackbar1.maxValue = CInt(AxWindowsMediaPlayer1.Ctlcontrols.currentPosition)

Maar de trackbar blijft te snel lopen
 
Maar je wil de maximum value ook niet zetten op de huidige tijd.

Ik denk dat het zoiets moet zijn:
[CPP]
Trackbar1.MaximumValue = CInt(AxWindowsMediaPlayer1.Ctlcontrols.currentItem.duration)
Trackbar1.Value = CInt(AxWindowsMediaPlayer1.Ctlcontrols.currentPosition)
[/CPP]

MartinJM
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan