【发布时间】:2010-12-21 17:19:17
【问题描述】:
我正在使用 .Net Compact Framework 2.0 SP2 和 C# 开发一个 Windows Mobile 5.0 及更高版本 应用程序。
我在方法中有这段代码:
if (listBox1.InvokeRequired)
{
Invoke(new MethodInvoker(
delegate() { listaBox1 = listaBox2; listBox1.Visible = true; }));
}
else
{
listBox1 = listBox2;
listBox1.Visible = true;
}
当我运行它时,它会在第二条语句 (listBox1.Visible = true;) 上抛出异常:
Control.Invoke 必须用于与在单独线程上创建的控件进行交互。
发生了什么事?
【问题讨论】:
-
您应该使用 BeginInvoke 而不是 Invoke 来防止死锁。
标签: c# winforms windows-mobile compact-framework invoke