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:
dentro de la clase tengo lo siguiente:
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


0