У меня есть класс 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 #, и я использую C # 4.0, используя VS 2010.
Заранее спасибо.