Tag: mdiparent

在.net中更改MDI容器表单的背景颜色或背景图像

我需要在我的应用程序中更改mdi父级的背景颜色或背景图像。 我尝试更改背景颜色或指定背景图像,它将无法正常工作。 我也尝试循环窗体中的控件以获取mdiclient并更改其背景颜色,也是同样的结果。

SplitContainer的面板作为其他表单的MDI父级

我添加了一个带有Splitcontainer的控件。 我想在第二个面板( Panel2 )上放置另一个表单。 但是,无法将全新表单的MDIParent属性设置为Panel2 。 因此,问题是 – 如何将SplitContainer’s面板设置为另一个控件的MDIParent ? 提前感谢您的线索! 干杯

将表单添加到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应用程序中父表单的问题

我在容器(父窗体)中使用按钮作为控件,当子窗体出现时,父窗体中的控件(按钮,图片,标签)出现在子窗体上并覆盖它,我看不到子窗体做任何一个知道如何防止这种情况,我不想把这些控制作为 Control.Visible=false; 因为当我最小化子表单时,我希望用户能够使用所有控件查看Container

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父表单上的灰色背景?

我要做的是在标记为mdi容器的表格上画一些玻璃。 但是,只要设置了IsMdiContainer,表单就会在其控件列表中添加一个MdiClient。 此时,父表单会发生一些事情 – 几乎就像深灰色面板停靠在MdiClient所在的整个表单上。 我接下来要做的是将MdiClient控件移开一点: foreach(var c in Controls) { if(c is MdiClient) { var client = (MdiClient)c; client.BackColor = Color.Red; client.Dock = DockStyle.None; client.Size = new Size(this.Width-100, this.Height); break; } } 然后,这使得实际的MdiClient区域变小,以便我们可以看到它背后的内容(托管子窗体的位),并且显然父窗体不是绘画或其他东西。 从这里可以看到: http : //img525.imageshack.us/img525/8605/mdiglassproblem.png 我现在需要以某种方式获得MdiClient背后的区域(在玻璃部分呈现白色的深灰色部分)消失。 有任何想法吗? PS – 在Vista中使用DwmExtendFrameIntoClientArea方法渲染Glass。