您的位置:首页 > 其它

应用程序和窗口

2014-04-26 17:31 253 查看
  你可能非常熟悉System命名空间(如果不是,你应该看一下我的在线书 .NET Book Zero),程序SayHello还包含了一个对 System.Windows 的引用,这个命名空间包含了所有的WPF的基础的东东,包括类、结构、接口、代理和枚举,也包括了程序中用到的 Application 和 Window。其他的WPF命名空间都是以 System.Windows 为前缀的,像 System.Windows.Controls,System.Windows.Input 和 System.Windows.Media。有一个例外是System.Windows.Forms,这个命名空间是主Windows窗体的命名空间。所有的以System.Windows.Forms开始的命名空间都是Windows窗体命名空间,除了Windows.Windows.Forms.Integration,这个命名空间包括了可以帮助你将Windows窗体和WPF代码集成起来的类。

  这本书中的所有代码都有一个一致的命名方案。每一个程序都和一个www.njfug.com工程相关联。工程里的所有代码都被一个命名空间的定义所附。(原文比较罗嗦,就不继续翻译这一段了)

  在任何一个WPF程序中,属性[STAThread]必须放在Main函数或者C#编译器将要编译的前面。这个属性指示了程序初始化时的线程模型为一个单线程的套间,这是与COM交互时必须的。“单线程套间”是一个旧的COM时期早于.NET的编程用语。但是还是要这样做。

  在SayHello程序中,Main函数开始时定义了一个Window类的对象,这个类可以用来创建一个标准的应用程序窗口。属性Title指示了将要出现在窗口标题栏出现的文字,Show方法则是在屏幕上显示这个窗口。

  最后一个重要的步骤是在一个新建的Application对象中调用Run方法。在Windows编程方法中,这个方法创建了消息循环,这允许应用程序可以接收用户从键盘和鼠标的输入。如果程序是运行在一个Table PC中,应用程序也从触摸屏中接收输入。 [Page]

  你可能会用Visual Studio 2005创建、编译和运行为WPF编写的程序。如果是,那么你可以按照如下的步骤创建SayHello程序。

  1.在文件菜单中选择新建工程。

  2.在新建工程对话框中,选择Visual C#,WPF和空工程。为工程设置一个目录并且起名叫做SayHello,不要选择创建工程目录。点击确定按钮。

  3.在右边(或者其他地方)的解决方案资源管理器中,在引用项中加入www.njidk.com、System和WindowsBase。

  4.在右边的解决方案资源管理器中,右键单击工程SayHello的名称,在添加菜单中选择添加新项,在出现的对话框中选择代码文件,键入文件名SayHello.cs,点击确定按钮。

  5.键入SayHello.cs文件的源代码(在上边)。

  6.选择“开始执行(不调试)”或者直接按下Ctrl+F5键编译和运行程序。

  在本书第一部分展示的大部分程序,创建工程都是采用和上述步骤基本相同的方法,除了一些具有多个源代码文件的工程外(本章就有一个这样例子)。

  当你关闭SayHello所创建的窗口时,你会发现有一个控制台窗口仍然在运行。这个控制台窗口的出现是受到工程中一个属性的控制的。右键单击工程名字选择“属性”菜单(或者在“工程”菜单中选择“属性”),现在你可以浏览或者修改工程的一些特性。注意在输出类型中是被设置为“控制台应用”。把输出类型改为“Windows应用”后,程序会和以前一样运行,但是不会出现那个控制台窗口。笔者个人发现这个控制台窗口在编程中还是相当有用的。我经常用它在程序运行时显示一些调试用的文本信息。还有一个好处,就是如果你的程序bug太多,甚至不能正常的显示一个窗体,或者陷入一个死循环,那么你可以轻松的在控制台窗口按下Ctrl+C键中止这个程序。

  SayHello中用到的www.njsiw.com类都是从DispatcherObject派生而来的,但是Window类有一个非常长的家谱,就像下面展示的类继承图一样:

  Object

  DispatcherObject(abstract)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: