c# TrackBar Problem

Gast #2171652
Lesenswert?

Hallo,
ich habe einen media-player geschrieben (mit einer speziellen Funktion, 
die der Windows Media Player nicht hat).
Hierzu verwende ich das Mci-Interface.
Dabei will ich eine TrackBar benutzen, die die aktuelle Position im Song 
anzeigt, und wo ich auch im Song woanders hinspringen kann. (so wie beim 
Windows Media Player auch).
Dabei verwende ich TrackBar.
Die Position veraendere ich im Timer (Intervall 1sec), wo ich die 
Position veraendere
 trackbar.Value = mci.value;

Positionsveraenderung fange ich im OnMouseCaptureChanged Event ab
  mci.Play(trackbar.Value);

Das ganze funktioniert nicht besonders schoen. Wenn ich innerhalb einer 
Sekunde den Trackbar-Knopf verschiebe, klappt es. Wenn ich laenger 
brauche, zeichnet ihn die Timer-Funktion an die urspruengliche Position.

Ich muesste das Aktualisieren im Timer ausschalten, wenn ich anfange, 
mit der Maus die Position zu verschieben.

Wie koennte man das machen?
Gast #2171773
Lesenswert?

Arc Net schrieb:
> p.s. warum OnMouseCaptureChanged und nicht im normalen Scroll-Event

Ich will, dass nur 1x pro Positionsveraenderung das Event ausgeloest 
wird.
So lange man mit der Maus den Knopf an die gewuenschte Position schiebt, 
soll die Musik normal weiterspielen und erst beim Loslassen soll die 
Musik "springen".
Gast #2171781
Lesenswert?

Arc Net schrieb:
> p.s. warum OnMouseCaptureChanged und nicht im normalen Scroll-Event

Ich dachte urspruenglich, dass CaptureChanged auch ausgeloest wird, wenn 
man ANFAENGT, mit der Maus zu ziehen. Da haette ich das Timergesteuerte 
Neuzeichnen deaktivieren koennen.
Aber komischerweise wird es nur einmal ausgeloest beim Uebergang
Capture -> Nicht Capture

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren