vb.net - 如何在 VB.NET 中打开位于 MDI 父级中的子窗体?

标签 vb.net vb.net-2010 mdichild

我们如何在父 MDI 窗口中排列子窗体?我可以从父菜单中调用并显示子窗体,但子窗体会弹出父窗体之外——我希望它实际上位于父窗体内部。我检查了 C# 和 VB.Net 解决方案,但它们都说得差不多,即尝试访问 LayoutMDI,例如此处:

http://msdn.microsoft.com/en-us/library/x9fhk181.aspx

问题是,我在哪里可以访问它?当我在我的 MDI 父级代码中时,无法识别 Me.LayoutMdi。我应该在应用程序的哪一部分放置 Me.LayoutMDI 代码?

编辑

Me.LayoutMDI 代码毕竟在父级中起作用。我已经尝试了一段时间,但不知道哪里出错了。

但是,子级继续从父级中弹出。这是如何发生的图像。后面较宽的窗体是父窗体,带有 gridview 和两个按钮的窗体是弹出的新子窗体。我希望它在父项中弹出“已停靠”。

enter image description here

最佳答案

如果您的表单位于 MDI 父级“外部”,那么您很可能没有设置 MdiParent 属性:

Dim f As New Form
f.MdiParent = Me
f.Show()

在这个例子中,Me 是一个具有 IsMdiContainer = True 的表单,因此它可以承载子表单。

要重新安排子窗体布局,您只需从 MdiContainer 窗体调用该方法:

Me.LayoutMdi(MdiLayout.Cascade)

MdiLayout 枚举也有平铺和排列图标值。

关于vb.net - 如何在 VB.NET 中打开位于 MDI 父级中的子窗体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13533909/

相关文章:

c# - 代码在 Windows 服务项目中不起作用

vb.net - 隐藏/禁用 DataGridView 列/行调整行大小

vb.net - 从 PC 获取唯一的硬件 ID

c# - WinForms MDI 子窗体

c# - 最大化 MDI 子窗体

vb.net - vb.net 中的形状控制

c# - 将 short 转换为 VariantType(从 short 中提取 VariantType)

vb.net - 在vb.net中的文本框中查找光标位置

vb.net - Right(S,2) 与 Strings.Right(S,2)

c# - 如何避免在 MDIParent C# Winforms 中显示多个子窗体