Ich versuche, eine einfache Anwendung zu machen, um einige Dinge in C# (Visual Studio) zu lernen. Momentan baue ich einen Musikplayer, und eine der Aktionen ist das Ausblenden der Musik beim Klickereignis.Warte auf x Sekunden in der While-Schleife C#
Ich habe kein Problem mit dem Aufbau eines Fade-Out-Teils, ich habe eine while-Schleife gemacht und die Lautstärke jedes Mal um 1% gesenkt, wenn der Loop läuft. Außerdem aktualisiere ich ein Label mit dem Fade-Wert.
Nur Problem ist, für die Verlangsamung der Fading Ich benutze das Thread.Sleep -Ereignis, und dieser Teil friert meine Anwendung ein und blockiert auch alle Updates meiner Textbeschriftung mit dem Fade-Wert.
Die Verblassung funktioniert gut, so der einzige Teil, an dem ich arbeiten muss, ist eine andere Option, etwas Verzögerung zu bauen. Zu einigen Themen habe ich hier über den Timer gelesen, und ich habe eine Timer-Komponente in Visual Studio hinzugefügt. Nur Problem, ich bin neu in C# und weiß nicht, wie man es richtig in dieser while-Schleife verwendet.
Kann mir jemand Hilfe geben?
Der aktuelle Code ist:
private void BtnPodiumtune1Fadeout_Click(object sender, EventArgs e)
{
PlayerPodiumtune1.settings.volume = 100;
fade1 = 100;
while (fade1 != -1)
{
PlayerPodiumtune1.settings.volume = fade1;
Fadelevel1.Text = fade1.ToString();
System.Threading.Thread.Sleep(30);
fade1 = fade1 - 1;
}
PlayerPodiumtune1.Ctlcontrols.stop();
}
Wenn Sie Timer verwenden, dann haben Sie nicht die 'while' Schleife – JohanP
Ist das eine WinForms App? Verwenden Sie ['System.Windows.Forms.Timer'] (https://msdn.microsoft.com/en-us/library/system.windows.forms.timer (v = vs.110) .aspx). –