分享(C高级编程第6版doc)第31章Windows窗体.docVIP

  • 8
  • 0
  • 约5.48万字
  • 约 48页
  • 2016-12-05 发布于重庆
  • 举报

分享(C高级编程第6版doc)第31章Windows窗体.doc

分享(C高级编程第6版doc)第31章Windows窗体

第31章Windows 窗 体 基于Web的应用程序在过去几年非常流行。从管理员的角度来看,把所有的应用程序逻辑放在一个中央服务器上是非常吸引人的。但部署基于客户的软件会非常困难,特别是部署基于COM的客户软件。基于Web的应用程序的缺点是它们不能提供丰富的用户体验。.NET Framework允许开发人员创建丰富、智能的客户应用程序,而且不再有部署问题和以前的DLL Hell。无论选择Windows窗体还是WPF(参见第34章),客户应用程序都不再难以开发或部署。 Windows窗体已经对Windows开发产生了影响。当应用程序处于初始设计阶段时,是建立基于Web的应用程序还是建立客户应用程序已经很难抉择了。Windows客户应用程序开发起来非常快速和高效,它们可以为用户提供丰富的体验。 Visual Basic开发人员对Windows窗体应比较熟悉。创建新窗体(也称为窗口或对话框)也采用把控件从工具箱拖放到窗体设计器上的方式。但是,如果您在创建消息泵和监视消息时使用的是C样式的传统Windows编程,或者您是一位MFC程序员,就会发现现在可以获得需要的低级内部功能了。现在可以重写wndproc,捕获这些消息,但常常并不是真需要它们。 本章将主要介绍Windows窗体的如下方面: ●?Form类 ●?Windows窗体的类层次结构 ●?System.Windows.Forms命名空间中的控件和组件 ●?菜单和工具栏 ●?创建控件 ●?创建用户控件 31.1? 创建Windows窗体应用程序 首先需要创建一个Windows窗体应用程序。下面的示例创建了一个空白窗体,并把它显示在屏幕上。这个示例没有使用Visual Studio 2008,而是在文本编辑器中输入代码,使用命令行编译器进行编译。下面是代码清单: using System; using System.Windows.Forms; namespace NotepadForms { public calss MyForm : System.Windows.Forms.Form { public MyForm() { } ???? [STAThread] static void Main() { Application.Run(new MyForm()); } } } 在编译和运行这个示例时,会得到一个没有标题的小空白窗体。该窗体没有什么实际功能,但它却是一个Windows窗体。 代码中有两个地方需要注意。第一个是使用继承功能来创建MyForm类。下面的代码声明MyForm派生于System.Windows.Forms。 public calss MyForm : System.Windows.Forms.Form Form类是System.Windows.Forms命名空间的一个主要类。代码的其他部分如下: ???? [STAThread] static void Main() { Application.Run(new MyForm()); } Main是C#客户应用程序的默认入口。一般在大型应用程序中,Main()方法不位于窗体中,而是位于类中,它负责完成需要的启动处理。在本例中,我们在项目属性对话框中设置启动的类名。注意属性[STAThread],它把COM线程模型设置为单线程单元(Single-Threaded Apartment, STA)。COM交互操作需要STA线程模型,默认为添加到Windows窗体项目中。 Application.Run()方法负责启动标准的应用程序消息循环。它有3个重载版本:第一个重载版本不带参数,第二个重载版本把ApplicationContext对象作为其参数,本例中的第三个重载版本把窗体对象作为其参数。在这个示例中,MyForm对象是应用程序的主窗体,这表示在关闭这个窗体时,应用程序就结束了。使用ApplicationContext类,可以对主消息循环何时结束和应用程序何时退出有更多的控制权。 Application类包含一些非常有用的功能。它提供了一些静态方法和属性,用于控制应用程序的启动和停止过程,访问由应用程序处理的Windows消息。表31-1列出了其中一些比较有用的方法和属性。 表? 31-1 /属性 说 明 CommonAppDataPath 对应用程序的所有用户都通用的数据路径。一般是BasePath\Company Name\Product Name\Version,其中BasePath是C:\Documents and Settings\ username\ApplicationData。如果该路径不存在,就创建一个 ExecutablePath 这是启动应用程序的可执行文件的路径和文件名 (

文档评论(0)

1亿VIP精品文档

相关文档