C# 为什么messagebox从不显示?
给定 我从未看到messagebox显示hi。 第二,在使用Async中的Task.Factory时,是否仍然需要调用EndInvokear?C# 为什么messagebox从不显示?,c#,C#,给定 我从未看到messagebox显示hi。 第二,在使用Async中的Task.Factory时,是否仍然需要调用EndInvokear? 当你从一个线程(而不是UI线程)调用MessageBox时,它永远不会出现 处理这个问题的正确方法是,从正在另一个线程上调用的方法引发一个事件,并让UI线程订阅它。在eventhandler中,您可以编写代码来显示MessageBox。当您从除UI线程之外的线程调用MessageBox时,它将永远不会显示 处理这个问题的正确方法是,从正在另一个线程上调用
当你从一个线程(而不是UI线程)调用MessageBox时,它永远不会出现
处理这个问题的正确方法是,从正在另一个线程上调用的方法引发一个事件,并让UI线程订阅它。在eventhandler中,您可以编写代码来显示MessageBox。当您从除UI线程之外的线程调用MessageBox时,它将永远不会显示 处理这个问题的正确方法是,从正在另一个线程上调用的方法引发一个事件,并让UI线程订阅它。在eventhandler中,您可以编写代码来显示MessageBox。使用Task.Factory.FromAsync时是否仍需要调用EndInvoke?使用Task.Factory.FromAsync时是否仍需要调用EndInvoke?
static void Main()
{
Form f = new Form();
f.Show();
Action a = () => MessageBox.Show("hi");
Task.Factory.FromAsync(f.BeginInvoke(a), (ar) => a.EndInvoke(ar));
Console.Read();
}