Application.run(Windows)与Application.run()

时间:2014-08-31 03:36:16

标签: c# wpf windows

这三个代码之间有什么区别?

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

1 个答案:

答案 0 :(得分:3)

两者基本上都是用于消息循环,它是windows应用程序的核心,它处理窗口消息,如绘画,鼠标/ kbd事件等。

如果您使用下面的代码而没有Application.Run

Window a = new Window ();
a.Show ();

你会找到一个冻结的窗口,原因是没有人告诉那个窗口重绘或处理任何事件。

因此,通过Application.Run调用消息循环,窗口开始按预期工作

Application b = new Application ();
b.Run (a);  // with a