问题标签 [mdichild]
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.
vb.net - VB.Net MessageBox.Show() 将我的表单移到后面
我有一个 MDI 应用程序。当我使用 MessageBox.Show() 显示消息框时,当我关闭消息框时,整个应用程序会消失在所有打开的窗口后面。
代码没有做任何特别的事情。事实上,这是从 MDI 子窗体中调用消息框的行:
Me.BusinessUnitTypeName() 是一个只读属性 getter,它根据成员变量的值返回一个字符串。此属性没有副作用。
有任何想法吗?
c# - C#中的MDI子窗体问题
当我最大化 1 个 MDI 子窗体时,所有 MDI 子窗体也会被最大化。是否可以最大化一种形式而另一种不最大化?
提前致谢。
vb.net - Winforms MDI“桌面”区域边界
默认的 MDI 父控件有一个很大的“桌面”区域,可以显示多个子窗体。用户可以将表单拖到这个桌面区域的边缘,这样子表单的大部分就不会出现在屏幕上。(然后滚动条出现在 MDI 父级中)我不喜欢这个功能。有没有办法锁定桌面区域的边缘,使子窗体保持完全可见?
winforms - Winforms MDI 客户端区域的大小/位置
MDI 表单内部是一个客户区,它承载 mdi 子表单。我如何知道该区域有多大?到目前为止,我能想到的最好的方法是找到父级潜在客户区(mdiparent.ClientRectangle)的总大小,然后减去从客户区带走的工具栏等组件的大小。有没有更好的办法?
.net - MDI 子窗体调用,而不是生成
我有一个 MDI 表单,里面有 3 个嵌套的子级。截至目前,它所能做的就是显示一个新表单。例如:每次按下菜单按钮时,都会创建新的子窗体(Form1)。现在,如果我第二次或随后按下相同的菜单按钮,则会创建一个新的Form1,它会出现在前一个的上方。
我想要的是每次触发事件处理程序(父表单上的菜单 item_click),而不是生成一个完全“新”的子表单(弹出一个新窗口),而是拉起适当的子表单连接到触发器。
我想这就像重用一个对象。
任何帮助将不胜感激。
这是我正在使用的代码示例:
c# - 创建选项卡式 MDI 界面
我正在使用 C# 2005 开发 Windows 应用程序。我打算使用选项卡容器来显示子表单。我使用了菜单条来显示菜单并设置了 MainMenu 表单的 IsMDIContainer = true 属性。MainMenu 表单还包含一个选项卡控件,我计划在选项卡控件中将所有子表单显示为 Tap Pages。
到目前为止,当用户选择菜单选项时,我已经能够添加标签页。但我不知道如何在标签页中显示子表单本身。
我在菜单点击事件中使用了以下代码。
如何在标签页中正确显示子表单?我不想要一个文件-> 新类型的应用程序,其中菜单单击事件显示相同的(空白)表单。我的菜单选项应该每个都显示一个独特/不同的形式。
谢谢你。
拉利特·库马尔·巴里克
c# - 删除标签页
我正在使用 C# 2005 创建一个 Windows 应用程序。我有一个 MDIForm (frmMainMenu),其中包含一个 Menustrip 和一个
选项卡控件。我的 ChildForm 是 frmPurchaseEntry。当用户单击特定的菜单选项时,会创建一个新的 TabPage 并
子窗体显示在 TabPage 内。
我在 MDIForm (frmMainMenu) 的 MenuClick 事件中使用以下代码:
一切都很好。但是当 ChildForm 关闭时,我无法删除 TabPage。仅以下命令
关闭 ChildForm,但空的 TabPage 仍然存在。
我知道删除 TabPage 的语法是
但我无法从 ChildForm 访问 MDIForm 的 TabControl。我尝试对 TabControl 使用 Public 修饰符,但是
它仍然没有从 ChildForm 中暴露出来。
如何从 ChildForm 中删除并处理特定的 TabPage(带有特定的选项卡文本)???
谢谢你。
拉利特·库马尔·巴里克
windows - 最大化另一个应用程序 VB.NET 的 MDIChild
我正在制作一个需要最大化另一个应用程序窗口的应用程序。在 Spy++ 中,它的工作方式是 -> "Working Model - Untitled1" -> "MDICloient" -> "Untitled1"
这就是树视图的样子。
我需要最大化 Untitled1,但我不确定如何。我尝试了 findwindow “Working Model - Untitled1”,然后使用了 get 和 setwindowplacement,它成功了。然后我在“Untitled1”上使用了 findwindowex,但它没有最大化。我在这里做错了什么?我确信 mdi windows 可以最大化;“Untitled1”窗口本身在标题栏上有 3 个按钮 (- + X)。
谢谢
c# - Windows 窗体 - MdiClient 滚动条未按预期自动显示
我正在用 C# 编写一个 windows 窗体应用程序,可以启动一些 windows 实用程序(例如 CMD 提示符、注册表编辑器、事件查看器等)并放置在主窗体上的 MdiClient 控件中。
除了当子窗口超出 MdiClient 的边界时,MdiClient 控件中的滚动条不会自动出现之外,一切都运行良好。如果子窗口是窗口窗体,那么我知道 MdiClient 的滚动条会按预期自动出现。我尝试了很多事情,包括一些复杂的解决方法..我开始认为一定有一些我完全忽略的东西。
我在下面附上了一些示例代码:
下面的屏幕截图显示,当 CMD 窗口移动到其边框在 MdiClient 的边框之外时,没有滚动条:
请查看此图片链接:http: //picasaweb.google.com/lh/photo/75rMVJMCWRg_s_DFF6LmNg ?authkey=Gv1sRgCIKRlsu8xuDh8AE&feat=directlink
任何帮助将非常感激!
谢谢, 谢迪
c# - 为什么最后一个关闭的 MDI 子窗体没有被垃圾收集?
我们的应用程序中存在内存泄漏问题。我已经设法通过以下简单示例复制了其中一个问题:
复制设置
1) 创建以下帮助类,用于跟踪对象的创建/销毁。
2)创建一个包含三个按钮的MDI表单,第一个按钮将创建一个新的MDI子,如下所示:
第二个按钮将用于执行相同的操作,但使用的是非 MDI 子窗体:
第三个按钮将用于垃圾收集,然后显示有多少 TestObject 实例处于活动状态:
复制步骤
1) 点击 Open MDI form 按钮,然后关闭 MDI form,然后点击 count 按钮。它将返回 Count: 1. MDI 子窗体和它引用的对象没有被垃圾回收 - 某些东西必须仍然具有对它的引用。
还:
单击打开 MDI 窗体三次,关闭所有 3 个窗体,然后单击计数按钮。它将返回 Count: 1。似乎最后关闭的 MDI 子窗体没有被垃圾收集。
反例:
1)点击打开非MDI表单,关闭它。然后单击计数按钮。它将返回 Count: 0,表单和对象已被垃圾回收。
解决方法
我可以通过这样做来解决这个问题:
在垃圾收集之前。这使得这个虚拟表单成为最后一个关闭的 MDI 子表单,以便其他表单可以被垃圾收集 - 但为什么我必须这样做?到底是怎么回事?
它也有点难看,因为你会看到表单打开和关闭的闪烁,而且看起来也很hacky。