ich möchte etwas gefühlt ganz einfaches machen.
Aufgabe:
Ein Form soll per Mausklick vom MDI Parent "gelöst"und auch per Mausklick wieder in das Mdi Parent wieder "hinzugefügt" werden können.
Ausgangssituation:
Ich erstelle im ParentForm mehrere Mdi Children (s.u. add_Click). Ich kann danach jedem Child durch Klick irgendwo dessen Form den Fokus geben.
Problem:
Wenn ich nun ein Form löse (button1_Click) und wieder dem Mdi Parent hinzufüge (button2_Click) funktioniert bei allen MDI Children das Fokussieren nur noch durch Klick auf deren Titelzeile. In das Form selbst klicken hat keine Auswirkungen mehr.
Mache ich was falsch ? Ist das ein Bug ? Ein Feature ? ...
Kann ich ein Form nur VOR dem Show() Ereignis einem MdiParent zuweisen ?
Grüße
MrDigi
Beispielapplikation, sehr trivial:
ParentForm hat einen Button zum Erstellen von MDI Childforms:
private void add_Click(object sender, EventArgs e)
{
ChildForm f = new ChildForm();
f.MdiParent = this;
f.Show();
}
ChildForm hat 2 Buttons zum Lösen und Hinzufügen:
private void button1_Click(object sender, EventArgs e)
{
this.Hide();
this.MdiParent = null;
this.Show();
}
private void button2_Click(object sender, EventArgs e)
{
this.Hide();
this.MdiParent = parentForm;
this.Show();
}