Nazywasz TextBox'y na każdej zakładce tak samo tylko z końcówka taki sam numer jak indeks zakładki np. TextBox0, TextBox1, TextBox2 itd. i sobie szukasz:
Private Function GetTextBoxCtrlTextByCtrlName(ParentCtrl As Control, TextBoxName As String) As String
GetTextBoxCtrlTextByCtrlName = ""
If ParentCtrl.HasChildren Then
For Each Ctrl As Control In ParentCtrl.Controls
If (TypeOf Ctrl Is TextBox) And (Ctrl.Name.Equals(TextBoxName)) Then
GetTextBoxCtrlTextByCtrlName = Ctrl.Text
Exit Function
End If
GetTextBoxCtrlTextByCtrlName = GetTextBoxCtrlTextByCtrlName(Ctrl, TextBoxName)
Next
End If
End Function
Private Sub ButtonSave_Click(sender As Object, e As EventArgs) Handles Button1.Click
Const FILE_PATH As String = "d:\testujemy\tresc\"
If (Not System.IO.Directory.Exists(FILE_PATH)) Then
System.IO.Directory.CreateDirectory(FILE_PATH)
End If
For PageIndex As Integer = 0 To TabControl1.TabCount - 1
Dim w As New IO.StreamWriter(FILE_PATH + "tresc" + CStr(PageIndex) + ".txt", True)
w.Write(GetTextBoxCtrlTextByCtrlName(TabControl1.TabPages(PageIndex), "TextBox" + CStr(PageIndex)))
w.Close()
Next
End Sub