예제 #1
0
        private static void CH_Stop()
        {
            if (ch_Active)
            {
                ch_Timer.Dispose();
                ch_Timer = null;

                Application.RemoveMessageFilter(ch_MessageFilter);
                ch_MessageFilter = null;

                ch_Items.Clear();
                ch_Items = null;

                ch_Disabled      = false;
                ch_DisabledCount = 0;

                Application.EnterThreadModal -= CH_EnterThreadModal;
                Application.LeaveThreadModal -= CH_LeaveThreadModal;
                ch_ModalThread = false;

                ch_Active = false;

                if (ch_Hidden)
                {
                    Cursor.Show();
                    ch_Hidden = false;
                }
            }
        }
예제 #2
0
        // ******************************** Cursor Hide - Start / Stop / Disable / Modal Thread

        #region Cursor Hide - Start / Stop / Disable / Modal Thread

        private static void CH_Start()
        {
            if (!ch_Active)
            {
                if (ch_Timer == null)
                {
                    ch_Timer = new Timer
                    {
                        Interval = ch_Delay == 1 ? 500 : 100 // _cursorHideDelay * 500;
                    };
                    ch_Timer.Tick += CH_TimerTick;

                    ch_MessageFilter = new CH_MessageFilter();
                }

                ch_Moved = DateTime.Now;
                ch_Timer.Start();
                Application.AddMessageFilter(ch_MessageFilter);

                Application.EnterThreadModal += CH_EnterThreadModal;
                Application.LeaveThreadModal += CH_LeaveThreadModal;

                ch_Active = true;
            }
        }