这三个代码之间有什么区别?
1
Window a = new Window ();
a.Show (); // call show
Application b = new Application ();
b.Run (); // call without a
2
Window a = new Window ();
// do not call show
Application b = new Application ();
b.Run (a); // with a
为什么要正确地工作?为什么要这样做呢? 3.
Window a = new Window ();
a.Show (); // call show and also call show bellow
Application b = new Application ();
b.Run (a); // with a
答案 0 :(得分:3)
两者基本上都是用于消息循环,它是windows应用程序的核心,它处理窗口消息,如绘画,鼠标/ kbd事件等。
如果您使用下面的代码而没有Application.Run
Window a = new Window ();
a.Show ();
你会找到一个冻结的窗口,原因是没有人告诉那个窗口重绘或处理任何事件。
因此,通过Application.Run
调用消息循环,窗口开始按预期工作
Application b = new Application ();
b.Run (a); // with a