Данные добавляются в TextBox, но если я добавляю вторую запись, то первая стирается

Здравствуйте. Такой вопрос. Мне нужно, чтобы при нажатие кнопки добавить на форме 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;
        }

Ну текстбокс просто строку выводит, так что надо просто создавать такую строку, какую надо вывести )

Например просто += вместо =. И еще Environment.Newline в конце если каждый элемент надо выводить на отдельной строке.

Но если надо не только добавлять, но и удалять, редактировать, то тогда надо не просто сразу выводить, а добавлять в

и при каждом изменении перевыводить всё.

Например, так:

        string PersonsToString(List<Person> persons)
        {
            return String.Join(Environment.NewLine, persons.Select(p => $"{p.Name}, {p.Phone}"));
        }
                persons.Add(person);
                textBox.Text = PersonsToString(persons);

(String.Join это просто удобная замена циклу с += для создания строки из списка, а Select из LINQ превращает каждый элемент во что-то другое, в данном случае в строку)


Используйте кнопку Код при выкладывании кода.