C#中的线程更新UI控件的方式
kelvin 发布于 2021-06-12

在winform或者WPF中创建的线程不能直接更新其他控件的属性值,否则会抛出异常,正确的方式可以参考如下代码:

private delegate void SetControlPropertyDelegate(
    Control control, 
    string propertyName, 
    object propertyValue);

public static void SetControlProperty(
    Control control, 
    string propertyName, 
    object propertyValue)
{
  if (control.InvokeRequired)
  {
    control.Invoke(new SetControlPropertyDelegate               
    (SetControlProperty), 
    new object[] { control, propertyName, propertyValue });
  }

}
kelvin
关注 私信
文章
92
关注
0
粉丝
0