禁用WinForms ProgressBar动画

Vas*_*iak 12 .net c# winforms

是否有可能禁用进度条的动画?

我需要一些暂停但暂不运行的pocess.如果进度条正在闪烁,普通用户会认为进程正在运行.

创建自己的进度条控件的建议不是我想要的.

SLa*_*aks 21

您可以使用Vista进度条的暂停状态,如下所示:

// Assuming a Form1 with 3 ProgressBar controls
private void Form1_Load(object sender, EventArgs e)
{
  SendMessage(progressBar2.Handle,
    0x400 + 16, //WM_USER + PBM_SETSTATE
    0x0003, //PBST_PAUSED
    0);

  SendMessage(progressBar3.Handle,
    0x400 + 16, //WM_USER + PBM_SETSTATE
    0x0002, //PBST_ERROR
    0);
}

[DllImport("user32.dll", CharSet = CharSet.Unicode)]
static extern uint SendMessage(IntPtr hWnd,
  uint Msg,
  uint wParam,
  uint lParam);
Run Code Online (Sandbox Code Playgroud)