1

MDI 子窗体在显示时会显示其标题栏片刻。然后表格正常加载。有没有办法在不显示标题栏和表单边框的情况下加载表单。这就是发生的事情......

替代文字

替代文字

4

2 回答 2

3

不确定我是否从屏幕截图中看到它。但这种抱怨是熟悉的。MDI 真的不喜欢最大化的子窗口。当您显示一个新的子窗口并使其最大化时,它需要通过歌舞。首先它恢复当前的孩子,因此它不再被最大化。然后创建新的孩子并将焦点设置在它上面。然后最大化它。这些中间步骤是可见的,并且在绘制孩子很昂贵时会产生大量的闪烁。你的看起来很贵。你无法压制这幅画。

如果您总是最大化显示您的 MDI 子窗口,则 MDI 是错误的表单模型。只需使用一个简单的表单,使子 'windows' 用户控件。你甚至可以通过将它们的 TopLevel 属性设置为 false 来拯救你当前的子窗体,这会将它们变成控件。将 FormBorderStyle 设置为 None 并将 Visible 设置为 true。

于 2010-10-15T15:51:32.247 回答
1

即使没有最大化 MDI 子窗口,我也遇到了这个问题,当显示子窗体时,子标题栏会暂时显示。我通过将子窗体的顶部设置为父窗体的高度来解决它,这样窗体在显示时不可见。然后我将孩子的顶部设置回0。

这一直有效,直到我试图将孩子停靠在父母身上,以便孩子会随着父母的大小发生变化而自动调整大小。这让我回到了原点。这次我通过向父级添加隐藏面板,将面板的大小和位置设置为父级的 MdiClient 控件的大小和位置,使面板在显示子级之前可见,并在此情况下隐藏面板,从而克服了这个问题已经完成了。'不漂亮,但在我找到更好的解决方法之前它会起作用。

于 2011-11-21T16:24:25.163 回答