на форме имеется определенное количество TextBox (например 5 штук) пользователь вводит в них определенную текстовую информацию (например ФИО, дата рождения, место жительства и т.д.) после нажатия соответствующей кнопки на форме, информация из указанных TextBox подставляется на закладки в шаблоне Word'а и документ открывается для форматирования, долее пользователь просматривает весь документ в Word'е и при необходимости выводит его на печать или сохраняет сам.
TextBox-ы все находятся на таблице(TableLayoutPanel)
Код такой:
vb.netВыделить код
Private Sub ButtonСохранить_Click(sender As Object, e As EventArgs) Handles ButtonСохранить.Click
Dim TextBoxs As TextBox() = {TextBoxФамилия, TextBoxИмя, TextBoxОтчество, TextBoxАдрес}
Dim Lines() As String = New String(TextBoxs.Length - 1) {}
For Id = 0 To TextBoxs.Length - 1
Lines(Id) = TextBoxs(Id).Name & ": " & TextBoxs(Id).Text
Next
System.IO.File.WriteAllLines("C:\info.txt", Lines)
End Sub
Private Sub ButtonЗагрузить_Click(sender As Object, e As EventArgs) Handles ButtonЗагрузить.Click
For Each Line In System.IO.File.ReadAllLines("C:\info.txt")
Dim Values() As String = Line.Split(": ")
Controls(Values(0)).Text = Values(1)
Next
End Sub
И еще одна проблема, подставил Ваш код под основной код программы сохранение работает отлично, а вот считывание выдает ошибку, программа запускается, но при нажатии кнопки загрузить и выборе соответствующего файла, выделяет последнюю строку
Controls(Values(0)).Text = Values(1)
и пишет ошибку "Ссылка на объект не указывает на экземпляр объекта."
Потому что имена которые записаны в файле не совпадают с именами контролов на форме. У вас где расположены текстбоксы на форме или в какой либо панельке?
Да. На TableLayoutPanel
Так вот - как мне переделать тот же код только с TableLayoutPanel
TextBox-ы все находятся на таблице(TableLayoutPanel)
Код такой:
vb.netВыделить код
Private Sub ButtonСохранить_Click(sender As Object, e As EventArgs) Handles ButtonСохранить.Click
Dim TextBoxs As TextBox() = {TextBoxФамилия, TextBoxИмя, TextBoxОтчество, TextBoxАдрес}
Dim Lines() As String = New String(TextBoxs.Length - 1) {}
For Id = 0 To TextBoxs.Length - 1
Lines(Id) = TextBoxs(Id).Name & ": " & TextBoxs(Id).Text
Next
System.IO.File.WriteAllLines("C:\info.txt", Lines)
End Sub
Private Sub ButtonЗагрузить_Click(sender As Object, e As EventArgs) Handles ButtonЗагрузить.Click
For Each Line In System.IO.File.ReadAllLines("C:\info.txt")
Dim Values() As String = Line.Split(": ")
Controls(Values(0)).Text = Values(1)
Next
End Sub
И еще одна проблема, подставил Ваш код под основной код программы сохранение работает отлично, а вот считывание выдает ошибку, программа запускается, но при нажатии кнопки загрузить и выборе соответствующего файла, выделяет последнюю строку
Controls(Values(0)).Text = Values(1)
и пишет ошибку "Ссылка на объект не указывает на экземпляр объекта."
Потому что имена которые записаны в файле не совпадают с именами контролов на форме. У вас где расположены текстбоксы на форме или в какой либо панельке?
Да. На TableLayoutPanel
Так вот - как мне переделать тот же код только с TableLayoutPanel