Windows 表單啟動和關閉的事件順序

來源:互聯網
上載者:User

對於關注對 Windows 表單應用程式中引發的每個事件按次序進行處理的開發人員來說,事件引發的順序特別重要。當某種情況需要小心處理事件時(如重繪表單的某些部分時),必須知道事件在運行時的確切引發順序。本文提供了一些有關在應用程式和控制項的生命週期中的幾個重要階段中的事件順序的詳細資料。

對於驗證這些事件的激發順序有一個很簡單的方法,就是建立這些事件的處理函數,即使什麼事情都不做。然後在每個函數的入口處設定斷點,對程式進行調試運行,看到達斷點順序就可以了。

當 Windows 表單應用程式啟動時,主表單的啟動事件按以下順序引發

1、System.Windows.Forms.Control.HandleCreated
  在為控制項建立控制代碼時發生

2、System.Windows.Forms.Control.BindingContextChanged
  當 BindingContext 屬性的值更改時發生
  註:每個 Windows 表單至少有一個 BindingContext 對象,詳見MSDN

3、System.Windows.Forms.Form.Load
  在第一次顯示表單前發生

4、System.Windows.Forms.Control.VisibleChanged
  在 Visible 屬性值更改時發生
  註:如果通過編程修改或使用者互動更改 Visible 屬性,則將引發此事件

5、System.Windows.Forms.Form.Activated
  當使用代碼啟用或使用者啟用表單時發生

6、System.Windows.Forms.Form.Shown
  只有在首次顯示表單時才會引發 Shown 事件;隨後執行的最小化、最大化、還原、隱藏、顯示或無效化和重新繪製操作都不會引發該事件。

 

當應用程式關閉時,主表單的關閉事件按以下順序引發:

1、System.Windows.Forms.Form.Closing
  在關閉表單時發生
  注意:在 .NET Framework 版本 2.0 中,Closing 事件已淘汰,應改用 FormClosing 事件。

2、System.Windows.Forms.Form.FormClosing
  在關閉表單前發生,此時可以取消表單的關閉。

3、System.Windows.Forms.Form.Closed
  關閉表單後發生
  注意:在 .NET Framework 版本 2.0 中,Closed 事件已淘汰,應改用 FormClosed 事件。

4、System.Windows.Forms.Form.FormClosed
  關閉表單後發生

5、System.Windows.Forms.Form.Deactivate
  當表單失去焦點並不再是活動表單時發生

注意:當調用 Application.Exit 方法以退出應用程式時,不引發 Form.Closed 和 Form.Closing 事件,但是會激發 Form.FormClosed 和 Form.FormClosing 事件。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.