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.