private void ResizeChildWindowsFollow(TabPage Tab) { if(Tab.Controls.Count > 0) { int WindowCount = Tab.Controls.Count; int Column,Row; Row = (int)Math.Floor((WindowCount-1)/MaxCol)+1; if(WindowCount < MaxCol) { Column = WindowCount; } else { Column = MaxCol; } Tab.SetAutoScrollMargin(0,0); //Tab.ScrollControlIntoView(Tab); int Width = (this.ClientSize.Width-7)/Column; int Height; int MaxHeight = 0, tmp; ListForm.ListForm lf; for(int i=0;i<Tab.Controls.Count;i++) { lf = (ListForm.ListForm)Tab.Controls[i]; tmp = lf.ListBox.ItemHeight * (lf.ListBox.Items.Count+3) + lf.Caption.Height; if(MaxHeight < tmp) { MaxHeight = tmp; } } Height = MaxHeight; int curRow; int Mod; for(int i=0;i<WindowCount;i++) { Tab.Controls[i].Width = Width; Tab.Controls[i].Height = Height; curRow = Math.DivRem(i,Column,out Mod); Tab.Controls[i].Left = Mod*Width; Tab.Controls[i].Top = curRow*Height; } } }
private void ResizeChildWindowsAuto(TabPage Tab) { if(Tab.Controls.Count > 0) { int WindowCount = Tab.Controls.Count; int Column,Row; Row = (int)Math.Floor((WindowCount-1)/MaxCol)+1; if(WindowCount < MaxCol) { Column = WindowCount; } else { Column = MaxCol; } Tab.SetAutoScrollMargin(0,0); int Width = (this.ClientRectangle.Width-7)/Column; int Height = (this.ClientRectangle.Height-this.statusBarEx1.Height-27)/Row; int curRow; int Mod; for(int i=0;i<WindowCount;i++) { Tab.Controls[i].Width = Width; Tab.Controls[i].Height = Height; curRow = Math.DivRem(i,Column,out Mod); Tab.Controls[i].Left = Mod*Width; Tab.Controls[i].Top = curRow*Height; } } }