(对nested 的初步猜测被证明是不正确的。问题似乎是SplitContainer 面板没有正确缩放其托管控件。)
我有一些表单的选项卡控件在加载时无法正确调整大小。 https://support.microsoft.com/en-us/kb/953934在 2008 年描述了这样一个内核错误。很难相信它没有得到修复。我认为它消失了一段时间,但我又开始看到问题了。
控件嵌套得很深。Midi 父、子窗体、选项卡控件、带有两个面板和控件的拆分器控件。对于自上而下的第一个有问题的控件是选项卡控件。当加载后调整窗体大小但锚点不正确并且部分控件被剪切时,它会调整大小。
该问题似乎特定于 100% 桌面字体大小 - 100+ 大小的桌面工作正常。我使用 VS 2013 v5 以 125% 的速度开发 - 这个问题也出现在 v4 上。
任何人都知道缺少知识库文章中概述的自定义控件的解决方法吗?
我错过了其他事情?
仔细观察 SplitContainer 是不调整锚点大小/尊重锚点的控件。
我尝试在显示选项卡后运行此代码但它不起作用 - 看起来与使用锚点大致相同。似乎 TabControl 报告的 ClientSize 不正确
SplitContainer1.Width = TabControl1.ClientSize.Width - 10
SplitContainer1.Height = TabControl1.ClientSize.Height - TabControl1.ItemSize.Height - 10
Run Code Online (Sandbox Code Playgroud)
这是显示问题的完整表格。在 125% 桌面上,它显示为在 100% 桌面上的 IDE 中,选项卡上的控件未正确定位。
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class frmChild
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing …Run Code Online (Sandbox Code Playgroud)