Сохранение значений формы

#c# #winforms

#c# #winforms

Вопрос:

Я создаю программу, состоящую из серии форм, и эта форма просит пользователя ввести значения в текстовые поля и выбрать значения из выпадающего меню домена, и когда я перехожу к следующей форме, которая является form2, затем возвращаюсь к form1 с помощью предыдущей кнопки, расположенной в form2, я вижу, что form1 возвращается инициализированным, и все текстовые поля пусты. как я могу сохранить значения form1, когда я вернусь к нему из form2.

Комментарии:

1. Пожалуйста, предоставьте несколько примеров кода, чтобы мы могли помочь вам определить, в чем заключается проблема.

2. Если вы вызываете Hide () для form1 вместо Close (), а затем, когда вы вызываете Show (), он должен сохранить свое состояние.

3. это код для предыдущей кнопки в form2 private void button1_Click(отправитель объекта, EventArgs e) { f1 = new Form1(); это. Скрыть(); f1.Показать(); }

4. У вас также мог бы быть дополнительный конструктор Form1 для приема данных в качестве входных данных и повторной инициализации элементов управления этими значениями.

Ответ №1:

Похоже, что вы пытаетесь создать мастер, который помог бы вместо того, чтобы самостоятельно управлять данными. Учебное пособие:http://msdn.microsoft.com/en-us/library/7k3w6w59(v=VS.100).aspx

Если вы хотите сохранить данные во время выполнения, вы можете сохранить данные в строке ресурса проекта. Информация о строках ресурсов:http://msdn.microsoft.com/en-us/library/7k989cfy(v=vs.80).aspx Вы можете программно сохранять строки ресурсов в formclose и перечитывать их при инициализации, чтобы они сохранялись.

Ответ №2:

Вам нужно будет выполнить некоторую моделизацию.

Думайте о форме как о временной сущности (потому что это так). Данные, которые вы вводите туда, должны быть помещены в объект (или статический класс) какого-либо вида. Таким образом, ваша программа может сохранить информацию о форме 1 в объекте, а затем, когда форма будет показана снова, вы сможете повторно заполнить все текстовые поля.

Небольшой хитростью было бы скрыть форму вместо ее закрытия.

Ответ №3:

Вы можете сохранять значения в базе данных или вы можете создать класс контейнера и передавать его через различные формы.