zoukankan      html  css  js  c++  java
  • C#2008与.NET 3.5 高级程序设计读书笔记(27) WindowsForms编程

    1.Windows Forms命名空间

    最重要的命名空间是System.Windows.Forms,从一个较高的层次来讲,在System.Windows.Forms里的数百个类型可以按下面主要的类型分组。
    (1)核心架构。这些类型展现了Windows Forms程序(Form、Application等)的核心操作,还有帮助与传统的ActiveX控件实现互操作性的许多类型。
    (2)控件。这些类型用来建立丰富的用户界面(Button、MenuStrip、ProgressBar、DataGridView等),所有这些用户界面都派生自Control基类。控件是在设计时可配置的并且(默认条件下)在运行时是可见的。
    (3)组件。这些类型不派生自Control基类,但仍然为Windows Forms程序(ToolTip、ErrorProvider等)提供可视特性。许多组件(比如Timer和BackgroundWorker)在运行时是不可见的,但在设计时可以被可视化配置。
    (4)公共对话框。Windows Forms为公共操作(OpenFileDialog、PrintDialog、ColorDialog等)提供许多对话框。如果标准对话框不适合需求,你当然可以构建自定义的对话框。

    2.剖析Form

    继承层次

    下表概括了Form继承链中每个父类的作用

    Form类型的生命周期循环:

    一旦对象被分配托管堆,框架就会触发Load事件。在Load事件处理程序内,可以自由配置窗体外观,准备任意容纳的子控件(比如ListBoxe、TreeView和其他东西),或在窗口操作期间仅仅分配所用的资源(数据库连接、远程对象代理及其他)。
    Load事件触发后,下一个被触发事件就是Activated。当窗体接收到焦点作为桌面上的活动窗体时,该事件就被触发。与Activated事件逻辑上配对的是(当然是)Deactivate,它在窗体失去焦点时触发。由于用户在多个活动的应用程序之间导航,Activated和Deactivate事件在整个窗体类型生命周期中可以被触发多次。 972
    当用户选择关闭窗体时,两个和关闭相关的事件会被触发:Closing和Closed。Closing事件首先被触发,可以用来放置提示最终用户的“你确认要关闭该应用程序吗?” 这个让人讨厌的信息(但很有用)。这个确认步骤是很有用的,它确保用户在结束程序前有机会保存应用程序相关的数据。
    Closing事件和在System.ComponentModel命名空间里定义的CancelEventHandler委托结合工作,如果设置CancelEventArgs.Cancel属性为true,可以阻止窗体被破坏,并指示它返回正常运行状态。如果设置CancelEventArgs.Cancel属性为false,Close事件触发并结束Windows。Forms应用程序,它将从应用程序域中被卸载,并在进程中结束。

  • 相关阅读:
    Element + 列表增删改查
    int 型动态数组
    Vue.prototype.$ 和 Vue.use()
    Vue.js生成一个Vue实例
    Element 树形组件
    使用Vuex 实现标签数字增加与减小
    使用指针做形参
    JavaWeb学习之HttpServletRequest
    JavaWeb学习之HttpServletResponse
    JavaWeb学习之Javaweb核心servlet
  • 原文地址:https://www.cnblogs.com/engine1984/p/1807246.html
Copyright © 2011-2022 走看看