我有一个名为frmMain的MDIParent表单。它有一个带2个按钮的面板,比如btnChild1和btnChild2。在btnChild1的Click事件中,我打开了一个frmChild1并更改了btnChild1的颜色。现在当frmChild1关闭时,我希望将btnChild1.BackColor设置为透明。但我不知道在哪种情况下我必须编码。请指导我?
答案 0 :(得分:0)
您可以通过处理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 :(得分:0)
你可以这样做..
1.在frmMain中将按钮的可见性更改为Public。
2.在frmChild1的OnClose()事件中执行:
(this.MdiParent as frmMain).btnChild.BackColor =“RequiredColor”;
这违反了面向对象的编程概念。
另一种方法是将你的frmChild1显示为对话框,因此只有在frmChild关闭之后控件才会被转移回frmMain,然后将按钮颜色更改为你的要求。