public static void SetState(IntPtr windowHandle, TaskbarStates taskbarState)
 {
     if (TaskBarSupported())
     {
         taskbarinstance.SetProgressState(windowHandle, taskbarState);
     }
 }
Пример #2
0
 /// <summary>
 /// Set state
 /// </summary>
 /// <param name="form">Form</param>
 /// <param name="taskbarState">Taskbar state</param>
 public static void SetState(Form form, TaskbarStates taskbarState)
 {
     if (taskbarSupported)
     {
         taskbarInstance.SetProgressState(form.Handle, taskbarState);
     }
 }
Пример #3
0
 public static void SetState(IntPtr windowHandle, TaskbarStates taskbarState)
 {
     if (useTaskbar)
     {
         taskbarInstance.SetProgressState(windowHandle, taskbarState);
     }
 }
Пример #4
0
 public static void SetState(Form frm, TaskbarStates taskbarState)
 {
     if (IsTaskbarSupported())
     {
         Instance().SetProgressState(frm.Handle, taskbarState);
     }
 }
Пример #5
0
        /// <summary>
        /// Hides the popup
        /// </summary>
        /// <returns>Nothing</returns>
        ///
        public void MovingDown()
        {
            Index--;
            int CountInCol = (int)(WorkAreaRectangle.Bottom / (BackgroundBitmap.Height));
            int ColNum     = (Index / CountInCol);
            int RowNum     = Index - ColNum * CountInCol;


            if (ColNum != (Index + 1) / CountInCol) // окно перемещается на предыдущую колонку
            {
                SetBounds(WorkAreaRectangle.Right - BackgroundBitmap.Width * (ColNum + 1) - 1,
                          WorkAreaRectangle.Bottom - BackgroundBitmap.Height * (RowNum + 1),
                          BackgroundBitmap.Width, BackgroundBitmap.Height);
                //Hide();
                Opacity      = 0;
                taskbarState = TaskbarStates.appearing;
                timer.Start();
            }
            else
            {
                if (SourceTop == 0)
                {
                    SourceTop    = Top;
                    taskbarState = TaskbarStates.moving;
                    // timer.Interval = 10;
                    timer.Start();
                }
                else
                {
                    SourceTop += Height;
                }
            }
        }
Пример #6
0
 public static void SetState(IntPtr windowHandle, TaskbarStates taskbarState)
 {
     if (_taskbarSupported)
     {
         _taskbarInstance.SetProgressState(windowHandle, taskbarState);
     }
 }
Пример #7
0
 public static void SetState(IntPtr windowHandle, TaskbarStates taskbarState)
 {
     if (taskbarSupported && !IndicatorStateLocked)
     {
         taskbarInstance.SetProgressState(windowHandle, taskbarState);
     }
 }
Пример #8
0
 public static void SetState(IntPtr windowHandle, TaskbarStates taskbarState)
 {
     if (taskbarSupported && !(DetectLinux.WineDetected() || DetectLinux.NativeLinuxDetected()))
     {
         taskbarInstance.SetProgressState(windowHandle, taskbarState);
     }
 }
Пример #9
0
 public void SetState(IntPtr windowHandle, TaskbarStates taskbarState)
 {
     if (_taskbarSupported)
     {
         GetTaskbarList().SetProgressState(windowHandle, taskbarState);
     }
 }
Пример #10
0
 internal static void SetState(IntPtr windowHandle, TaskbarStates taskbarState)
 {
     if (taskbarSupported)
     {
         taskbarInstance.SetProgressState(windowHandle, taskbarState);
     }
 }
Пример #11
0
 private static void SetTaskbarProgressState(IntPtr hwnd, TaskbarStates state)
 {
     if (_taskbarSupported)
     {
         _taskbar.SetProgressState(hwnd, state);
     }
 }
Пример #12
0
 public static void SetState(TaskbarStates taskbarState)
 {
     if (TaskbarSupported)
     {
         TaskbarInstance.SetProgressState(GetConsoleHandle(), taskbarState);
     }
 }
 public static void SetState(TaskbarStates taskbarState)
 {
     if (_taskbarSupported)
     {
         _taskbarInstance.SetProgressState(GetConsoleWindow(), taskbarState);
     }
 }
        protected bool OnTimer()
        {
            switch (taskbarState)
            {
            case TaskbarStates.appearing:
                if (Opacity < 1)
                {
                    Opacity += (double)nIncrementShow / 100;
                }
                else
                {
                    if (timer != 0)
                    {
                        GLib.Source.Remove(timer);
                        timer = 0;
                    }
                    Opacity = 1;
                    if (nVisibleEvents > 0)
                    {
                        taskbarState = TaskbarStates.visible;
                        timer        = GLib.Timeout.Add(nVisibleEvents, OnTimer);
                    }
                    return(false);
                }
                break;

            case TaskbarStates.visible:
                if (timer != 0)
                {
                    GLib.Source.Remove(timer);
                    timer = 0;
                }
                if ((bKeepVisibleOnMouseOver & !bIsMouseOverPopup) | (!bKeepVisibleOnMouseOver))
                {
                    taskbarState = TaskbarStates.disappearing;
                }
                timer = GLib.Timeout.Add(nHideEvents, OnTimer);
                return(false);

            case TaskbarStates.disappearing:
                if (bReShowOnMouseOver & bIsMouseOverPopup)
                {
                    taskbarState = TaskbarStates.appearing;
                }
                else
                {
                    if (Opacity > 0)
                    {
                        Opacity -= (double)nIncrementHide / 100;
                    }
                    else
                    {
                        Hide();
                    }
                }
                break;
            }
            return(true);
        }
Пример #15
0
 public static void SetState(IntPtr windowHandle, TaskbarStates taskbarState)
 {
     if (!IsSupported())
     {
         return;
     }
     taskbarInstance.SetProgressState(windowHandle, taskbarState);
 }
Пример #16
0
 public static void SetState(Form form, TaskbarStates taskbarState)
 {
     if (taskbarSupported)
     {
         var taskbarInstance = (ITaskbarList3) new TaskbarInstance();
         taskbarInstance.SetProgressState(form.Handle, taskbarState);
     }
 }
Пример #17
0
 internal static void SetState(IntPtr windowHandle, TaskbarStates taskbarState)
 {
     if (!_taskbarSupported || windowHandle == IntPtr.Zero)
     {
         return;
     }
     _instance.SetProgressState(windowHandle, taskbarState);
 }
Пример #18
0
 public static void SetState(IntPtr windowHandle, TaskbarStates taskbarState)
 {
     taskbarInstance = (ITaskbarList3) new TaskbarInstance();
     if (taskbarSupported)
     {
         taskbarInstance.SetProgressState(windowHandle, taskbarState);
     }
 }
 public static void SetState(IntPtr windowHandle, TaskbarStates taskbarState)
 {
     if (taskbarSupported)
     {
         if (taskbarInstance == null) taskbarInstance = (ITaskbarList3)new TaskbarInstance();
         taskbarInstance.SetProgressState(windowHandle, taskbarState);
     }
 }
Пример #20
0
        protected void OnTimer(Object obj, EventArgs ea)
        {
            switch (taskbarState)
            {
            case TaskbarStates.appearing:
                if (Height < BackgroundBitmap.Height)
                {
                    SetBounds(Left, Top - nIncrementShow, Width, Height + nIncrementShow);
                }
                else
                {
                    timer.Stop();
                    Height         = BackgroundBitmap.Height;
                    timer.Interval = nVisibleEvents;
                    taskbarState   = TaskbarStates.visible;
                    timer.Start();
                }
                break;

            case TaskbarStates.visible:
                timer.Stop();
                timer.Interval = nHideEvents;
                // Added Rev 002
                if ((bKeepVisibleOnMouseOver && !bIsMouseOverPopup) || (!bKeepVisibleOnMouseOver))
                {
                    taskbarState = TaskbarStates.disappearing;
                }
                //taskbarState = TaskbarStates.disappearing;		// Rev 002
                timer.Start();
                break;

            case TaskbarStates.disappearing:
                // Added Rev 002
                if (bReShowOnMouseOver && bIsMouseOverPopup)
                {
                    taskbarState = TaskbarStates.appearing;
                }
                else
                {
                    if (Top < WorkAreaRectangle.Bottom)
                    {
                        SetBounds(Left, Top + nIncrementHide, Width, Height - nIncrementHide);
                    }
                    else
                    {
                        if (IsAllowClose)
                        {
                            this.Close();
                        }
                        else
                        {
                            this.Hide();
                        }
                    }
                }
                break;
            }
        }
Пример #21
0
        protected void OnTimer(Object obj, EventArgs ea)
        {
            switch (taskbarState)
            {
            case TaskbarStates.Appearing:
                if (Height < m_BGImg.Height)
                {
                    SetBounds(Left, Top - nIncrementShow, Width, Height + nIncrementShow);
                }
                else
                {
                    m_Timer.Stop();
                    Height           = m_BGImg.Height;
                    m_Timer.Interval = nVisibleEvents;
                    taskbarState     = TaskbarStates.Visible;
                    m_Timer.Start();
                }
                break;

            case TaskbarStates.Visible:
#if OPENUNTILCLOSE
#else
                timer.Stop();
                timer.Interval = nHideEvents;
                // Added Rev 002
                if ((bKeepVisibleOnMouseOver && !bIsMouseOverPopup) || (!bKeepVisibleOnMouseOver))
                {
                    taskbarState = TaskbarStates.disappearing;
                }
                //taskbarState = TaskbarStates.disappearing;		// Rev 002
                timer.Start();
#endif
                break;

            case TaskbarStates.Disappearing:
#if OPENUNTILCLOSE
                // Added Rev 002
                if (bReShowOnMouseOver && bIsMouseOverPopup)
                {
                    taskbarState = TaskbarStates.Appearing;
                }
                else
                {
                    //if (Top < WorkAreaRectangle.Bottom)
                    if (Top < nBeforeDisappearBottom)
                    {
                        SetBounds(Left, Top + nIncrementHide, Width, Height - nIncrementHide);
                    }
                    else
                    {
                        Hide();
                    }
                }
#else
#endif
                break;
            }
        }
Пример #22
0
 /// <summary>
 /// Hides the popup
 /// </summary>
 /// <returns>Nothing</returns>
 public new void Hide()
 {
     if (taskbarState != TaskbarStates.hidden)
     {
         timer.Stop();
         taskbarState = TaskbarStates.hidden;
         base.Hide();
     }
 }
Пример #23
0
 public void Hide()
 {
     if (m_state != TaskbarStates.HIDDEN)
     {
         StopTimer();
         m_state = TaskbarStates.HIDDEN;
         m_form.Hide();
     }
 }
 public static void SetState(IntPtr windowHandle, TaskbarStates taskbarState)
 {
     try {
         if (taskbarSupported && !DetectLinux.LinuxDetected())
         {
             taskbarInstance.SetProgressState(windowHandle, taskbarState);
         }
     } catch { }
 }
Пример #25
0
        private void Timer_OnTick(object obj, EventArgs ea)
        {
            switch (m_state)
            {
            case TaskbarStates.APPEARING:
                RECT rc = new RECT();
                WindowsAPI.GetWindowRect(m_form.Handle, ref rc);
                Rectangle rcCur   = (Rectangle)rc;
                Size      sizeImg = m_form.BackgroundImage.Size;

                Trace.WriteLine(rcCur.Height.ToString(), "Hint Height");

                if (rcCur.Height < sizeImg.Height)
                {
                    uint flags = (uint)SetWindowPosFlags.SWP_NOACTIVATE |
                                 (uint)SetWindowPosFlags.SWP_ASYNCWINDOWPOS |
                                 (uint)SetWindowPosFlags.SWP_SHOWWINDOW;

                    bool result = WindowsAPI.SetWindowPos(m_form.Handle,
                                                          new IntPtr((int)SetWindowPosZOrder.HWND_TOPMOST),
                                                          rcCur.Left,
                                                          rcCur.Top - iHeightIncriment, sizeImg.Width,
                                                          rcCur.Height + iHeightIncriment, flags);
                }
                else
                {
                    StopTimer();
                    m_form.Height = sizeImg.Height;
                    m_state       = TaskbarStates.VISIBLE;

                    // execute timeronly once
                    m_timerCall.Change(m_iTimeToStay, 0);
                }
                break;

            case TaskbarStates.VISIBLE:
                StopTimer();
                m_state = TaskbarStates.DISAPPEARING;
                m_timerCall.Change(m_iTimeToHide / 10, m_iTimeToHide / 10);
                break;

            case TaskbarStates.DISAPPEARING:
                Rectangle rcWork = Screen.GetWorkingArea(m_form);

                if (m_form.Top < rcWork.Bottom)
                {
                    m_form.SetBounds(m_form.Left, m_form.Top + iHeightDecriment,
                                     m_form.Width, m_form.Height - iHeightDecriment);
                }
                else
                {
                    Hide();
                }
                break;
            }
        }
 /// <summary>
 /// Hides the popup after fading it out
 /// </summary>
 /// <returns>Nothing</returns>
 public void SlowHide()
 {
     if (timer != 0)
     {
         GLib.Source.Remove(timer);
         timer = 0;
     }
     taskbarState = TaskbarStates.disappearing;
     timer        = GLib.Timeout.Add(nHideEvents, OnTimer);
 }
Пример #27
0
 /// <summary>
 /// Hides the popup
 /// </summary>
 /// <returns>Nothing</returns>
 public new void Hide()
 {
     if (taskbarState != TaskbarStates.hidden)
     {
         timer.Stop();
         taskbarState = TaskbarStates.hidden;
         base.Hide();
         T3_Popup.barra.top = T3_Popup.barra.top - BackgroundBitmap.Height;
     }
 }
Пример #28
0
        /// <summary>
        /// 隐藏弹窗
        /// </summary>
        /// <returns></returns>
        public new void Hide()
        {
            if (taskbarState != TaskbarStates.hidden)
            {
                timer.Stop();
                taskbarState = TaskbarStates.hidden;
                //this.Dispose();//此处应该释放资源,待续

                base.Hide();
            }
        }
        protected void OnTimer(Object obj, EventArgs ea)
        {
            switch (m_taskbarState)
            {
            case TaskbarStates.appearing:
                if (Height < BackgroundBitmap.Height)
                {
                    Top    -= m_incrementShow;
                    Height += m_incrementShow;
                }
                else
                {
                    m_timer.Stop();
                    Height           = BackgroundBitmap.Height;
                    m_timer.Interval = m_visibleEvents;
                    m_taskbarState   = TaskbarStates.visible;
                    m_timer.Start();
                }

                break;

            case TaskbarStates.visible:
                m_timer.Stop();
                m_timer.Interval = m_hideEvents;

                if ((m_keepVisibleOnMouseOver && !m_isMouseOverPopup) || (!m_keepVisibleOnMouseOver))
                {
                    m_taskbarState = TaskbarStates.disappearing;
                }

                m_timer.Start();
                break;

            case TaskbarStates.disappearing:
                if (m_reShowOnMouseOver && m_isMouseOverPopup)
                {
                    m_taskbarState = TaskbarStates.appearing;
                }
                else
                {
                    if (Top < WorkAreaRectangle.Bottom)
                    {
                        Top    += m_incrementHide;
                        Height -= m_incrementHide;
                    }
                    else
                    {
                        Hide();
                    }
                }

                break;
            }
        }
Пример #30
0
 /// <summary>
 ///     <para>隐藏弹出窗体.</para>
 ///     Hides the popup
 /// </summary>
 /// <returns>Nothing</returns>
 public new void Hide()
 {
     if (_TaskbarStates == TaskbarStates.Hidden)
     {
         return;
     }
     _Timer.Stop();
     _TaskbarStates = TaskbarStates.Hidden;
     base.Hide();
     MessageHide(this, new PlaceIndexEventArgs(_Index));
 }
 public static void SetState(IntPtr windowHandle, TaskbarStates taskbarState, double progressValue = 0.0, double progressMax = 0.0)
 {
     if (taskbarSupported)
     {
         taskbarInstance.SetProgressState(windowHandle, taskbarState);
         if (progressValue > 0 && progressMax > 0)
         {
             taskbarInstance.SetProgressValue(windowHandle, (ulong)progressValue, (ulong)progressMax);
         }
     }
 }
Пример #32
0
    private void Timer_OnTick( object obj, EventArgs ea )
    {
      switch( m_state )
      {
        case TaskbarStates.APPEARING:
          RECT rc = new RECT();
          WindowsAPI.GetWindowRect( m_form.Handle, ref rc );
          Rectangle rcCur = (Rectangle)rc;
          Size sizeImg = m_form.BackgroundImage.Size;

          Trace.WriteLine( rcCur.Height.ToString(), "Hint Height" );

          if( rcCur.Height < sizeImg.Height )
          {
            uint flags = (uint)SetWindowPosFlags.SWP_NOACTIVATE |
              (uint)SetWindowPosFlags.SWP_ASYNCWINDOWPOS | 
              (uint)SetWindowPosFlags.SWP_SHOWWINDOW;

            bool result = WindowsAPI.SetWindowPos( m_form.Handle, 
              new IntPtr( (int)SetWindowPosZOrder.HWND_TOPMOST ),
              rcCur.Left,
              rcCur.Top - iHeightIncriment, sizeImg.Width, 
              rcCur.Height + iHeightIncriment, flags );
          }
          else
          {
            StopTimer();
            m_form.Height = sizeImg.Height;
            m_state = TaskbarStates.VISIBLE;
            
            // execute timeronly once
            m_timerCall.Change( m_iTimeToStay, 0 ); 
          }
          break;

        case TaskbarStates.VISIBLE:
          StopTimer();
          m_state = TaskbarStates.DISAPPEARING;
          m_timerCall.Change( m_iTimeToHide/10, m_iTimeToHide/10 );
          break;

        case TaskbarStates.DISAPPEARING:
          Rectangle rcWork = Screen.GetWorkingArea( m_form );
          
          if( m_form.Top < rcWork.Bottom )
          {
            m_form.SetBounds( m_form.Left, m_form.Top + iHeightDecriment, 
              m_form.Width, m_form.Height - iHeightDecriment );
          }
          else
          {
            Hide();
          }
          break;
      }
    }
Пример #33
0
 public void Hide()
 {
   if( m_state != TaskbarStates.HIDDEN )
   {
     StopTimer();
     m_state = TaskbarStates.HIDDEN;
     m_form.Hide();
   }
 }
Пример #34
0
    public void Show()
    {
      Rectangle rcWork = Screen.GetWorkingArea( m_form );

      iHeightIncriment = m_form.BackgroundImage.Height / 10;
      iHeightDecriment = iHeightIncriment;

      if( m_state == TaskbarStates.HIDDEN )
      {
        m_state = TaskbarStates.APPEARING;
        m_form.SetBounds( rcWork.Right - m_form.Width - 17, rcWork.Bottom - 1, m_form.Width, 0 );
        WindowsAPI.SetParent( m_form.Handle, IntPtr.Zero );

        // We Show the popup without stealing focus
        WindowsAPI.ShowWindow( m_form.Handle, (short)ShowWindowStyles.SW_SHOWNOACTIVATE );
        
        m_timerCall.Change( m_iTimeToShow/10, m_iTimeToShow/10 );
      }
    }
Пример #35
0
 public void SetState(IntPtr windowHandle, TaskbarStates taskbarState)
 {
     if (_taskbarSupported)
     {
         GetTaskbarList().SetProgressState(windowHandle, taskbarState);
     }
 }
Пример #36
0
 private void showNotifier(bool showCommandButton, string message, Chat chat)
 {
     this.messageLabel.Text = message;
     this.acceptButton.Visible = showCommandButton;
     this.declineButton.Visible = showCommandButton;
     this.chat = chat;
     this.notifyMessageType = NotifyMessageType.ChatRequest;
     timer.Interval = showFadingTime;
     timer.Start();
     taskbarState = TaskbarStates.Appearing;
     this.Show();
     playChatReqSound();
 }
Пример #37
0
        protected void OnTimer(Object obj, EventArgs ea)
        {
            switch (taskbarState)
            {
                case TaskbarStates.appearing:
                    if (Height < BackgroundBitmap.Height)
                        SetBounds(Left, Top - nIncrementShow, Width, Height + nIncrementShow);
                    else
                    {
                        timer.Stop();
                        Height = BackgroundBitmap.Height;
                        timer.Interval = nVisibleEvents;
                        taskbarState = TaskbarStates.visible;
                        timer.Start();
                    }
                    break;

                case TaskbarStates.visible:
                    timer.Stop();
                    timer.Interval = nHideEvents;

                    if ((bKeepVisibleOnMouseOver && !bIsMouseOverPopup) || (!bKeepVisibleOnMouseOver))
                    {
                        taskbarState = TaskbarStates.disappearing;
                    }
                    timer.Start();
                    break;

                case TaskbarStates.disappearing:
                    if (bReShowOnMouseOver && bIsMouseOverPopup)
                    {
                        taskbarState = TaskbarStates.appearing;
                    }
                    else
                    {
                        if (Top < WorkAreaRectangle.Bottom)
                            SetBounds(Left, Top + nIncrementHide, Width, Height - nIncrementHide);
                        else
                            Hide();
                    }
                    break;
            }

        }
Пример #38
0
 /// <summary>
 /// Hides the popup
 /// </summary>
 /// <returns>Nothing</returns>
 public new void Hide()
 {
     if (taskbarState != TaskbarStates.hidden)
     {
         timer.Stop();
         taskbarState = TaskbarStates.hidden;
         base.Hide();
     }
 }
Пример #39
0
        /// <summary>
        /// 显示窗体
        /// </summary>
        /// <param name="strTitle">标题文字</param>
        /// <param name="strContent">内容文字</param>
        /// <param name="nTimeToShow">显示所需时长(in milliseconds)</param>
        /// <param name="nTimeToStay">停留时长(in milliseconds)</param>
        /// <param name="nTimeToHide">隐藏所需时长(in milliseconds)</param>
        /// <returns>Nothing</returns>
        public void Show(string strTitle, string strContent, int nTimeToShow, int nTimeToStay, int nTimeToHide)
        {
            WorkAreaRectangle = Screen.GetWorkingArea(WorkAreaRectangle);
            titleText = strTitle;
            contentText = strContent;
            nVisibleEvents = nTimeToStay;
            CalculateMouseRectangles();

            int nEvents;//分多少次显示完成
            if (nTimeToShow > 10)
            {
                //每次间隔时间至少为10毫秒,最少一个象素
                nEvents = Math.Min((nTimeToShow / 10), BackgroundBitmap.Height);
                nShowEvents = nTimeToShow / nEvents;//每次的时间间隔
                nIncrementShow = BackgroundBitmap.Height / nEvents;//每次递增高度
            }
            else// 一次性显示完成
            {
                nShowEvents = 10;
                nIncrementShow = BackgroundBitmap.Height;
            }

            if (nTimeToHide > 10)
            {
                nEvents = Math.Min((nTimeToHide / 10), BackgroundBitmap.Height);
                nHideEvents = nTimeToHide / nEvents;//每次的时间间隔
                nIncrementHide = BackgroundBitmap.Height / nEvents;//每次递减高度
            }
            else//一次性隐藏完成
            {
                nHideEvents = 10;
                nIncrementHide = BackgroundBitmap.Height;
            }

            switch (taskbarState)
            {
                case TaskbarStates.hidden:
                    taskbarState = TaskbarStates.appearing;
                    SetBounds(WorkAreaRectangle.Right - BackgroundBitmap.Width - 17, WorkAreaRectangle.Bottom - 1, BackgroundBitmap.Width, 0);
                    timer.Interval = nShowEvents;
                    timer.Start();
                    // We Show the popup without stealing focus
                    ShowWindow(this.Handle, 4);
                    break;

                case TaskbarStates.appearing:
                    Refresh();
                    break;

                case TaskbarStates.visible:
                    timer.Stop();
                    timer.Interval = nVisibleEvents;
                    timer.Start();
                    Refresh();
                    break;

                case TaskbarStates.disappearing:
                    timer.Stop();
                    taskbarState = TaskbarStates.visible;
                    SetBounds(WorkAreaRectangle.Right - BackgroundBitmap.Width - 17, WorkAreaRectangle.Bottom - BackgroundBitmap.Height - 1, BackgroundBitmap.Width, BackgroundBitmap.Height);
                    timer.Interval = nVisibleEvents;
                    timer.Start();
                    Refresh();
                    break;
            }
        }
Пример #40
0
        void timer_Tick(object sender, EventArgs e)
        {
            switch (taskbarState)
            {
                case TaskbarStates.Hidden:
                    break;
                case TaskbarStates.Appearing:

                    if (this.Opacity < 0.99)
                    {
                        this.Opacity += 0.01;
                    }
                    else
                    {
                        timer.Stop();
                        timer.Interval = showingTime;
                        timer.Start();
                        taskbarState = TaskbarStates.Visible;
                    }
                    break;
                case TaskbarStates.Visible:
                    timer.Stop();
                    timer.Interval = hideFadingTime;
                    timer.Start();
                    taskbarState = TaskbarStates.Disappearing;
                    break;
                case TaskbarStates.Disappearing:
                    if (this.Opacity > 0.00)
                    {
                        this.Opacity -= 0.01;
                    }
                    else
                    {
                        soundPlayerTimer.Stop();
                        this.Hide();
                        taskbarState = TaskbarStates.Hidden;
                    }
                    break;
                default:
                    break;
            }
        }
 public static void SetState(IntPtr windowHandle, TaskbarStates taskbarState)
 {
     if (taskbarSupported)
         taskbarInstance.SetProgressState(windowHandle, taskbarState);
 }
Пример #42
0
        /// <summary>
        /// Hides the popup
        /// </summary>
        /// <returns>Nothing</returns>
        public new void Hide()
        {
            if (taskbarState != TaskbarStates.hidden)
            {
                timer.Stop();
                taskbarState = TaskbarStates.hidden;

               
                base.Hide();
                CzltEvent(this, new EventArgs());
                //base.Dispose();
                //this.Close();
            }
        }
Пример #43
0
        /// <summary>
        /// Displays the popup for a certain amount of time
        /// </summary>
        /// <param name="strTitle">窗体的名称</param>
        /// <param name="strContent">窗体显示的内容</param>
        /// <param name="nTimeToShow">动画显示的持续时间(毫秒)</param>
        /// <param name="nTimeToStay">动画停留的时间(毫秒)</param>
        /// <param name="nTimeToHide">隐藏动画的时间(毫秒)</param>
        /// <returns>Nothing</returns>
        public void Show(string strTitle, string strContent, int nTimeToShow, int nTimeToStay, int nTimeToHide)
        {
            IsOpen = true;
            WorkAreaRectangle = Screen.GetWorkingArea(WorkAreaRectangle);
            titleText = strTitle;
            contentText = strContent;
            nVisibleEvents = nTimeToStay;
            CalculateMouseRectangles();

            // We calculate the pixel increment and the timer value for the showing animation
            int nEvents;
            if (nTimeToShow > 10)
            {
                nEvents = Math.Min((nTimeToShow / 10), BackgroundBitmap.Height);
                nShowEvents = nTimeToShow / nEvents;
                nIncrementShow = BackgroundBitmap.Height / nEvents;
            }
            else
            {
                nShowEvents = 10;
                nIncrementShow = BackgroundBitmap.Height;
            }

            // We calculate the pixel increment and the timer value for the hiding animation
            if (nTimeToHide > 10)
            {
                nEvents = Math.Min((nTimeToHide / 10), BackgroundBitmap.Height);
                nHideEvents = nTimeToHide / nEvents;
                nIncrementHide = BackgroundBitmap.Height / nEvents;
            }
            else
            {
                nHideEvents = 10;
                nIncrementHide = BackgroundBitmap.Height;
            }

            switch (taskbarState)
            {
                case TaskbarStates.hidden:
                    taskbarState = TaskbarStates.appearing;
                    SetBounds(WorkAreaRectangle.Right - BackgroundBitmap.Width - 17, WorkAreaRectangle.Bottom - 1, BackgroundBitmap.Width, 0);
                    timer.Interval = nShowEvents;
                    timer.Start();
                    // We Show the popup without stealing focus
                    ShowWindow(this.Handle, 4);
                    break;

                case TaskbarStates.appearing:
                    Refresh();
                    break;

                case TaskbarStates.visible:
                    timer.Stop();
                    timer.Interval = nVisibleEvents;
                    timer.Start();
                    Refresh();
                    break;

                case TaskbarStates.disappearing:
                    timer.Stop();
                    taskbarState = TaskbarStates.visible;
                    SetBounds(WorkAreaRectangle.Right - BackgroundBitmap.Width - 17, WorkAreaRectangle.Bottom - BackgroundBitmap.Height - 1, BackgroundBitmap.Width, BackgroundBitmap.Height);
                    timer.Interval = nVisibleEvents;
                    timer.Start();
                    Refresh();
                    break;
            }
        }