WinForm加载时各事件的顺序真是没有找到好的介绍,那就自己来试吧。 记录在这里,将来还会继续更新。 public partial class TestForm : Form { public TestForm() { Console.WriteLine(1); InitializeComponent(); Console.WriteLine(2); } protected override void OnLoad(EventArgs e) { Console.WriteLine(3); base.OnLoad(e); Console.WriteLine(4); } protected override void OnCreateControl() { Console.WriteLine(5); base.OnCreateControl(); Console.WriteLine(6); } protected override void OnShown(EventArgs e) { Console.WriteLine(7); base.OnShown(e); Console.WriteLine(8); } protected override void OnActivated(EventArgs e) { Console.WriteLine(9); base.OnActivated(e); Console.WriteLine(10); } protected override void OnClientSizeChanged(EventArgs e) { Console.WriteLine(11); base.OnClientSizeChanged(e); Console.WriteLine(12); } protected override void OnGotFocus(EventArgs e) { Console.WriteLine(13); base.OnGotFocus(e); Console.WriteLine(14); } protected override void OnResize(EventArgs e) { Console.WriteLine(15); base.OnResize(e); Console.WriteLine(16); } } 结果有我意料中的,也真有意料之外的: 1 2 5 3 4 6 13 14 9 10 7 8