问题标签 [mdiparent]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1973 浏览

winforms - 如何在 MDIParent 的控件之上显示 MDIChild 表单

我有一个包含许多子窗体的 MDI 父窗体,当我想在父窗体上添加控件时,子窗体出现在控件下,例如我想在 MDIParent 窗体上添加一个组框和一个图片框,但是当我调用Child Form 它出现在这些控件下。

frmChildForm1.TopMost=true 也不起作用。

我附上了一张照片以获得更多描述。

我能做些什么?!

在此处输入图像描述

0 投票
1 回答
1291 浏览

c# - Winform 应用程序中的 MDIparent 返回未设置为对象实例的对象引用

我对这段代码有疑问。你可以在这里找到所有的课程。

如果我启动应用程序并想打开一个新表单,我会收到此错误:

NullReferenceException : 对象引用未设置为对象的实例。

主应用程序设置为isMDIcontainer = true;

现在我在这部分代码中收到了错误:

Plugin.PluginForm只是一种扩展形式。这是CreateIstance()方法:

在同一个网站上,有人说这个错误可以通过这种方式解决:

您必须在界面中声明属性 system.window.form parentForm

但我不明白怎么做。

0 投票
3 回答
3499 浏览

forms - Delphi Multiple MDI Children 导致窗口状态改变

我希望防止在创建第二个 MDI 子项时发生 MDI 子项 WindowState 更改...

我有一个我正在开发的应用程序,用 Delphi 编写。通过一点 Delphi/Windows 魔术,应用程序有多个 MDI 父级和多个 MDI 子级。

我可以创建一个表单(子 A1),并在 MDI 父级(父级 A)中最大化它。我可以创建第二个表单(子 B1)并在第二个 MDI 父级(父级 B)中最大化它。两种形式都将在单独的 MDI 父母中进行最大化。到现在为止还挺好。我有这个工作。

但是,当我在第一个 MDI 父级(父级 A)中创建第二个 MDI 子级(子级 A2)时,第一个子级(子级 A1)的 WindowState(wsMaximized)会在创建第二个子级(子级 A2)时发生变化。我希望第一个孩子(孩子 A1)保持最大化,并创建第二个孩子(孩子 A2)并将其放置在第一个孩子之上......

如何防止第一个 MDI 子项的状态发生变化,同时又创建第二个 MDI 子项?有什么提示吗?

好的 - 现在我已经吃过午饭了,也许我可以更好地解释一下……这是第二次尝试……

所描述的行为可以在一个简单的 MDI 应用程序中重现(我用来创建多个 MDI 父级的魔法不会影响我的问题)

创建一个新的表单应用程序,将 formstyle 更改为 fsMdiForm 创建第二个表单,将其样式更改为 fsMDIChild 创建第三个表单,将其样式更改为 fsMDIChild

运行应用程序。实例化第二个表单,然后最大化(按预期工作 - 在 MDI Parent 中最大化) 实例化第三个表单,第三个表单以窗口状态 wsNormal 打开。但是当第三个窗体创建时,第二个窗体的窗口状态发生了变化——它不再被最大化,变成了wsNormal,就好像你点击了restore一样!

我想在打开第三个表单时避免恢复第二个表单...(所有表单的初始 WindowState 为 wsNormal...

非常感谢任何提示!

0 投票
2 回答
1758 浏览

c# - 在具有唯一标识符的 MDI 表单中打开子表单的多个实例

在我的应用程序中,我希望能够在具有唯一标识符的情况下多次打开表单的新实例作为孩子。

目前我喜欢这样:

我目前有两个问题:

  1. 怎么可能从 MDIForm (mainForm) 我可以通过当前在主窗体中打开的子窗体的 Text 属性以编程方式执行诸如 BringToFront 或 Close 之类的操作
  2. 我不应该是一个天才发现这种子表单的唯一命名方式不起作用。Console #1如果我打开 5 个子表单(相同的表单),它们的编号会像Console #5. 但是,如果我关闭假设Console #4并且如果我打开一个新表单(相同的表单!)它将被命名Console #5,那么我将有两个具有相同名称的表单。如果可以解决此问题,那么对于用户可区分的表单将非常有用。

在这种情况下期待您的提示!

0 投票
2 回答
4846 浏览

c# - 如果另一个表单正在其 MDI 父级中运行,如何从子表单中检查?

我有一个 MDI 表格。如果另一个表单正在运行,我想在此表单的正在运行的子项中检查。就像是:

MyForm2我要查找的表单的名称(类名)在哪里。编译器会说“此时类名无效”。

如何正确执行此操作?请注意,我可以在那个时刻运行多个“MyForm2”实例(嗯,使用不同的实例名称!)

0 投票
1 回答
1181 浏览

.net - MDI 窗体内的可拖动 ToolStrip 控件

我有一个 .NET MDI(多文档界面)应用程序,我想使用可拖动的 ToolStrip 控件。我希望 ToolStrip 控件位于我的 MDI 表单的顶部(就在菜单下方)。当我在 MDI 窗体中使用标准 ToolStripContainer 时,我不能显示顶部停靠条,它总是显示中心内容面板,并在我的 MDI 应用程序中隐藏和子窗体。我尝试将 ToolStripContainer 停靠设置为“顶部”(而不是“填充”),但内容面板仍然显示,并且当我有多行 ToolStrip 控件时它无法正确调整大小。

有没有办法隐藏 ToolStripContainer 的内容面板,以便它在 MDI 表单中播放得很好?如果没有,我如何在 MDI 表单中获得可拖动的 ToolStrip 控件?MDI 应用程序中的可拖动 ToolStrip 似乎是一个常见的请求。

0 投票
1 回答
1379 浏览

c# - MdiParent 中的 Form_Load 事件

我有一个 MDIParent 和一个 Menustrip,所以当我单击 StripMenuitem 时,我会在我的 MdiParent 表单中显示另一个表单,所以我的问题是:在 MdiParent 中打开的表单的 Form_Load 事件不起作用!,似乎我必须使用另一个事件:/

任何的想法?谢谢

这是我如何在 MdiParent 表单中显示我的表单的代码

所以在子FormFormVehicule的代码中

0 投票
2 回答
7302 浏览

vb.net - 带有 MdiParent 问题 VB:NET 的 ShowDialog

实际上我正在尝试显示并与父表单对话,参考示例是:

我试过这段代码但它说:

不是顶级表单的表单不能显示为模式对话框。在调用 showDialog 之前从任何父窗体中删除窗体。

0 投票
1 回答
457 浏览

c# - 看不到新的 mdi 孩子

你好,我正在做一个小型的 uni 项目。问题是当我单击一个按钮时,它必须在 MDI 容器中显示一个子窗体。

但这不起作用。所有属性都设置正确。

mdi 容器本身包含一个拆分容器和一些按钮、文本字段、标签等。

按钮的代码如下

这就是我的称呼,但我没有看到容器内部或外部显示任何表单。

0 投票
2 回答
1816 浏览

c# - 当用户按下子窗体上的最大化按钮时如何调整 mdichild 窗体的大小

我只想让我的 mdichild 表单在按下最大化按钮时调整大小,并且它不会停靠在父表单上。

我的初始 MDIChild 大小是 100,100,当我按下最大化按钮时。我只需要将 MDIChild 的大小调整为 500,500。我的问题是,当我按下最大化按钮时,它会停靠在 mdiparent 表单中并填充 mdiparent 表单的所有剩余空间。

顺便说一句,我的 MDIParent 大小是 800,800,因此 MDIChild 不会超出 MDIParent。