C sharp - progressBar

   
Vista:

progressBar

Publicado por Susana (2 intervenciones) el 03/03/2010 12:05:26
Hola gente!
Tengo una cuestión muy simple seguramente.. pero no logro solucionarlo. Quiero crear una barra de progreso con el siguiente código. La duda viene porque la barra de progreso no se llega a completar cuando acaba los cálculos. No se que parametros son los que coloco mal. Además la barra de progreso tarda mucho en aparecer.. aparece casi justo cuando acaba los calculos..

Gracias de antemano.

private void Btn_Aceptar_Click_1(object sender, EventArgs e)
{
valor = N_divisiones.Text;
numdiv = int.Parse(valor); ->> Valores introducidos por el usuario

for ( i = 0; i <= numdiv; i++)
{
contador = numdiv;
progreso = (i * 100 / numdiv); ->> obtengo el tanto por ciento
CrearProgressBars(122, 454, 20, 300);

for (j = 0; j < numdiv; j++)
{
operaciones
}

private void CrearProgressBars(int sX, int sY, int sAltura, int sAncho)
{
ProgressBar pb = new ProgressBar();
pb.SetBounds(sX, sY, sAncho, sAltura);
pb.Parent = this;
pb.Visible = true;
pb.CreateControl();
pb.Maximum = 100;
pb.Minimum = 0;
pb.Step = contador;
pb.Value = progreso;
pb.PerformStep();
label1.Text = "Completado= " + pb.Value.ToString();


}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:progressBar

Publicado por m (97 intervenciones) el 04/03/2010 03:39:09
No me dio tiempo de revisar tu codigo pero aqui te pongo un ejemplo de los
parametros y variables que debes utilizar para poder visualizar de la manera
correcta un progressbar.

private void Form1_Load(object sender, EventArgs e)
{
///progress bar parametros

this.progressBar1.Location = new System.Drawing.Point(88, 232);
this.progressBar1.Name = "progressBar1";
this.progressBar1.TabIndex = 0;
this.progressBar1.Maximum = 10000;
this.progressBar1.Minimum = 1;
this.progressBar1.Step = 1;

}





private void Btn_Aceptar_Click(object sender, EventArgs e)
{
for (int i = progressBar1.Minimum; i <= progressBar1.Maximum; i++)
{
progressBar1.PerformStep();
}
}


Primero usa este codigo y si sigues teniendo problemas pega todo el codigo que usas para revisarlo.

saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:progressBar

Publicado por Susana (2 intervenciones) el 08/03/2010 11:37:16
Entiendo el codigo que me has pasado..
Pero no logro ver que es lo que pongo mal.. Podrias mirar el codigo que puse??nose que es lo que hago mal..
Gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:progressBar

Publicado por ismael (5 intervenciones) el 14/08/2014 13:46:35
y por si alguien busca algo parecido, puede partir de aqui....

private void button1_Click_1(object sender, EventArgs e) //ejecuto el timer
{
this.timer1.Start();
}
private void timer1_Tick_1(object sender, EventArgs e) // control de los eventos
{
this.barra.Visible = true;
this.button2.Enabled = false;
this.barra.Value = barra.Value + 1; // el ciclo o incremento del progress
this.msj.Text = "Loanding... " + barra.Value + " % "; // incremento del text porcentaje
if (barra.Value == 100)
{
this.timer1.Stop();
this.msj.Text = "Finish... 100 % ";
MessageBox.Show("El proceso ha terminado", "Listo");
this.barra.Value = 0;
this.msj.Text = "";
this.barra.Visible = false;
this.button2.Enabled = true;
}
}
private void button2_Click(object sender, EventArgs e) //boton salir con mensaje
{
DialogResult resultado;
resultado = MessageBox.Show("desea salir?", "Aviso", MessageBoxButtons.OKCancel, MessageBoxIcon.Error);
if (DialogResult.OK == resultado)
this.Close();
else
MessageBox.Show("No sale");
this.button1.Focus();
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

progressBar

Publicado por ismael (5 intervenciones) el 14/08/2014 13:43:06
mmmm, posiblemente el progressbar se esta creando casi en el 99 %, tal ves si creas la barra de progreso antes de que inicie el ciclo for....

checa y comenta.

EDITADO---- problema de hace 4 años, porque no cierran el tema, o dicen solucionado, o yo que se.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar