예제 #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="GuiTimer" /> class.
        /// </summary>
        /// <param name="contextType">Type of the context.</param>
        /// <param name="interval">The interval.</param>
        /// <param name="callback">The callback.</param>
        /// <param name="disposeCallback">The dispose callback.</param>
        public GuiTimer(GuiContextType contextType, TimeSpan interval, Action callback, Action disposeCallback)
        {
            ContextType     = contextType;
            Interval        = interval;
            TimerCallback   = callback;
            DisposeCallback = disposeCallback;

            switch (contextType)
            {
            case GuiContextType.None:
            {
                ThreadingTimer = CreateThreadingTimer();
                break;
            }

            case GuiContextType.WPF:
            {
                DispatcherTimer = CreateDispatcherTimer();
                break;
            }

            case GuiContextType.WinForms:
            {
                FormsTimer = CreateFormsTimer();
                break;
            }
            }
        }
예제 #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="GuiTimer" /> class.
        /// </summary>
        /// <param name="contextType">Type of the context.</param>
        /// <param name="interval">The interval.</param>
        /// <param name="callback">The callback.</param>
        public GuiTimer(GuiContextType contextType, TimeSpan interval, Action callback)
        {
            Interval      = interval;
            TimerCallback = callback;

            switch (contextType)
            {
            case GuiContextType.WPF:
            {
                DispatcherTimer = CreateDispatcherTimer();
                break;
            }

            case GuiContextType.WinForms:
            {
                FormsTimer = CreateFormsTimer();
                break;
            }

            default:
            {
                ThreadingTimer = CreateThreadingTimer();
                break;
            }
            }

            StartTimer();
        }