anmae
Erfahrenes Mitglied
Hallo zusammen,
ich habe ein MDI Formular, welches einen Splittercontainer besitzt und in einem Panel dieses Splittercontainers habe ich ein Panel namens MDIContainer. Dieser wird zum Parent meiner MDIChild Formulare, wodurch er die MDI Area begrenzt. Das klappt alles wunderbar.
Ich habe dann noch eine Liste der Formulare, wodurch ich Zugriff auf die einzelnen Fenster habe. Das klappt auch, also ich kann mit dem Index den Titel des Fensters etc. auslesen.
Alle anderen MDI Funktionen funktionieren jedoch nicht. this.MDIChildren ist leer, somit kann ich - trotz dem Handle zum jeweiligen Form - kein Aktivate() machen um es in den Vordergrund zu holen. MdiLayout.Cascade bleibt ebenfalls ohne Auswirkung.
Hier mein Code, wie ich die MDIChilds einfüge:
Und der Code zum Zugriff auf das Fenster, welcher nicht funktioniert
Danke schonmal für eure Ideen
ich habe ein MDI Formular, welches einen Splittercontainer besitzt und in einem Panel dieses Splittercontainers habe ich ein Panel namens MDIContainer. Dieser wird zum Parent meiner MDIChild Formulare, wodurch er die MDI Area begrenzt. Das klappt alles wunderbar.
Ich habe dann noch eine Liste der Formulare, wodurch ich Zugriff auf die einzelnen Fenster habe. Das klappt auch, also ich kann mit dem Index den Titel des Fensters etc. auslesen.
Alle anderen MDI Funktionen funktionieren jedoch nicht. this.MDIChildren ist leer, somit kann ich - trotz dem Handle zum jeweiligen Form - kein Aktivate() machen um es in den Vordergrund zu holen. MdiLayout.Cascade bleibt ebenfalls ohne Auswirkung.
Hier mein Code, wie ich die MDIChilds einfüge:
Code:
public void AddMDIWindow(Defines.Groupwindowtype WindowType)
{
//Initiales Fenster in den MDI Container laden
GroupWindow Window = new GroupWindow(WindowType);
Window.MdiParent = this; //Parent ist das Haupt MDI Fenster
Window.Parent = this.MDIContainer; //MDIParent ist das Panel
int index = WindowList.Add(Window); //Fensterhandel in Liste speichern
Window.Show();
//Fenster der Fensterliste (Für Taskbar) zufügen
updateTaskbar();
}
Code:
private void TaskBar_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
int WindowIndex = System.Convert.ToInt32(e.ClickedItem.Name);
((Form)WindowList[WindowIndex]).Activate(); //Handle ist korrekt, es passiert jedoch nichts
this.MdiChildren[WindowIndex].Activate(); //MdiChildren ist leer, somit geht das hier gar nicht
this.ActivateMdiChild((Form)WindowList[WindowIndex]); //macht ebenfalls nichts
this.LayoutMdi(System.Windows.Forms.MdiLayout.Cascade); //auch nichts
}
Danke schonmal für eure Ideen