问题标签 [mdi]

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 投票
2 回答
1375 浏览

c# - C#:如何更改包含 MDI 子项的区域?

创建 MDI 父级时,窗体的整个“内部”都将成为 MDI 区域。

如果将菜单条添加到 MDI 父级,则 MDI 区域会缩小一点,以便为菜单条腾出空间。

但是如果在 MDI 父级的顶部添加一个面板,整个里面仍然是 MDI 区域。这意味着您可以将 MDI 子项向上移动到面板后面,并隐藏它们的标题行。如果将 MDI 子项移动到菜单条后面,则会出现滚动条,您可以向上滚动以访问标题行。但是当您使用面板而不是菜单条时,滚动条不会出现。因为MDI区域不知道面板,我想。

如何缩放 MDI 区域以在给定 Y 值以下开始?

0 投票
7 回答
22140 浏览

c# - 防止重复的 MDI 子窗体

如果该表单已经打开,是否有办法防止在 MDI 容器中打开该表单?

0 投票
1 回答
419 浏览

winforms - 您将如何在想要使用 MVP 模式的应用程序中使用“MDI-ness”?

情况: MainForm(分配给 MainPresenter)已启动并正在运行。用户单击 ShowFoo 按钮 - 一个事件被传递给 MainPresenter,它反过来创建新的 FooPresenter 和 FooView。我现在应该如何进行?应该在哪里创建演示者,应该在哪里创建视图,最重要的是,应该在哪里设置 MDIParent 属性?(太胖了,我觉得应该在主视图中完成。

注意:我使用的是依赖框架,尽管这与问题无关。理想情况下,我希望 IView 独立于 Form 类。

0 投票
1 回答
1558 浏览

c# - 如何将 MDI 子项设置为另一个表单的所有者?

我有一个子表单,其中有一个查找表单。我将查找表单的所有者设置为子表单,如下所示:

然后允许我访问它的属性,如下所示:

这工作得非常好,直到我将所有者表单推入 MDI 表单,从而 MDI 表单迅速获得了查找表单的所有权并将其全部搞砸了。我该如何解决这个问题?

更新:

我可以通过遍历 MDI 表单的 MdiChildren 属性来解决这个问题,直到找到我想要的表单,但这似乎有点牛仔风格。

0 投票
2 回答
1670 浏览

c# - C# MDI Parent 通过单击 MDI Parent 背景获得焦点

当我单击窗体的背景时,我想将焦点设置到 MDI 父窗体。但是,我可以让它设置焦点的唯一方法是调整表单大小。

当您单击 MDI 父级时,我尝试使用鼠标单击事件、单击事件、按键事件等手动设置焦点,但这些事件均未触发。当您单击表单的背景时,是否有任何方法可以将焦点设置到 MDI 父级?

0 投票
4 回答
1618 浏览

.net - 我如何找到哪个控件被聚焦?

我有一个用 vb.net 编写的 .net MDI 应用程序。我正在尝试编写一个表单,该表单将允许用户选择一个特殊字符,例如°、µ、²、³、ɑ 等,并在他们启动表单之前将该字符插入到任何关注的控件中热键或 MDI 父级中的主菜单。

执行此操作的简单方法是确定在调用字符选择表单时哪个控件专注于哪个 MDI 子表单,但我找不到有关如何执行此操作的任何信息。

有任何想法吗?

0 投票
3 回答
1738 浏览

delphi - Delphi MDI Application Next Window 菜单项

我将如何在 Delphi 7 的 MDI 应用程序的 Windows 菜单中实现 Ctrl+F6 Next Window 操作?

0 投票
2 回答
3786 浏览

winforms - 如何在 MDI 父级上使用带有 Dock=Fill 的 ToolStripContainer?

如何在 MDI 父级上使用 Dock=Fill 的 ToolStripContainer???... 当我在 MDI 父级上放置 ToolStripContainer 并将填充分配给属性 Dock 时,它会隐藏所有 MDI 子级。

谢谢...

0 投票
1 回答
3415 浏览

c# - 尝试使用 ProcessCmdKey 在 MDI 父/子窗体和其他窗体中实现全局键盘快捷键

我在 MDI 父窗体类中覆盖 ProcessCmdKey() 并在同一类中有一些键盘快捷键调用方法。但我希望使这些热键以父/子形式和其他形式工作。现在的情况是当关注其他表单(常规表单,而不是 MDI)时,ProcessCmdKey() 不再捕获键盘。我应该将 ProcessCmdKey() 放入哪个类以及使它工作的任何东西?谢谢!

0 投票
2 回答
1952 浏览

delphi - 如何在 MDI 应用程序中检查表单的“Z 位置”?

我在 Delphi 中创建了 MDI 应用程序。让我们假设我的应用程序中有一堆在屏幕上可见的 MDIChild 表单。我想在这些表单上执行一个循环,并检查每个表单在屏幕上的显示顺序。

例如,如果我有 3 个 MDICHild 表格:

FormA, FormB,FormC

FormB部分重叠部分重叠FormAFormBFormC

我想将它们的 Z 属性(深度)标记如下:

谢谢你的时间。