Tag: mdichild

如何在nonMDI类中设置Child表单的MDIParent属性?

我正在研究具有子表单的MDI应用程序。 一旦满足某些条件,我必须显示子窗口。 我创建了一个名为clsDashbord的单独的类, 它有方法loadDashboard() ,它应该加载已设计的frmDashboard。 代码如下: public void loadDashboard(String userName) { _Dashboard = new frmDashboard(); _Main = new frmMDI(); // _Dashboard.MdiParent = _Main; _Dashboard.Text = userName; _Dashboard.Show(); } 如果我将MDIParent设置为Main ,这是MDI Form的实例变量,则不显示表单,否则显示。 怎么做?

将表单添加到MDI子项

在Form1我启用了IsMdiContainer并添加了一个MenuStrip 。 在Form1_Load我“新” Form2 ,我正在将Form2.MdiParent Form2.MdiParent给Form1 。 我也最大化Form2 ,这个操作运行良好。 在Form2我在表单的左侧有一个treeView ,在表单的右侧,我想显示许多具有各种编辑function的不同表单,这些表单将取决于在treeView选择的节点或级别。 我想创建许多不同的表单来编辑将在Form2显示的数据,具体取决于treeView的选择。 我似乎无法向MdiChild添加表单,我一直在看一些post,在表单中添加表单可能会产生一些我不确定的编程问题。 我真的没有任何代码可以粘贴到这篇文章中,因为除了Mdi Parent和Child关系之外似乎没有任何工作,这很简单。 在此先感谢您的帮助。

MDI父表单问题设置父

我正在使用一个有孩子的MDI父表单,当他们被这个父母调用时他们很好地表现出来并且我用它来强化儿童forms ChildForm child = new ChildForm(); child.IsMdiContainer= this; child.Show(); 一旦从父母控制中调用它们就会很好地工作但是如果我从另一种不是任何父forms的孩子的forms中调用它们那么它们不再是主要父母的孩子一个明显的原因是当我在那个独立forms上强化它们时我根本无法使用child.MDIParent = this; 因为它会倾向于使独立forms的父母,但我也尝试过 MDIParentForm form = new MDIParentForm ChildForm child = new ChildForm(); child.IsMdiContainer= form ; child.Show(); 但这也没有帮助而不是这个它抛出一个exception,我试图设置父的forms不是MDI容器然后对此我试一试并修改 MDIParentForm form = new MDIParentForm ; form.IsMdiContainer= true; ChildForm child = new ChildForm(); child.MDIParent = form ; child.Show(); 并且在其结果中没有出现 任何想法如何……….

C#MDI父级检测MDI Child何时关闭?

我试图在MDI父级上检测到我的MDI子窗体何时关闭,并做出相应的反应。 在MDI子项关闭之前,MDI父母不应该做任何事情。 这是我的代码,我不确定我做错了什么,但我添加的表单关闭事件方法永远不会被调用… 如果不明显,则以下代码位于MDI父类中。 private void keyValidation() { if (Properties.Settings.Default.Unlock == true) return; else { menu.Enabled = false; statusStrip.Enabled = false; ValidationForm vf = new ValidationForm(); vf.MdiParent = this; vf.Show(); vf.FormClosed += new FormClosedEventHandler(validationForm_FormClosed); } } void validationForm_FormClosed(object sender, FormClosedEventArgs e) { MessageBox.Show(“Got here”); if (Properties.Settings.Default.Unlock == true) { menu.Enabled = true; statusStrip.Enabled = true; […]

最大化MDI子表单

我正在研究一个传统的WinForms MDI应用程序,并且在使子表单按我的意愿运行时遇到一些麻烦。 我的目标是让孩子的forms始终最大化(停靠)。 问题是,即使我将MaximizeBox设置为false ,MDI工具条中也会出现最大化/resize按钮,并让用户调整(取消停靠)子窗体。 避免这种情况的唯一方法是将ControlBox设置为false ,然后关闭按钮消失(这不是我想要的)。 我已经尝试使用固定的FormBorderStyle并在触发resize事件时最大化子窗体但我的方法都没有工作。 我错过了什么超级秘密财产,还是不可能? 最好的问候和提前谢谢 更新 我写了一个低级方法(感谢@rfresia)处理我的子表单,它可能会帮助其他遇到同样问题的人: //All child forms derive from ChildForm //Parent MDI Form implementation //… private void ShowForm(ChildForm form) { //Check if an instance of the form already exists if (Forms.Any(x => x.GetType() == form.GetType())) { var f = Forms.First(x => x.GetType() == form.GetType()); f.Focus(); f.WindowState = […]

容器forms的控件是否以子forms出现?

在容器forms中,我有菜单和按钮来打开表格。 在这里我遇到一个问题,当我打开任何forms这些按钮和标签来到新打开的表格。 请指导我如何管理这个问题? 我想打开一个新表单并将这些容器表单的控件保留在它的后台。