Hallo,
ich habe mit meinem Anfängerhalbwissen eine runde Progressbar in einem Usercontrol gebastelt. Google sei Dank. Der Kreis füllt sich auch prima, ich stehe nur grade vor dem Problem, diesen über meine Variable zu füllen.
Ich benutze einen MP3Player über die winmm.dll, der Kreis soll also passend zum Lied gefüllt werden. Jetzt habe ich ein ulong Property, das die Dauer des Liedes berechnet bzw. hält.
Folgende Methoden füllen den Kreis
C#-Quelltext
1: 2: 3: 4: 5: 6: 7:
| private void ProgressUpgrade(object fortschritt) { progessBarCustom.Invoke((MethodInvoker)delegate { progessBarCustom.UpdateProgress(Convert.ToInt32(fortschritt)); }); } |
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| private void ProgressBarFuellen() { Task.Run(() => { for (int i = 0; i < 101; i++) { new System.Threading.Thread(new System.Threading.ParameterizedThreadStart(ProgressUpgrade)).Start(i); System.Threading.Thread.Sleep(50); } }); } |
Zu meiner Frage:
Da sich der Kreis momentan noch von alleine füllt, muss er sich jetzt in Abhängigkeit zur Lieddauer füllen. Wenn ich versuche,
C#-Quelltext
1:
| System.Threading.Thread.Sleep(Convert.ToInt32(datei.Duration / 100)); |
zu schreiben, ist das glaube ich 1. Blödsinn und 2. kommt eine Format Exception auf.
Weiß jemand, wie ich die Dauer nun dort einpflege =?