Non entro nel merito del tuo programma...ma per fare quello che vorresti penso sia più utile e semplice da gestire utilizzare un database (Access?) o un semplice file XML.
Il codice sotto (1 form, 2 datagridview) è un' esempio mooolto rozzo...per darti un' idea su come scrivere e leggere i dati dal file "italia.xml".
Penso sia abbastanza intuitivo...altrimenti chiedi pure:
Imports System.IO
Public Class Form1
Dim ds As New DataSet
Dim path As String
Private Sub Form1_Load() Handles MyBase.Load
path = My.Computer.FileSystem.SpecialDirectories.Desktop & "\italia.xml"
verifica_file()
End Sub
Private Sub verifica_file()
If File.Exists(path) = False Then
genera_dataset()
Else
Try
ds.ReadXml(path)
Catch ex As Exception
MsgBox("Errore: " & vbCrLf & ex.Message)
Return
End Try
End If
DataGridView1.DataSource = ds.Tables("abruzzo")
DataGridView2.DataSource = ds.Tables("basilicata")
End Sub
Private Sub genera_dataset()
ds.DataSetName = "italia"
ds.Tables.Add("abruzzo")
ds.Tables.Add("basilicata")
ds.Tables("abruzzo").Columns.Add("colonna 1")
ds.Tables("abruzzo").Columns.Add("colonna 2")
ds.Tables("abruzzo").Columns.Add("colonna 3")
ds.Tables("basilicata").Columns.Add("colonna 1")
ds.Tables("basilicata").Columns.Add("colonna 2")
ds.Tables("basilicata").Columns.Add("colonna 3")
End Sub
Private Sub salva_dati() Handles Me.FormClosing
Try
ds.WriteXml(path)
Catch ex As Exception
MsgBox("Errore: " & vbCrLf & ex.Message)
Return
End Try
End Sub
End Class