1
我有一個創建新線程的按鈕。該線程包含以下內容。控件和線程
foreach (DataRow r in results.Rows)
{
var item = new ResultItem(this)
{
Image = r[1].ToString(),
Video = r[2].ToString(),
Title = r[3].ToString().Trim(),
Duration = r[4].ToString().Trim()
};
SearchFlow.Controls.Add(item);
}
我得到這個錯誤:在一個線程上創建的控件不能成爲不同線程上的控件的父元素。 ResItem是自定義的用戶控件,它是該項目的一部分,而不是第三方控件。有沒有解決的辦法?我如何將這個控件添加到新線程的流表中?
@davisoa有正確的答案。這裏有一些如何使用'InvokeRequired'模式的選擇。 http://stackoverflow.com/questions/2367718/c-automating-the-invokerequired-code-pattern – 2010-11-06 23:21:32
[「內部控件上的」跨線程操作無效「異常]的可能重複(http://stackoverflow.com/問題/ 974317 /跨線程操作 - 不有效的異常上-內對照) – 2010-11-07 08:52:58