gpt4 book ai didi

c# - 为什么消息框从不显示?

转载 作者:太空宇宙 更新时间:2023-11-03 20:22:44 26 4
gpt4 key购买 nike

给定

    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();
}
  • 我从未见过消息框显示“hi”。
  • 其次,在使用 Async 中的 Task.Factory 时是否仍需要调用 EndInvoke(ar)

最佳答案

当您从一个线程(而不是 UI 线程)调用 MessageBox 时,它永远不会显示。

处理此问题的正确方法是从您在另一个线程上调用的方法引发一个事件,并让 UI 线程订阅它。在事件处理程序中,您可以编写代码来显示 MessageBox。

关于c# - 为什么消息框从不显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12515604/

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