• 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;//停止滚动
    

      

  • 相关阅读:
    053532
    053531
    053530
    053529
    053528
    RTSP和RTMP的区别是什么?
    RTSP、RTMP和HTTP协议的区别
    在C#中实现视频播放器
    wpf下基于opencv实现视频播放器
    C#实现视频播放器(Vlc.DotNet)
  • 原文地址:https://www.cnblogs.com/sinceret/p/15189105.html
Copyright © 2020-2023  润新知