public virtual void EnableEvent(object ev) { if (ev is WindowFrameEvent) { switch ((WindowFrameEvent)ev) { case WindowFrameEvent.BoundsChanged: Window.AddEvents((int)Gdk.EventMask.StructureMask); Window.ConfigureEvent += HandleConfigureEvent; break; case WindowFrameEvent.CloseRequested: Window.DeleteEvent += HandleCloseRequested; break; case WindowFrameEvent.Shown: Window.Shown += HandleShown; break; case WindowFrameEvent.Hidden: Window.Hidden += HandleHidden; break; } } }