经过一周的代码调试后,我发现基于 Windows-Forms 的 GUI 行为异常的问题是因为我将表单运行为:
Form1 myGui = new Form1();
Application.Run(myGui);
将代码更改为:
Application.Run(new Form1());
显然成功了。
我遇到的问题是,由于某种原因,如果我以第一种方式创建表单并尝试使用 Invoke/BeginInvoke 模式编组调用,则该调用从未解决,在调用的情况下留下另一个线程挂起,或者干脆从不使用 BeginInvoke 调用该函数。
谁能解释为什么会这样?
此外,我在 Mono 和 Unity3D 上运行应用程序。
感谢大家