哪个C#程序集包含Invoke?

Tom*_*ght 5 c# multithreading invoke visual-studio-2010

替代问题:为什么VS10如此热衷于抱怨Invoke?

在我不断追求让我的应用程序成为世界上最好的C#程序员的过程中,我认为线程是一件好事.

MSDN有一篇关于对控件进行线程安全调用的有用文章,但它(以及看似关于该主题的所有其他文章)倾斜地引用了一个名为Invoke的方法.有时甚至是BeginInvoke,我读过的也是首选.

如果我能让visual studio识别Invoke,那么这一切都会很棒.MSDN说它包含在System.Windows.Forms程序集中,但我已经"使用"它了.可以肯定的是,我也尝试过使用System.Threading,但无济于事.

我需要通过哪些环节才能调用工作?

djd*_*d87 4

调用在控制范围内。IEControl.Invoke();

无法直接调用 Invoke,因为System.Windows.Forms. Invoke 方法是一个控制成员。

这是我之前做的一个例子

public delegate void AddListViewItemCallBack(ListView control, ListViewItem item);
public static void AddListViewItem(ListView control, ListViewItem item)
{
    if (control.InvokeRequired)
    {
        AddListViewItemCallBack d = new AddListViewItemCallBack(AddListViewItem);
        control.Invoke(d, new object[] { control, item });
    }
    else
    {
        control.Items.Add(item);
    }
}
Run Code Online (Sandbox Code Playgroud)