/// <summary> /// Raises the <see cref="E:System.Windows.Forms.Control.HandleDestroyed"/> event. /// </summary> /// <param name="e"> /// An <see cref="T:System.EventArgs"/> that contains the event data. /// </param> protected override void OnHandleDestroyed(EventArgs e) { if (DesignMode == false) { if (_RenderContext != null) { // Raise DestroyContext event _RenderContext.MakeCurrent(true); RaiseGraphicsContextDestroyed(new GraphicsControlEventArgs(_RenderContext, _RenderWindow)); _RenderContext.MakeCurrent(false); // Dispose the renderer context _RenderContext.Dispose(); _RenderContext = null; } // Dispose the renderer window if (_RenderWindow != null) { _RenderWindow.Dispose(); _RenderWindow = null; } } // Base implementation base.OnHandleDestroyed(e); }