gpt4 book ai didi

c# - 哪个 C# 程序集包含 Invoke?

转载 作者:太空狗 更新时间:2023-10-29 22:34:55 26 4
gpt4 key购买 nike

备用问题:为什么 VS10 如此热衷于提示 Invoke?

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

MSDN 上有一篇关于制作 thread-safe calls to controls 的有用文章,但它(以及似乎关于该主题的所有其他文章)间接引用了一个名为 Invoke 的方法。有时甚至是 BeginInvoke,即 I've read is to be preferred .

如果我能让 visual studio 识别 Invoke,这一切就太好了。 MSDN 说 it is contained in the System.Windows.Forms assembly ,但我已经在“使用”它了。可以肯定的是,我也尝试过使用 System.Threading,但无济于事。

我需要跳过哪些环节才能使调用正常工作?

最佳答案

Invoke在控制范围内。 IE。 Control.Invoke();

无法直接调用 Invoke,因为 System.Windows.Forms 中没有这样的方法。 Invoke 方法是一个控制成员。

这是一个 example我之前做过:

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);
}
}

关于c# - 哪个 C# 程序集包含 Invoke?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3109647/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com