c#(Visual Studio)でいくつかのことを学ぶ簡単なアプリケーションを作ろうとしています。 今のところ私は音楽プレーヤーを構築していますが、そのうちの1つはボタンクリックイベントで音楽をフェードアウトしています。whileループ中にx秒間待つ#
フェードアウトの部分を作成するのに問題はありません。whileループを作成し、ループが実行されている時間ごとに1%の音量で音量を下げます。また、私はフェード値でラベルを更新します。
私は、Thread.Sleepイベントを使用しているフェードを遅くするために、その部分は私のアプリケーションをフリーズしているだけでなく、フェード値で自分のテキストラベルの更新をブロックしています。
フェーディングはうまくいきましたので、私が取り組むべき唯一の部分はいくつかの遅延を組み込むための別のオプションです。ここで私はタイマーについて読んだことがあり、Visual Studioにタイマーコンポーネントを追加しました。問題のみ、私はC#の新機能であり、このwhileループで正しく使用する方法を知らない。
誰でも私に助けてもらえますか?
現在のコードは次のとおりです。
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();
}
タイマーを使用している場合、whileループはありません – JohanP
これはWinFormsアプリケーションですか? ['System.Windows.Forms.Timer'](https://msdn.microsoft.com/en-us/library/system.windows.forms.timer(v = vs.110).aspx)を使用します。 –