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

   
Vista:

Actualizar progressbar en un formulario desde una clase

Publicado por Diego 91.lillo.dl@gmail.com (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

Actualizar progressbar en un formulario desde una clase

Publicado por giancarlo (280 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