时间:2019-05-17 标签:c#progressbarpercentage

sd_*_*ula 2 c# percentage progress-bar

我在 winform c# 应用程序中有一个进度条,我将其作为进度指示器。进度条可以有不同的最大尺寸,具体取决于用户输入的数量(可以超过 100),所以这就是我的设置方式:

this.pbLoadingWrite.Maximum = Input.Length;
this.pbLoadingWrite.Step = 1;
Run Code Online (Sandbox Code Playgroud)

然后只需更新进度条:

this.pbLoadingWrite.PerformStep(); 
Run Code Online (Sandbox Code Playgroud)

一切正常,但我想在进度栏顶部显示一个%数字以获得更好的可见性。

由于 Input.Length 可以 > 100,那么显示百分比的语法是什么?VS c# 中是否内置了任何辅助函数?

sa_*_*213 5

在这种情况下计算百分比非常容易

int percent = (progressbar1.Value / progressbar.Maximum) * 100;
Run Code Online (Sandbox Code Playgroud)

分解:

value = 56, Max = 300,

56 / 300 = 0.186666
0.186666 * 100 = 18.666%
Run Code Online (Sandbox Code Playgroud)

  • 好吧,这是有道理的。我实际上错过了 100 ,我认为你需要 float 或 double 因为当你执行 (4 / 5) *100 之类的操作时百分比始终为 0 (2认同)
  • 我已经忘记了它在 C# 中是如何工作的,但在大多数语言中,当你除以整数时,你会得到一个令人惊讶的结果 - 一个整数。如果我错了,请更正我的 C# 陈述。 (2认同)