You can give a User Control a border with the following code:
protected override CreateParams CreateParams { get { CreateParams cp = base.CreateParams; cp.ExStyle &= (~NativeMethods.WS_EX_CLIENTEDGE); cp.Style &= (~NativeMethods.WS_BORDER); switch (borderStyle) { case BorderStyle.Fixed3D: cp.ExStyle |= NativeMethods.WS_EX_CLIENTEDGE; break; case BorderStyle.FixedSingle: cp.Style |= NativeMethods.WS_BORDER; break; } return cp; }}public BorderStyle BorderStyle { get { return borderStyle; } set { if (borderStyle != value) { if (!Enum.IsDefined(typeof(BorderStyle), value)) { throw new InvalidEnumArgumentException("value", (int)value, typeof(BorderStyle)); } borderStyle = value; UpdateStyles(); } }}