我有5个数字降序排序的数组:{289,151,69,27,6}:制作增量完成在同一时间
int[] sortedArray = new int[] { 289, 151, 69, 27, 6 };
和5 progressbars在窗体上。 每一个进度条的最大值= sortedArray [X]
因此,例如:
progressBar0.MaxValue = 289; //First element of array
progressBar1.MaxValue = 151; //2nd
progressBar3.MaxValue = 69; // etc...
我想达成什么是使所有progressbars增量,直到它们各自的MaxValue,而且使光洁度同时。
我开始为每个数组元素创建一个新的线程。但我找不到算法,以使它们一起完成。我想用TimeSpan实现一些东西。因此,例如:
所有progressbars需要5秒..
内是他们的MaxValue我怎么能这样做?
您可以根据达到5秒钟的时间量来计算当前值并设置该值。 –
@MightyBadaboom实际上使用你的%计算思路,他不需要5秒的限制,如果你将每个值分解成100的等级,相同数量的增量将使它们全部达到100(值可以被舍入最多占小数)。 –
为什么你需要使用线程?使用一个'定时器'[如图所示](https://stackoverflow.com/questions/7259511/increase-a-progressbar-with-timer-in-winforms)。你只需要根据最大值计算'Interval'属性。例如:'timer.Interval = 5000/289' –