gpt4 book ai didi

onresize - 在 InitializeComponent() 期间触发 Form.OnResize

转载 作者:行者123 更新时间:2023-12-05 00:07:17 25 4
gpt4 key购买 nike

我的 XP 英文机器和 XP 日文机器上运行相同的 UI 代码。
出于某种原因-这两台机器的行为不同:

在日 native 器上, OnResize 事件在 InitializeComponent 调用期间被触发(我认为来自 ResumeLayout 函数)。在英文机器上它没有。

我有一个 OnResize 的覆盖方法,可以更改我定义的私有(private)变量的值。由于组件没有完全加载(Ctor 仍在运行),这些变量为空,我得到一个异常。

我可以通过检查变量是否为空来修复代码,但我想了解为什么首先调用它以及为什么它只发生在这台机器上。

在网上搜索期间,我发现了其他人发布的相同问题,但没有解决方案( http://social.msdn.microsoft.com/Forums/en/winforms/thread/95aefae4-45d8-4ac5-a8f2-6e2142dfb631 )。

最佳答案

正确披露:我正在与 Hila 合作,所以我能够看到代码。
不同行为的原因是控件的属性称为 AutoScaleMode。在控件的基类中,此属性的值为 AutoScaleMode.Font。由于我们所有的研发机器都使用相同的设置(英语)运行,它们运行正常,并且错误并没有在那里发生。更改为日文机器意味着与英文机器上的字体设置不同。这造成了麻烦。所以我们将 AutoScaleMode 属性的值更改为 None 并解决了这个问题。 结论 :当心 AutoScaleMode 属性。

关于onresize - 在 InitializeComponent() 期间触发 Form.OnResize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2228316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com