Aplikacja MDI


(northwest) #1

Witam, zrobiłem sobie aplikację MDI w C# składającą się z formy

"matki" i form "córek". Po uruchomieniu aplikacji wszystko śmiga

jak należy, tylko maksymalizacja form "córek" wygląda jakoś

dziwnie:

screen1.jpg

Ponadto po wyświetleniu kolejnej formy (przy zmaksymalizowanej

poprzedniej) dzieje się coś takiego:

screen2.jpg

Wiecie może co jest nie tak??

Z góry dzięki za pomoc,

pozdrawiam Łukasz


(system) #2

Pewnie postawiłeś maksymalny rozmiar dla childform.

Sprawdź jak childform odpowiada na WM_GETMINMAXINFO


(northwest) #3

a jak to sprawdzić??:wink:

forma "ojciec" nie jest zmaksymalizwana, to formy "córki" się sypią. Formy córki ręcznie maksymalizuję (guziczkiem w rogu ekranu). Są wywoływane czymś takim z formy głównej:

pokaznamapie pokaznamapie = new pokaznamapie();

pokaznamapie.MdiParent = this;

pokaznamapie.Show();


(system) #4

child (ang.)=dziecko

protected override Size MaxTrackSize

{

get { return new Size(0,0); } // brak ograniczenia

}

Pewnie zrobiłeś te formy jako dialogi wiec MaxTrackSize - ustawiono na obecny rozmiar.

Poza tym, użycie MDI w tym przypadku to niezbyt udany pomysł, MDI zakłada jednakowość form potomnych (childform), co w twoim przypadku nie jest spełnione. Jednak jest możliwość definicji niektórych formatek potomnych jako ToolSizeable, i dokowanie (docking) ich na głównej formie MDI.


(northwest) #5

ten kod dać w którym miejscu/w której formie?? :slight_smile: Mogę się do Ciebie jakoś na prv odezwać??