无法测量的外部过程的渐近进度条?

时间:2012-02-28 13:32:51

标签: c# vb6 progress-bar

当程序等待外部流程完成并且无法衡量其进度时,进度条应该怎么做?

我注意到这个答案表明了Marquee样式进度条:https://stackoverflow.com/a/6357655/327528

但是有一个渐近的进度条变得越来越慢,直到它由于像素不能无限小的事实而停止。这是一个好主意,你会如何实现它?

请在VB6和C#中的任何一个或两个中给出答案。

2 个答案:

答案 0 :(得分:3)

你不应该这样的渐近进度条。您应该使用“不确定进度条”(参见以下链接)。

Microsoft用户体验(UX)设计指南为进度条here提供了明确的规则:

  

对需要的操作使用不确定进度条   无限量的时间或访问未知数量的对象。   使用超时来限制基于时间的操作。

(我的亮点。)

  
      
  • 明确表示缺乏进展。进度条必须   如果没有取得进展,就不会前进。您不希望用户等待   无限期地进行永远无法完成的操作。
  •   

<强> [编辑]

为了更好的可读性,我特此在此处的评论中添加我添加的信息。

WPF演练:如何实施A Modern Progress Dialog For WPF Applications

此外,如果您想使用动画,Visual Studio会提供所有版本(我认为Express版除外)一个图标库,其中包含在项目中使用这些图标的权限: Visual Studio Image Library。 您必须先从ZIP格式中提取它们,但我相信您将掌握此任务..; - )

然后,您可以在子文件夹status_anim.gif中找到GIF动画\Animations

答案 1 :(得分:1)

您既可以代表进步,也可以代表进步。如果它是一个“无法衡量的外部过程”,那么你就不能。因此,自己决定进度条可以做什么,没有'应该' - 这是一个设计选择。在我个人看来,一个简单的循环将完成这项工作(一个螺旋?) - 我不希望我的动画过渡到可以在可衡量的范围内进行印象进展的东西。

编辑:我无法评论渐近进度条是否合适 - 我不知道它是什么。