Buonasera,
avrei necessità di attivare due progressBar, ma la prima avanza al completamento della seconda, vi allego il codice:
Private Sub CaricaProvincie_Comuni ()
Dim filecomuni As String = Application.StartupPath & "\Comunt.dat"
Dim rec As Integer = 0
Dim NumProv As Integer = ProvinceDataGridView.Rows.Count - 1
Dim Scrivi As New XmlTextWriter(Application.StartupPath & "\ProvComuni_tmp.xml", System.Text.Encoding.UTF8)
Scrivi.WriteStartDocument(True)
Scrivi.Formatting = Formatting.Indented
Scrivi.Indentation = 0
Scrivi.WriteStartElement("Provincie-Comuni")
For i = 1 To NumProv
AggiornaXLMProvTSPB.Value = i
Dim nomeprov As String = ProvinceDataGridView.Rows(i - 1).Cells(1).Value()
Dim nomesigla As String = ProvinceDataGridView.Rows(i - 1).Cells(2).Value()
Dim nomeregione As String = ProvinceDataGridView.Rows(i - 1).Cells(3).Value()
AggXLMProvTSL.Text = nomeprov
CreateNodoProvincie(i, nomeprov, nomesigla, nomeregione, Scrivi)
Using myReader As New FileIO.TextFieldParser(
filecomuni)
myReader.TextFieldType = FileIO.FieldType.Delimited
myReader.SetDelimiters("@")
While Not myReader.EndOfData
Dim currentRow As String()
currentRow = myReader.ReadFields()
Dim NumRecord As Integer = currentRow.Length
For Each currentField As String In currentRow
If currentField.StartsWith("0") Then
MenuToolStrip.Refresh()
Continue For
End If
Dim siglaprov As String = currentField.Substring(25, 2)
If siglaprov = nomesigla Then
AggiornaXLMComuniTSPB.PerformStep()
rec += 1
Dim lun As Integer = currentField.Length
Dim sezione As String = currentField.Substring(1, 1)
Dim codcomune As String
If sezione = " " Then
codcomune = currentField.Substring(2, 4)
Else
codcomune = currentField.Substring(2, 4) & sezione
End If
Dim comune As String = If(lun >= 67, currentField.Substring(29, 34).TrimEnd, currentField.Substring(29, lun - 33).TrimEnd)
comune = StrConv(comune, VbStrConv.ProperCase)
ComuniTSL.Text = comune
CreateNodoComuni(rec, comune, nomesigla, nomeregione, codcomune, Scrivi)
End If
Next
CreateNodoComuni(rec + 1, "Intera provincia", nomesigla, nomeregione, "IN" & nomesigla, Scrivi)
rec = 0
myReader.Close()
End While
End Using
Next i
Scrivi.Close()
End Sub
Praticamente per ogni provincia italiana cerca tutti i comuni in un file e li memorizza in un file XML. Il primo progressBar (AggiornaXLMProvTSPB) è relativo alle provincie, il secondo (AggiornaXLMComuniTSPB) è relativo ai comuni di quella provincia caricata. Il codice così impostato funziona, ma vorrei rendere la visualizzazione di caricamento nel form più chiara. Quindi stavo pensando di attivare un evento di completamento caricamento comuni e solo dopo il caricamento della successiva provincia, ma ho difficoltà nella stesura del codice, qualche suggerimento?
grazie