zoukankan      html  css  js  c++  java
  • process.WaitForExit时显示一个进度条

    有时候调用外部程序,使用process.WaitForExit,为避免让用户傻傻的等待,也不知道等多久

    于是想到在运行process.WaitForExit时,在程序界面显示一个进度条,这个进度条不是普通的

    增长步长,而是到头后又从头开始,这个进度条的属性设置成Marquee,就可以让它循环滚动

    但是process.WaitForExit执行时,程序界面是假死状态,进度条无任何变化。

    后来搜了一下发现使用异步模式可以解决假死问题。

    pb.MarqueeAnimationSpeed = 20;//设置动画的速度(单位是毫秒)
    pb.Style = ProgressBarStyle.Marquee;//设置进度条样式为连续滚动
    
    Process _proc = new Process();
    ProcessStartInfo _procStartInfo = new ProcessStartInfo("可执行程序.exe", "程序参数");
    _proc.StartInfo = _procStartInfo;
    _proc.Start();
    
    //为更新窗体进度条,此处将_proc.WaitForExit();改为异步
    await Task.Run(new Action(() => _proc.WaitForExit()));
    
    pb.Style = ProgressBarStyle.Blocks;//停止滚动
    

      

  • 相关阅读:
    初识jQuery(2)
    初识jQuery(1)
    document和javaScript内置对象
    location
    history
    window对象
    注释、语法约定、函数和作用域
    运算符和typeof
    string
    数据恢复
  • 原文地址:https://www.cnblogs.com/sinceret/p/15189105.html
Copyright © 2011-2022 走看看