私は小さな問題をいじっています。C#プログラムでは、最初は黒の色のラベルを使用しています。MP3ファイルが再生されている間、ラベルは緑色になり、音楽の終了後、ラベルの色は黒色になります。
これで、音楽は再生されますが、ラベルは更新されません。いくつかのコード例を使用しましたが、どれも機能していません。これはイベントと呼び出しに関係していることは知っていますが、機能させるにはこのコードをどのように変更する必要がありますか?JavaではSwingUtilities.InvokeLater()メソッドを使用しますが、私が知る限り、C#にはこれに対応するものはありません。
delegate void LabelUpdate();
private void check()
{
new Thread(new ThreadStart(updateLabel)).Start();
playSound();
next(); // Used to set the label-color to black
}
private void updateLabel()
{
if (label1.InvokeRequired)
{
UpdateBox d = new LabelUpdate(updateLabel);
this.Invoke(d);
}
else
{
label1.ForeColor = Color.Green;
}
}
どんな助けでも大歓迎です!