Показать / скрыть, BringToFront / SendToBack панель родительской формы, когда дочерняя форма родительской формы MDI закрывается или появляется - PullRequest
0 голосов
/ 18 мая 2011

Мне нужно скрыть панель родительской формы, когда дочерняя форма родительской формы MDI закрывается, и показать панель родительской формы, когда дочерняя форма закрыта.

В настоящее время я использую SendtoBack (), чтобы показать дочернюю форму напротив панели, которая находится на родительской форме, но когда я закрываю дочернюю форму, панель не появляется, даже если я использую:

BringtoFront()

OR

Panel1.Visible=true


    public partial class CHILD : Form
        {
      private void CHILD_Load(object sender, EventArgs e)
            {
                this.FormClosed += new FormClosedEventHandler(CHILD_FormClosed);
            }

     void CHILD_FormClosed(object sender, FormClosedEventArgs e)
            {
                PARENTForm P = new PARENTForm();
                P.panel1.BringToFront();
                P.panel1.Visible = true; 

            }
}




public partial class Form1 : Form
   {
   private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
            {
                CHILD P = new CHILD();
                P.Showg();
                P.MdiParent = this;
                P.BringToFront();
                panel1.SendToBack();
                panel1.Visible = false;
            }
    }

ЭТО НЕ РАБОТАЕТ .... ПОЖАЛУЙСТА, ПОМОГИТЕ ..!

enter image description here

1 Ответ

3 голосов
/ 18 мая 2011

Вы создаете новую родительскую форму в дочерней форме. Вам необходимо передать родительский объект формы в дочернюю форму, а затем использовать его, чтобы показать / скрыть панель и установить свойство Modifiers для панели public. Например ...

Родительская форма:

public partial class ParentForm : Form
{
    public ParentForm()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        panel1.Visible = false;
        ChildForm childForm = new ChildForm();
        childForm.MdiParent = this;
        childForm.Show();
    }
}

Детская форма:

public partial class ChildForm : Form
{
    public ChildForm()
    {
        InitializeComponent();
    }

    private void Child_FormClosed(object sender, FormClosedEventArgs e)
    {
        ParentForm parentForm = (ParentForm)this.MdiParent;
        parentForm.panel1.Visible = true;
    }
}
...