WinForm加载时各事件的顺序 .

WinForm加载时各事件的顺序真是没有找到好的介绍,那就自己来试吧。

记录在这里,将来还会继续更新。

 

  1. public partial class TestForm : Form  
  2. {  
  3.     public TestForm()  
  4.     {  
  5.         Console.WriteLine(1);  
  6.         InitializeComponent();  
  7.         Console.WriteLine(2);  
  8.     }  
  9.     protected override void OnLoad(EventArgs e)  
  10.     {  
  11.         Console.WriteLine(3);  
  12.         base.OnLoad(e);  
  13.         Console.WriteLine(4);  
  14.     }  
  15.     protected override void OnCreateControl()  
  16.     {  
  17.         Console.WriteLine(5);  
  18.         base.OnCreateControl();  
  19.         Console.WriteLine(6);  
  20.     }  
  21.     protected override void OnShown(EventArgs e)  
  22.     {  
  23.         Console.WriteLine(7);  
  24.         base.OnShown(e);  
  25.         Console.WriteLine(8);  
  26.     }  
  27.     protected override void OnActivated(EventArgs e)  
  28.     {  
  29.         Console.WriteLine(9);  
  30.         base.OnActivated(e);  
  31.         Console.WriteLine(10);  
  32.     }  
  33.     protected override void OnClientSizeChanged(EventArgs e)  
  34.     {  
  35.         Console.WriteLine(11);  
  36.         base.OnClientSizeChanged(e);  
  37.         Console.WriteLine(12);  
  38.     }  
  39.     protected override void OnGotFocus(EventArgs e)  
  40.     {  
  41.         Console.WriteLine(13);  
  42.         base.OnGotFocus(e);  
  43.         Console.WriteLine(14);  
  44.     }  
  45.     protected override void OnResize(EventArgs e)  
  46.     {  
  47.         Console.WriteLine(15);  
  48.         base.OnResize(e);  
  49.         Console.WriteLine(16);  
  50.     }  
  51. }  

 

结果有我意料中的,也真有意料之外的:

 

  1. 1  
  2. 2  
  3. 5  
  4. 3  
  5. 4  
  6. 6  
  7. 13  
  8. 14  
  9. 9  
  10. 10  
  11. 7  
  12. 8  
posted @ 2011-08-25 18:31  therockthe  阅读(6024)  评论(0)    收藏  举报