如何让我的进度条计数而不是降低?

时间:2014-09-04 17:03:19

标签: c#

我有一个应用程序,从他们选择的列表中一次显示一个项目。我想创建一个进度条来显示完成百分比的状态。

要做到这一点,我想我需要3个数字:

1。)我想要的数字(即100%)

2。)用户选择的项目数

3。)自从我创建的调查中,每次用户点击btnNext时,用户都会在列表对象中显示一个新项目,我需要一个在每次点击时都会迭代的数字btnNext

int RAC = Convert.ToInt32(ViewState["count"]) - 2; 
//starts at 0 and goes up to however many selections the user made minus1 or 'countSelection - 1'

这里有三个数字就是我试过的

Response.Write(100 / RAC);

但是这从100开始并下降到0.我该怎么扭转这个?

2 个答案:

答案 0 :(得分:3)

您只需要2个号码:

  1. 项目总数(不是百分比)。我相信你说过 这是:countSelection
  2. 用户完成的项目数。 这似乎是:Convert.ToInt32(ViewState["count"]) - 2;
  3. 然后您可以使用以下方法计算完成的百分比:

    int totalNumberOfItems = countSelection;
    int itemsCompleted = Convert.ToInt32(ViewState["count"]) - 2;
    int currentProgressPercent = itemsCompleted / totalNumberOfItems * 100;
    
    string displayString = string.Format("{0}/{1} ({2}% complete)", 
        itemsCompleted, totalNumberOfItems, currentProgressPercent);
    

答案 1 :(得分:1)

要创建进度条,您只需要项目总数和所选项目数。如果你使用最小值0和最大值100,那么“进度”就是:

(100 * selected) / total

请注意,您首先将所选时间100多个,否则您将使用(selected / total)的整数除法,0除非selected等于total