Здравствуйте. Такой вопрос. Мне нужно, чтобы при нажатие кнопки добавить на форме 1 открывалась форма 2, куда записывается информация о человеке и при нажатие добавить, эта информация списком отображалась на форме 1 в textbox1. У меня почти все получилось, данные добавляются, но если я добавляю вторую запись, то первая стирается. Помогите, пожалуйста, сделать задание.
Главная форма:
public class Person
{
public string name { get; set; }
public string surname { get; set; }
public string phone { get; set; }
public string birthday { get; set; }
}
public Form1()
{
InitializeComponent();
}
List<Person> list = new List<Person>(); // Список записей.
private void добавитьToolStripMenuItem_Click(object sender, EventArgs e)
{
var form = new Form2();
if (form.ShowDialog() == DialogResult.OK)
{
var person = form.Result;
textBox1.Text = person.name + " " + person.surname + " " + person.phone + " " + person.birthday;
MessageBox.Show("Added: " + person.name + " " + person.surname);
}
}
Подчиненная форма:
public partial class Form2 : Form
{
public Person Result { get; private set; }
public Form2()
{
InitializeComponent();
}
private void buttondobav_Click(object sender, EventArgs e)
{
var errors = new List<string>();
string name = textBox1.Text.Trim();
if (String.IsNullOrEmpty(name))
{
errors.Add("Введите имя.");
}
string surname = textBox2.Text.Trim();
if (String.IsNullOrEmpty(surname))
{
errors.Add("Введите фамилию.");
}
string phone = new string(maskedTextBox2.Text.Where(Char.IsDigit).ToArray());
if (String.IsNullOrEmpty(phone))
{
errors.Add("Введите номер телефона.");
}
else if (phone.Length < 6)
{
errors.Add("Короткий номер.");
}
string birthday = new string(maskedTextBox1.Text.Where(Char.IsDigit).ToArray());
if (String.IsNullOrEmpty(birthday))
{
errors.Add("Введите дату рождения.");
}
if (errors.Any())
{
MessageBox.Show(String.Join(Environment.NewLine, errors), "", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
Result = new Person
{
name = name,
surname = surname,
phone = phone,
birthday = birthday,
};
DialogResult = DialogResult.OK;
}