public DecoratedPanel() { // add our DecorationCanvas to our panel control _decorationCanvas = new DecorationCanvas(); _decorationCanvas.Name = "myInternalOverlayPanel"; _decorationCanvas.Size = ClientSize; _decorationCanvas.Location = new Point(0, 0); // this prevents the DecorationCanvas to catch clicks and the like _decorationCanvas.Enabled = false; _decorationCanvas.Paint += new PaintEventHandler(decoration_Paint); Controls.Add(_decorationCanvas); }
protected override void Dispose(bool disposing) { if (disposing && _decorationCanvas != null) { // be a good citizen and clean up after yourself _decorationCanvas.Paint -= new PaintEventHandler(decoration_Paint); Controls.Remove(_decorationCanvas); _decorationCanvas = null; } base.Dispose(disposing); }