> Your solution is probably as good as any.
>
[quoted text clipped - 57 lines]
> >> > TIA
> >> > Jared
OK, I see you mean the 1 pixel border around the edge. I thought you were
using panels as the pale blue padding.
You can add a standard 1 pixel border around the MdiClient in the same way
that you remove the ClientEdge.
\\\
private void MainForm_Load(object sender, EventArgs e)
{
int Style = GetWindowLong(this.mdiPanel.Handle, GWL_STYLE).ToInt32();
int ExStyle = GetWindowLong(this.mdiPanel.Handle, GWL_EXSTYLE).ToInt32();
Style |= WS_BORDER;
ExStyle &= ~WS_EX_CLIENTEDGE;
//Add standard 1 pixel border
SetWindowLong(this.mdiPanel.Handle, GWL_STYLE, (IntPtr)Style);
//Remove ClientEdge
SetWindowLong(this.mdiPanel.Handle, GWL_EXSTYLE, (IntPtr)ExStyle);
//Force a Resize so that the NonClientEdge updates.
SetWindowPos(this.mdiPanel.Handle,(IntPtr)HWND_NOTOPMOST , 0, 0, 0, 0,
((uint)(SWP_NOSIZE | SWP_NOMOVE | SWP_NOZORDER | SWP_FRAMECHANGED)));
}
///
note: I declared and added the MdiClient within the InitialiseComponent()
method.
i.e.
this.mdiPanel = new System.Windows.Forms.MdiClient();
--8<--
this.Controls.Add(this.mdiPanel);
The screenshot is showing the custom theme that I use, but here is an
article showing how to do it:
http://www.geekswithblogs.net/kobush/articles/CustomBorderForms.aspx
...beware of Vista though as things have changed in the NonClientArea.

Signature
Mick Doherty
http://dotnetrix.co.uk/nothing.html
> Not to beat a dead horse, but docking the border panels didn't work for
> me because that would put them on the "outside" of the MdiClient.
[quoted text clipped - 11 lines]
>
> Jared