使用Winforms中的运行后台线程更新UI中的控件

yog*_*dra 2 c# multithreading winforms

我在Winform中使用后台工作线程,在我的Do_Work事件中我正在计算一些东西,我需要的是同时我想更新一个在main/UI线程中的标签?怎么实现这个?

我想从Do_Work事件更新我的标签......

GET*_*Tah 6

在WinForms(WPF)中,UI控件只能在UI线程中更新.你应该这样更新你的标签:

public void UpdateLabel(String text){
    if (label.InvokeRequired)
    {
        label.Invoke(new Action<string>(UpdateLabel), text);
        return;
    }      
    label.Text = text;
}
Run Code Online (Sandbox Code Playgroud)