C#添加Process加载的进度条 在程序中需要打开若干个第三方程序,不同的程序加载时长不同,想要加一个进度条让用户明确地看到还需要等待多长的时间。在加载过程中不知道还需要多长时间,所以processBar的最大值不知道,求大佬提供解决思路。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1. 打开多少程序,MaxValue就设几2. 虽然加载时间不知道,但是每个应用加载时间能比较出相对长短,多测几次,每个应用设置一个权值,MaxValue = 权值相加。 进度条不是计时器,它只是用来告诉用户当前进度是多少,完全可以根据任务数来展示进度。方案1:所有程序权值都是1,MaxValue=程序数量,Value=已经打开的程序数量(其实也是权值相加,不过大家都是1)。方案2:所有程序权值不一样,自己测结果。假设三个程序ABC打开时间分别要3秒,8秒,10秒;换一台电脑,可能是10秒,30秒,40秒;绝对时间有长有短,但是完全可以假定同样场景下,每个程序有自己的相对快慢,A一定比C慢。最终就可以给它们设定权值:3,8,10。MaxValue=21,Value=已经打开的程序权值相加。当然这只是理想场景。但即使ABC实际打开时间是6秒,5秒,8秒,最终呈现的效果也足以欺骗用户。如果实在转不过这个弯,可以自己模拟两遍看看。如果你的目的是精确预测出每个程序的打开时间,那不可能做到。 可以设置为第三方程序打开多少设置多少 maxValue值 打开程序的时间受N种因素影响,不可能每次都一样,所以想做一个真正的跟着时间走的进度条是不现实的,除非你的第三方程序有返回值告诉你加载到哪一步了。如果你想要进度值平滑的效果,可以用Marquee样式的进度条,让它一直滚动,然后提示用户当前在加载哪个程序。 Winfrom窗体Datagridview下拉单元格展开问题 DataGridView更新问题 VS常规选项卡里添加的语句块无法保存 [IE编程有难度问题]关于pasteHtml datagrid绑定问题 怎么用Session 做登陆状态跟踪? 急急急急急急!!!100分求!! http请求 想用c#开发数据库应用系统,推荐几本书,谢谢 谁有C#大整数运算库? 迷惘中...学Java还是C# 为什么参数有最大限制 关于VS2019开发ASP .NET Web项目的一个问题,困扰了我好久了,WA。。。望大佬解答
2. 虽然加载时间不知道,但是每个应用加载时间能比较出相对长短,多测几次,每个应用设置一个权值,MaxValue = 权值相加。
方案1:所有程序权值都是1,MaxValue=程序数量,Value=已经打开的程序数量(其实也是权值相加,不过大家都是1)。
方案2:所有程序权值不一样,自己测结果。假设三个程序ABC打开时间分别要3秒,8秒,10秒;换一台电脑,可能是10秒,30秒,40秒;绝对时间有长有短,但是完全可以假定同样场景下,每个程序有自己的相对快慢,A一定比C慢。最终就可以给它们设定权值:3,8,10。MaxValue=21,Value=已经打开的程序权值相加。当然这只是理想场景。但即使ABC实际打开时间是6秒,5秒,8秒,最终呈现的效果也足以欺骗用户。如果实在转不过这个弯,可以自己模拟两遍看看。
如果你的目的是精确预测出每个程序的打开时间,那不可能做到。
如果你想要进度值平滑的效果,可以用Marquee样式的进度条,让它一直滚动,然后提示用户当前在加载哪个程序。