Witam,

Mam aplikacje MDI i zastanawiam sie jak zrobic nastepujaca rzecz. Zalozmy, ze w kazdym okienku MDIChild jest na przyklad jakis komponent.

Teraz za pomoca polecen z menu głownego aplikacji chce zrobic cos z aktywnym oknem MDIChild, na przyklad zmienic wlasciwosci jednego z komponentów.

Jak to zrobic? Jest co prawda metoda ActiveMdiChild, ale nie daje mi ona bezposrednio dostepu do obiektu klasy reprezentujacej to jedno okienko, wiec w ten sposob nic nie zrobie - moge co najwyzej zamknac aktywne okno child i tyle.

Moge oczywiscie zapamietywac wszystkie obiekty reprezentujace tworzone okienka mdi child, ale to niezbyt wygodne, bo trzeba potem wyszukiwac ktore jest aktywne i dbac o ich usuwanie przy zamykaniu.

Czy jest na to jakis bardziej elegancki sposob?

[edit]
Tak jak myslalem, rozwiazanie jest banalne - wystarczy zrobic rzutowanie na klase okna child czyli cos takiego:

child activeChild = (child)ActiveMdiChild;
activeChild.zoom = Convert.ToDouble(zoomCombo.Text);
activeChild.Refresh();

W tym wypadku zmieniam zoom obrazka w aktywnym oknie MDI child.