在C#中,使用Control.Invoke从运行表单的同一线程更改Control的属性是否有任何问题?
我知道最好使用Control.Property = value
,但我想知道使用Control.Invoke的后果是什么。
示例:
使用此:
public partial class FormMain : Form
{
private void Button1_Click(object sender, EventArgs e)
{
this.Invoke(new delegate {Label1.Text = "Hello"});
}
}
而不是:
public partial class FormMain : Form
{
private void Button1_Click(object sender, EventArgs e)
{
Label1.Text = "Hello";
}
}
答案 0 :(得分:-1)
this.Invoke(new Action(
delegate()
{
label2.Text = "Test";
}));
或
this.Invoke(new MethodInvoker(
delegate()
{
label2.Text = "Test";
}));