我的XP英语机器和XP日语机器上运行的代码相同。 出于某种原因 - 这两种机器之间的行为是不同的:InitializeComponent()中触发的Form.OnResize
在日本机器上,OnResize事件在InitializeComponent调用期间被触发(我认为从ResumeLayout函数中)。在英国的机器上它没有。
我有一个OnResize的重写方法,它改变我定义的私有变量的值。由于组件未完全加载(Ctor仍在运行),那些变量为空,我得到一个异常。
我可以通过检查修复代码,如果该变量为空或不是,但我想了解为什么它获取调用摆在首位以及为什么只发生在本机上。
在我通过网络搜索过程中,我发现了别人发布的同样的问题,但没有解决方案(http://social.msdn.microsoft.com/Forums/en/winforms/thread/95aefae4-45d8-4ac5-a8f2-6e2142dfb631)。