protected override void OnMouseMove(MouseEventArgs e)
        {
            ScreenInfo si = ScreenInfoFromPoint(e.Location);
            if (si != curScreen)
            {
                if (si != null)
                    OnScreenEnter(new ScreenEventArgs(si.Id+1, si.Screen));
                else
                    OnScreenLeave(new ScreenEventArgs(curScreen.Id+1, curScreen.Screen));
                curScreen = si;
            }

            base.OnMouseMove(e);
        }
        protected override void OnMouseLeave(EventArgs e)
        {
            if (curScreen != null)
            {
                OnScreenLeave(new ScreenEventArgs(curScreen.Id+1, curScreen.Screen));
                curScreen = null;
            }

            base.OnMouseLeave(e);
        }