Foros del Web » Programación para mayores de 30 ;) » .NET »

Progress Bar en MDI Form

Estas en el tema de Progress Bar en MDI Form en el foro de .NET en Foros del Web. Hola! Hace un tiempo desarrollé una aplicación windows la cual tenia un MDI Parent. Los formularios hijos se visualzan en un panel dentro de este ...
  #1 (permalink)  
Antiguo 06/07/2015, 20:58
 
Fecha de Ingreso: noviembre-2006
Ubicación: Pasto
Mensajes: 154
Antigüedad: 18 años
Puntos: 1
Progress Bar en MDI Form

Hola!

Hace un tiempo desarrollé una aplicación windows la cual tenia un MDI Parent. Los formularios hijos se visualzan en un panel dentro de este mismo formulario parent.

En ese entonces opte por realizar el siguiente proceso para actualizar la barra de progreso que estaba en el formulario MDI.
Código:
            Dim x As Integer = 0
            MDI.ToolStripProgressBar.Minimum = x
            MDI.ToolStripProgressBar.Maximum = dt_total.Rows.Count
Donde dt_total es una Data Table con una cierta cantidad de registros. La propiedad Maximun del Progress Bar se actualizaba constantemente al usar unos formularios. Estas propiedades, por defecto, siempre arrancan con valores fijos (tal y como aparece cuando insertas el progressbar en el form) con los valores 0 y 100.

Al parecer la actualización no se esta realizando correctamente y en algunos casos (no siempre) se genera un error informándome que el parámetro Value de este control debe estar entre el mínimo y máximo, es como si estos valores no se actualizaren con el código puesto arriba y siguen en 0 y 100 respectivamente.

Como puedo actualizar estos parámetros durante la ejecución, teniendo en cuenta que estos valores dependen de la cantidad de registros de una consulta a una tabla de una base de datos?

Agradezco su tiempo y colaboración.

Saludos

Luis E
  #2 (permalink)  
Antiguo 07/07/2015, 01:00
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 10 meses
Puntos: 606
Respuesta: Progress Bar en MDI Form

Viendo el código:

Código vb:
Ver original
  1. Dim x As Integer = 0
  2. MDI.ToolStripProgressBar.Minimum = x
  3. MDI.ToolStripProgressBar.Maximum = dt_total.Rows.Count

Está claro que el valor mínimo está controlado pero el máximo depende del número de Rows. Si falla la consulta o en algún lado se destruye el objeto (se tendría que revisar todo el código). Una solución sería mirar si el datatable no es nulo:

Código vb:
Ver original
  1. MDI.ToolStripProgressBar.Minimum = 0
  2.  
  3. If (dt_total Is Nothing) Then
  4.      MDI.ToolStripProgressBar.Maximum = 100
  5. Else
  6.      MDI.ToolStripProgressBar.Maximum = dt_total.Rows.Count
  7. End If
__________________
Aviso: No se resuelven dudas por MP!

Etiquetas: progressbar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:41.