我有一個windows.form.userControl類,在運行時我想動態添加一些鏈接標籤。當我在Load方法中應用這段代碼時,它完美地工作。如何以線程安全的方式更新控制
for (int i = 0; i < 10; i++)
{
linkLabel = new System.Windows.Forms.LinkLabel();
linkLabel.Name = i.ToString();
linkLabel.Text = i.ToString();
linkLabel.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(linkLabel_LinkClicked);
this.Controls.Add(linkLabel);
linkLabel.Top = top;
top += 30;
}
可是當我中移動這個代碼片段backgroudworker的doWork方法,它會給跨線程問題,在這條線的相關操作無效異常: - this.Controls.Add(的LinkLabel);
如何將此作爲線程安全操作?我是C#的新手,我使用VS 2010使用C#4.0。 在此先感謝。
嗨弗洛裏安,這一行'Invoke(AddLinkLabels);'給錯誤說無效論點。有關於此的任何想法?謝謝。 – 2011-05-31 05:00:21
@poor_guy:我更新了我的答案 – 2011-05-31 06:15:23
非凡:D非常感謝:-) – 2011-05-31 07:23:53