Example #1
0
        private HRESULT _UpdateProgressState(bool attached)
        {
            TaskbarItemProgressState progressState = this.ProgressState;
            TBPF tbpFlags = TBPF.NOPROGRESS;

            if (attached)
            {
                tbpFlags = progressState switch
                {
                    TaskbarItemProgressState.None => TBPF.NOPROGRESS,
                    TaskbarItemProgressState.Indeterminate => TBPF.INDETERMINATE,
                    TaskbarItemProgressState.Normal => TBPF.NORMAL,
                    TaskbarItemProgressState.Error => TBPF.ERROR,
                    TaskbarItemProgressState.Paused => TBPF.PAUSED,
                    _ => TBPF.NOPROGRESS
                };
            }
            HRESULT result = this._taskbarList.SetProgressState(this._hwndSource.Handle, tbpFlags);

            if (result.Succeeded)
            {
                result = this._UpdateProgressValue(attached);
            }
            return(result);
        }
Example #2
0
 public static void SetProgressState(this Form form, TBPF state)
 {
     if (_Supported)
     {
         _Instance.SetProgressState(form.Handle, state);
     }
 }
Example #3
0
            // Progress Bars ============================================

            public static void SetProgressState(IWin32Window parent, TBPF status)
            {
                Validate7OrLater();
                if (parent == null)
                {
                    throw new ArgumentNullException(nameof(parent));
                }
                taskbar4?.SetProgressState(parent.Handle, status);
            }
Example #4
0
 public static void SetProgressState(IntPtr hwnd, TBPF state)
 {
     try
     {
         if (IsInitialized)
         {
             TaskbarList.SetProgressState(hwnd, state);
         }
     }
     catch { }
 }
Example #5
0
        private HRESULT _UpdateProgressState(bool attached)
        {
            TaskbarItemProgressState ps = ProgressState;

            TBPF tbpf = TBPF.NOPROGRESS;

            if (attached)
            {
                switch (ps)
                {
                case TaskbarItemProgressState.Error:
                    tbpf = TBPF.ERROR;
                    break;

                case TaskbarItemProgressState.Indeterminate:
                    tbpf = TBPF.INDETERMINATE;
                    break;

                case TaskbarItemProgressState.None:
                    tbpf = TBPF.NOPROGRESS;
                    break;

                case TaskbarItemProgressState.Normal:
                    tbpf = TBPF.NORMAL;
                    break;

                case TaskbarItemProgressState.Paused:
                    tbpf = TBPF.PAUSED;
                    break;

                default:
                    // The coersion should have caught this.
                    Assert.Fail();
                    tbpf = TBPF.NOPROGRESS;
                    break;
                }
            }

            HRESULT hr = _taskbarList.SetProgressState(_hwndSource.Handle, tbpf);

            if (hr.Succeeded)
            {
                // Explicitly update this in case this property being set
                // to None or Indeterminate before made the value not update.
                hr = _UpdateProgressValue(attached);
            }

            return(hr);
        }
        private HRESULT _UpdateProgressState(bool attached)
        {
            TaskbarItemProgressState progressState = this.ProgressState;
            TBPF tbpFlags = TBPF.NOPROGRESS;

            if (attached)
            {
                switch (progressState)
                {
                case TaskbarItemProgressState.None:
                    tbpFlags = TBPF.NOPROGRESS;
                    break;

                case TaskbarItemProgressState.Indeterminate:
                    tbpFlags = TBPF.INDETERMINATE;
                    break;

                case TaskbarItemProgressState.Normal:
                    tbpFlags = TBPF.NORMAL;
                    break;

                case TaskbarItemProgressState.Error:
                    tbpFlags = TBPF.ERROR;
                    break;

                case TaskbarItemProgressState.Paused:
                    tbpFlags = TBPF.PAUSED;
                    break;

                default:
                    tbpFlags = TBPF.NOPROGRESS;
                    break;
                }
            }
            HRESULT result = this._taskbarList.SetProgressState(this._hwndSource.Handle, tbpFlags);

            if (result.Succeeded)
            {
                result = this._UpdateProgressValue(attached);
            }
            return(result);
        }
Example #7
0
 //Шкала, полностью закрашенная соответствующим цветом
 public static void SetProgressTaskComplete(IntPtr hwnd, TBPF state)
 {
     try
     {
         if (IsInitialized)
         {
             TaskbarList.SetProgressState(hwnd, state);
             TaskbarList.SetProgressValue(hwnd, 100, 100);
         }
     }
     catch { }
 }
Example #8
0
 public static void SetProgressState(IntPtr hwnd, TBPF state)
 {
     try
     {
         if (IsInitialized)
             TaskbarList.SetProgressState(hwnd, state);
     }
     catch { }
 }