我正在摆弄一个小问题。在 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;
}
}
任何帮助是极大的赞赏!