Visual Basic.NET - Actualizar progressbar en un formulario desde una clase

 
Vista:

Actualizar progressbar en un formulario desde una clase

Publicado por Diego (7 intervenciones) el 14/10/2015 17:11:36
Hola, Necesito su Ayuda porfavor:
Necesito actualizacion de ProgressBar1 desde una clase hacia el form(Procedimiento_Almacenado)

dentro del formulario Form tengo una barra de espera ProgressBar1, lo que trato es que se actualice esa barra, pero no e podido.

codigo formulario btn guardar:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Private Sub btnGuardarTodo_Click(sender As Object, e As EventArgs) Handles btnGuardarTodo.Click
 
        Dim daBtot As New SqlDataAdapter("Select  count(*) tot from sysobjects  Where Type = 'P'", cnnB)
        Dim dsBtot As New DataSet
        daBtot.Fill(dsBtot)
        Dim itot As Integer
        Dim total As Integer
 
        For itot = 0 To (dsBtot.Tables(0).Rows.Count - 1)
            total = dsBtot.Tables(0).Rows(itot).Item("tot")
        Next
 
        ProgressBar1.Minimum = 0
        ProgressBar1.Maximum = total
        ProgressBar1.Value = 1
        Dim x As Integer
 
 
        If IsNothing(smartThreadPoolPendientes) Then
            smartThreadPoolPendientes = New SmartThreadPool
 
            WigPendientes = smartThreadPoolPendientes.CreateWorkItemsGroup(1)
        End If
 
        Try
            Dim daB1 As New SqlDataAdapter("Select  name from sysobjects  Where Type = 'P' ", cnnB)
            Dim dsB1 As New DataSet
            daB1.Fill(dsB1)
 
            Dim entra As Boolean = True
            Dim Aux As New Procesar
            Aux.cnnB = cnnB
            Aux.con = con
            Aux.dsB1 = dsB1
            Aux.total = total
 
            WigPendientes.QueueWorkItem(New WorkItemCallback(AddressOf Aux.ProcesarFilas))
 
            WigPendientes.Start()
 
 
            ProgressBar1.Value = x          '<<<<<<<<<<<<<<DEVERIA ACTUALIZARSE, PERO NO LOGRO DEVOLVER EL VALOR ACTUALIZADO DESDE LA CLASE
 
        Catch ex As Exception
            MsgBox(ex.Message)
 
        End Try
    End Sub


dentro de la clase tengo lo siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Class Procesar
 
    Public cnnB As SqlConnection
    Public con As Conexion
    ' Public ProgressBar1 As ProgressBar = Procedimiento_Almacenado.ProgressBar1  '<< Procedimiento_Almacenado NOMBRE DEL FORM ANTERIOR DONDE SE ENCUENTRA EL PROGRESSBAR
    Dim x As Integer
    Public dsB1 As DataSet
    Public total As Integer
    Dim U As Integer = 0
 
 
    Function ProcesarFilas() As Object
        'ProgressBar1.Minimum = 1
        Procedimiento_Almacenado.ProgressBar1.Maximum = total
        'ProgressBar1.Value = 1
 
        Try
            Dim i As Integer
            Dim NombreTrigger As String
 
            For i = 0 To (dsB1.Tables(0).Rows.Count - 1)
                NombreTrigger = dsB1.Tables(0).Rows(i).Item("Name")
 
                con.InsertarProcedAlmaB2(NombreTrigger)
 
                x = x + 1
                Procedimiento_Almacenado.ProgressBar1.Value = x     '<<<<<<<<<<<<<<<<<<<<<
                'Procedimiento_Almacenado.SetProgressBar1(x)          '<<<<<<<<<<<<<<<<<<<<<< AHI SE ESTA ACTUALIZANDO, PERO NO LOGRO QUE SE ACTUALICE EN VIVO, EN EL PROGRAMA
 
                Application.DoEvents()
 
                ' Dim Aux2 As New Procedimiento_Almacenado     '<<<<<<<<<<<<<<<<<<<<<<<
                ' Aux2.x = x                                                             '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                Procedimiento_Almacenado.ProgressBar1.Value = x     ' <<<<<<<<<<<<<<<<<<<<<< AHI TRATE DE MANDAR EL NUMERO ACTUALIZADO AL FORM, PERO NO SE MANDA
                 Next
 
        Catch ex As Exception
            Throw New Exception(String.Format("Erro al procesar la solicitud - '{0}'", ex.Message))
            Return False
 
        End Try
        Return True
    End Function
End Class
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
Imágen de perfil de giancarlo
Val: 377
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Actualizar progressbar en un formulario desde una clase

Publicado por giancarlo (488 intervenciones) el 23/10/2015 22:11:39
tendrias que acceder al progressbar del formulario

form1.progressbar1.maximun=maximo valor
form1.progressbar1.value=3 '3 es el valor del progressbar

te recomendaria buscar informacion de backgroundworker vb.net es mucho mejor
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