我有一个简单的应用程序,带有通常的 UI 线程和后台工作人员,在后台工作人员中我需要动态创建 LinkLabels 并将它们放置在 FlowLayoutPanel 中。为此,我需要将 LinkLabel 的父级设置为 FlowLayoutPanel。
这是我目前拥有的一段代码,但是,我在“l.Parent = panel;”行上得到了臭名昭著的“跨线程操作无效”
我对多线程操作相当陌生,但我认为我正确地调用了,但显然不是。有什么建议么?
LinkLabel l = new LinkLabel();
if (rssFeedPanel.InvokeRequired) {
FlowLayoutPanel panel = null;
rssFeedPanel.Invoke(new MethodInvoker(delegate { panel = rssFeedPanel; }));
l.Parent = panel;
}
else
l.Parent = rssFeedPanel;