Po małych zmianach prawie działa, tylko co któreś przewinięcie scrolla, ten staje w miejscu razem z licznikiem czasu na labelu. Tak jakby timer się zatrzymał, a sprawdziłem że chodzi. Przewijanie działa po tym tak, że w momencie przewinięcia, uaktualnia prawidłowo pozycję utworu, czas na labelu, utwór leci prawidłowo a scroll / label stoją. Dlaczego tak się dzieje? Aha jak zmniejszę częstotliwość timera ze 100 do 1000 ms to objawy te występują przeważnie od pierwszego ręcznego przewinięcia.
Private Sub ScrollBar1_ValueChanged(ByVal sender As Object, ByVal e _
As System.EventArgs) Handles ScrollBar1.ValueChanged
If ScrollBar1.Value = Convert.ToInt32((CurPos * 100) / DurationVar) Then Exit Sub
Try
If player.currentMedia.duration <> 0 Then
Dim NewPerc As Double = Convert.ToDouble(ScrollBar1.Value) / 100
Dim DurationVar As Integer = Convert.ToInt32(player.currentMedia.duration * 1000)
Dim NewPos As Integer = (DurationVar * NewPerc) / 1000
player.controls.currentPosition = NewPos
Else
ScrollBar1.Value = 0
End If
Catch ex As Exception
lblInfo.Text = "błąd scrolla"
End Try
End If
End Sub
Private Sub ScrollUpdate()
CurPos = Convert.ToInt32(player.controls.currentPosition * 1000)
DurationVar = Convert.ToInt32(player.currentMedia.duration * 1000)
If DurationVar > 0 Then
ScrollBar1.Value = Convert.ToInt32((CurPos * 100) / DurationVar)
End If
End Sub
Private Sub Timer1_Tick(ByVal sender As Object, ByVal e _
As System.EventArgs) Handles Timer1.Tick
If player.playState = WMPLib.WMPPlayState.wmppsStopped Then
StopSong()
Else
lblCzas.Text = player.controls.currentPositionString & " / " _
& player.currentMedia.durationString
ScrollUpdate()
End If
End Sub
2)
Można wyłączyć kursor w textboxie? Chcę żeby można było zaznaczać text, żeby było menu kontekstowe do edycji tego tekstu i z tym nie mam problemu tylko wkurza mnie ten kursor, a nie mogę za chiny się go pozbyć. Czy trzeba użyć innej kontrolki? Jakiej?
Pewnie głupie dla wielu pytania. Dla mnie amatora niestety nie. Dzięki za wszelkie wskazówki.