Questione : La barra di progresso non infornerà mentre l'albero sta caricando nell'applicazione delle finestre di vb.net

Sto avendo un problema ottenere il mio fuoco della barra di progresso mentre sto caricando un gruppo di dati.  Come posso legare una barra di progresso a caricare un albero.  Ho attaccato il mio codice qui sotto.  Thanks class= > " libero " del
> " del codeSnippet " del class= del
class= " lineNumbers " del
class= del
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:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
il class= il frmMHContactLogAll_Load secondario del >Private " notpretty " (mittente del id= " codeSnippet810629 " del
 '01/01/2005'ORDER da dbo.tblMHCIntake.dtmIntake DESC„, Connection1)
        SqlDataAdapter daContent = nuovo (“PRINCIPALE DISTINTO PRESCELTO 100 PER CENTO tblPatient.strLName + “,„ + di tblPatient.strFName nome COSÌ, CONVERTITO (varchar (10), tblMHCIntake.dtmIntake, 101) QUANTO intakedate, DATENAME (dw, dbo.tblMHCIntake.dtmIntake) COME dayname, tblMHCIntake.dtmIntake, tblMHCIntake.strStaff, CONVERTITO (varchar (10), tblPatient.dtmDOB, 101) COME dtmdob, tblPatient.strPatientId, tblMHCIntakeDetail.lngIntakeId da tblMHCIntake INTERNO UNISCONO il tblMHCIntakeDetail SU tblMHCIntake.lngIntakeId = tblMHCIntakeDetail.lngIntakeId INTERNO UNISCONO il tblLUMHCData SU tblMHCIntakeDetail.lngDataId = tblLUMHCData.lngDataID A DESTRA ESTERNO UNISCONO tblPatient SU tblMHCIntake.lngPatientId = tblPatient.lngPatientId DOVE (tblMHCIntake.dtmIntake > “1/1/2005„) ORDINE da tblMHCIntake.dtmIntake DESC„, Connection1)
        datype = nuovo SqlDataAdapter (“il PER CENTO DISTINTO PRESCELTO tblMHCIntakeDetail.lngIntakeId, tblMHCIntakeDetail.lngDataId, tblLUMHCData.strData del PRINCIPALE 100 da tblMHCIntake INTERNO UNISCONO il tblMHCIntakeDetail SU tblMHCIntake.lngIntakeId = tblMHCIntakeDetail.lngIntakeId INTERNO UNISCONO il tblLUMHCData SU tblMHCIntakeDetail.lngDataId = tblLUMHCData.lngDataID A DESTRA ESTERNO UNISCONO tblPatient SU tblMHCIntake.lngPatientId = tblPatient.lngPatientId DOVE (tblMHCIntake.dtmIntake > “1/1/2005„) e tblLUMHCData.strtype = “„ & servicetype & “„ “, Connection1)


        'Altrimenti
        “SqlDataAdapter daContent = nuovo (“PRINCIPALE DISTINTO PRESCELTO 100 PER CENTO tblPatient.strLName +„, “+ di tblPatient.strFName nome COSÌ, CONVERTITO (varchar (10), tblMHCIntake.dtmIntake, 101) QUANTO intakedate, tblMHCIntake.dtmIntake, tblMHCIntake.strStaff, CONVERTITO (varchar (10), tblPatient.dtmDOB, 101) COME dtmdob, tblPatient.strPatientId, tblMHCIntakeDetail.lngIntakeId da tblMHCIntake INTERNO UNISCONO il tblMHCIntakeDetail SU tblMHCIntake.lngIntakeId = tblMHCIntakeDetail.lngIntakeId INTERNO UNISCONO il tblLUMHCData SU tblMHCIntakeDetail.lngDataId = tblLUMHCData.lngDataID A DESTRA ESTERNO UNISCONO tblPatient SU tblMHCIntake.lngPatientId = tblPatient.lngPatientId DOVE tblPatient.lngPatientId =„ “& SqlParametersDB.Name.lngpatientid &„ 'ORDINE da tblMHCIntake.dtmIntake DESC ", Connection1)
        “datype = nuovo SqlDataAdapter (“il PER CENTO DISTINTO PRESCELTO tblMHCIntakeDetail.lngIntakeId, tblMHCIntakeDetail.lngDataId, tblLUMHCData.strData del PRINCIPALE 100 da tblMHCIntake INTERNO UNISCONO il tblMHCIntakeDetail SU tblMHCIntake.lngIntakeId = tblMHCIntakeDetail.lngIntakeId INTERNO UNISCONO il tblLUMHCData SU tblMHCIntakeDetail.lngDataId = tblLUMHCData.lngDataID A DESTRA ESTERNO UNISCONO tblPatient SU tblMHCIntake.lngPatientId = tblPatient.lngPatientId DOVE tblPatient.lngPatientId =„ “& SqlParametersDB.Name.lngpatientid &„ “e tblLUMHCData.strtype =„ “& servicetype &„ '“, Connection1)
        “daSections = nuovo SqlDataAdapter (“PRINCIPALE DISTINTO PRESCELTO un convertito di 100 PER CENTO (varchar (10), dbo.tblMHCIntake.dtmIntake, 101) come intakedate, dtmintake, DATENAME (dw, dbo.tblMHCIntake.dtmIntake) COME dayname da dbo.tblMHCIntake DOVE dbo.tblMHCIntake.lngPatientId =„ “& SqlParametersDB.Name.lngpatientid &„ 'ORDINE da dbo.tblMHCIntake.dtmIntake DESC ", Connection1)



        'Concluder se
        Prova
            daSections.Fill (objDS, “dtSections„)
        Fermo ex come eccezione
            MsgBox (ex. Messaggio)

        Prova di conclusione

        Prova
            daContent.Fill (objDS, “dtContent„)
        Fermo ex come eccezione
            MsgBox (ex. Messaggio)

        Prova di conclusione

        Prova
            Counttype fioco
            counttype = datype. Riempire (objDS, “dtType„)

        Interferire ex come eccezione
            MsgBox (ex. Messaggio)

        Prova di conclusione
        Se programma = “contactLog„ allora
            System.Threading.Thread.Sleep (100000)
        Concluder se
        objDS.Relations.Add (“SectionToContent„, _
        objDS.Tables (“dtSections„). Colonne (“dtmIntake„), _
        objDS.Tables (“dtContent„). Colonne (“dtmIntake„))


        objDS.Relations.Add (“SectionToType„, _
              objDS.Tables (“dtContent„). Colonne (“lngIntakeId„), _
              objDS.Tables (“dtType„). Colonne (“lngIntakeId„))




        nodenew = nuovo TreeNode
        nodenew. Il testo = “genera il nuovo contatto del cliente…„
        nodenew. Modifica = “nuovo„
        TreeView1.Nodes.Add (nodenew)

        Per ogni rowSupp in objDS.Tables (“dtSections„). File

            nodeSupp = nuovo TreeNode
            nodeSupp.Text = rowSupp (“dtmIntake„) &„ - “& rowSupp (“dayname„)
            nodeSupp.Tag = “data della presa„
            Dotw fioco
            nodeSupp.Expand ()
            TreeView1.Nodes.Add (nodeSupp)
            Per ogni rowProd in rowSupp.GetChildRows (“SectionToContent„)
                nodeProd = nuovo TreeNode
                nodeProd.Text = rowProd (“intakedate„) &„ - “& rowProd (“strStaff„) &„ - “& rowProd (“nome„) &„ - “& rowProd (“dtmdob„) &„ - “& rowProd (“strPatientid„)
                nodeProd.Tag = rowProd (“lngIntakeID„)

                nodeSupp.Nodes.Add (nodeProd)
                Per ogni rowType in rowProd.GetChildRows (“SectionToType„)
                    nodetype = nuovo TreeNode
                    nodetype. Testo = rowType (“strData„)
                    nodeProd.Nodes.Add (nodetype)

                Dopo

            Dopo

        Dopo


        'TreeView1.ExpandAll ()
        'TreeView1.SelectedNode = TreeView1.Nodes.Item (2)
        TreeView1.Focus ()
        il pageload = allinea
    Sommergibile dell'estremità
class= del

Risposta : La barra di progresso non infornerà mentre l'albero sta caricando nell'applicazione delle finestre di vb.net

Perché il valore progressbar sta cambiando è in Timer1_Tick? Dovreste farli nel codice principale in se:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
ProgressBar1.maximum = rowSupp.GetChildRows.count 'questo fisseranno il valore massimo per evitare l'errore che avete ottenuto prima

 Per ogni rowProd in rowSupp.GetChildRows (“SectionToContent„)
                nodeProd = nuovo TreeNode
                nodeProd.Text = rowProd (“intakedate„) &„ - “& rowProd (“strStaff„) &„ - “& rowProd (“nome„) &„ - “& rowProd (“dtmdob„) &„ - “& rowProd (“strPatientid„)
                nodeProd.Tag = rowProd (“lngIntakeID„)

                nodeSupp.Nodes.Add (nodeProd)
                Per ogni rowType in rowProd.GetChildRows (“SectionToType„)
                    nodetype = nuovo TreeNode
                    nodetype. Testo = rowType (“strData„)
                    nodeProd.Nodes.Add (nodetype)
                Dopo

                Coda di Application.DoEvents ()

ProgressBar1.value+=1 'questo aumenterà il valore dopo ogni oggetto completato
            Dopo
Altre soluzioni  
 
programming4us programming4us