如何在关闭子窗体时更改MDIParent控件的外观

本文关键字:MDIParent 控件 外观 窗体 | 更新日期: 2023-09-27 18:18:34

我有一个名为frmMain的MDIParent表单。它有一个有两个按钮的面板,比如btnChild1和btnChild2。在btnChild1的Click事件中,我打开了一个frmChild1,并改变了btnChild1的颜色。现在,当frmChild1关闭时,我想要btnChild1。背景色设置为透明。但我不知道在哪种情况下我必须编码。请指引我吧?

如何在关闭子窗体时更改MDIParent控件的外观

您可以像下面这样在MDI父窗体中处理frmChild1 FormClosed事件来存档

 private void button1_Click(object sender, EventArgs e)
 {
     Form2 childForm = new Form2();
     childForm.MdiParent = this;
     childForm.FormClosed += childForm_FormClosed;
     this.button1.BackColor = Color.Red;
     childForm.Show();
 }
 void childForm_FormClosed(object sender, FormClosedEventArgs e)
 {
     this.button1.BackColor = Color.Transparent;
 }

你可以这样做…

1。在frmMain中将按钮的可见性更改为Public。

2。在frmChild1的OnClose()事件中执行:

(这一点。

MdiParent ="RequiredColor";

这违背了面向对象编程的概念。

另一种方式是显示你的frmChild1作为对话框,所以控制将被转移回frmMain只有在frmChild被关闭后,然后改变按钮的颜色,以您的要求。