public GeckoBase() { if (_nameForLogging == null) { _nameForLogging = "??"; } Name = _nameForLogging; ReadOnly = false; _inFocus = false; _handleEnter = true; _browser = new ReflectiveGeckoBrowser(); _browser.Dock = DockStyle.Fill; _browser.Parent = this; _browser.NoDefaultContextMenu = true; SelectionStart = 0; // Initialize value; _loadHandler = new EventHandler(OnGeckoBox_Load); this.Load += _loadHandler; Controls.Add(_browser.BrowserControl); _domDocumentCompletedHandler = new EventHandler<EventArgs>(OnDomDocumentCompleted); _browser.DocumentCompleted += _domDocumentCompletedHandler; _domFocusHandler = new EventHandler<EventArgs>(OnDomFocus); _browser.DomFocus += _domFocusHandler; _domKeyUpHandler = new EventHandler<EventArgs>(OnDomKeyUp); _browser.DomKeyUp += _domKeyUpHandler; _domKeyDownHandler = new EventHandler<EventArgs>(OnDomKeyDown); _browser.DomKeyDown += _domKeyDownHandler; _domBlurHandler = new EventHandler<EventArgs>(OnDomBlur); _browser.DomBlur += _domBlurHandler; _backColorChangedHandler = new EventHandler(OnBackColorChanged); this.BackColorChanged += _backColorChangedHandler; _foreColorChangedHandler = new EventHandler(OnForeColorChanged); this.ForeColorChanged += _foreColorChangedHandler; #if __MonoCS__ _domClickHandler = new EventHandler<EventArgs>(OnDomClick); _browser.DomClick += _domClickHandler; #endif }
protected virtual void Closing() { this.Load -= _loadHandler; this.BackColorChanged -= _backColorChangedHandler; this.ForeColorChanged -= _foreColorChangedHandler; _focusElement = null; if (_timer != null) { _timer.Stop(); _timer = null; } if (_browser != null) { _browser.DomKeyDown -= _domKeyDownHandler; _browser.DomKeyUp -= _domKeyUpHandler; _browser.DomFocus -= _domFocusHandler; _browser.DomBlur -= _domBlurHandler; _browser.DocumentCompleted -= _domDocumentCompletedHandler; #if __MonoCS__ _browser.DomClick -= _domClickHandler; #endif _browser.Dispose(); _browser = null; } _loadHandler = null; _domKeyDownHandler = null; _domKeyUpHandler = null; _domFocusHandler = null; _domDocumentCompletedHandler = null; #if __MonoCS__ _domClickHandler = null; #endif }