@Meta
Por favor, corrije el formato de tu código
Cita de: Meta en 27 Febrero 2016, 17:19 PMA pesar de encontrar la fórmula, no se implementarlo en C#.
Hay un pequeño fallo de diseño en tu código, primero asignas/sumas el valor con la propiedad ProgressBar.Value y luego utilizas el método ProgressBar.PerformStep(), con esto estás avanzando dos veces el valor de la barra de progreso.
Para calcular los valores que representar en los labels, puedes hacerlo de la siguiente manera:
Vb.Net:
Código (vbnet) [Seleccionar]
Public NotInheritable Class Form1 : Inherits Form
Private Sub Test() Handles MyBase.Shown
Me.ProgressBar1.Minimum = 0
Me.ProgressBar1.Maximum = 1023
Me.ProgressBar1.Step = 1
For x As Integer = 0 To 1023
Threading.Thread.Sleep(10)
UpdateProgress(x)
Next
End Sub
Private Sub UpdateProgress(ByVal value As Integer)
Dim percent100 As Double = ((value / 1023) * 100)
Dim percent5 As Double = (5.0F / (100.0R / percent100))
Me.ProgressBar1.PerformStep()
Me.Label1.Text = Convert.ToString(value)
Me.Label2.Text = String.Format("{0:0}%", percent100)
Me.Label3.Text = String.Format("{0:0.00} de {1:0.00}", percent5, 5.0F)
Me.Label1.Update()
Me.Label2.Update()
Me.Label3.Update()
End Sub
End Class
Traducción online a C#:
Código (csharp) [Seleccionar]
public sealed class Form1 : Form
{
private void Test() {
this.ProgressBar1.Minimum = 0;
this.ProgressBar1.Maximum = 1023;
this.ProgressBar1.Step = 1;
for (int x = 0; x <= 1023; x++) {
Threading.Thread.Sleep(10);
UpdateProgress(x);
}
}
private void UpdateProgress(int value) {
double percent100 = ((value / 1023) * 100);
double percent5 = (5f / (100.0 / percent100));
this.ProgressBar1.PerformStep();
this.Label1.Text = Convert.ToString(value);
this.Label2.Text = string.Format("{0:0}%", percent100);
this.Label3.Text = string.Format("{0:0.00} de {1:0.00}", percent5, 5f);
this.Label1.Update();
this.Label2.Update();
this.Label3.Update();
}
public Form1() {
Shown += Test;
}
}
//=======================================================
//Service provided by Telerik (www.telerik.com)
//=======================================================
Saludos!