Как из формы 2 передать данные в форму 1?

Здравствуйте. Такое задание:

Описать структуру NOTE, содержащую следующие поля:
 фамилия, имя;
 номер телефона;
 дата рождения (массив из трех чисел);
Создать параметризованную коллекцию для хранения описанной структуры. Вид коллекции выбрать самостоятельно. Написать Windows-приложение для работы с этой коллекцией, позволяющее выполнять:
 добавление элемента в коллекцию;
 считывание данных из файла;
 запись данных в тот же или указанный файл;
 сортировку данных по различным критериям;
 поиск элемента по заданному полю;
 вывод всех элементов, удовлетворяющих заданному условию;
 удаление элемента из коллекции;
Приложение должно содержать меню и диалоговые окна и предусматривать обработку возможных ошибок пользователя с помощью исключений.

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

По-разному можно. Например, добавить public свойства/функции и обращаться к ним.

namespace WindowsFormsApp3
{
    public class Person
    {
        public string Name { get; set; }
        public string Phone { get; set; }
    }
}
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Windows.Forms;

namespace WindowsFormsApp3
{
    public partial class AddPersonForm : Form
    {
        public Person Result { get; private set; }

        public AddPersonForm()
        {
            InitializeComponent();
        }

        private void BtnOk_Click(object sender, EventArgs e)
        {
            var errors = new List<string>();

            string name = tboxName.Text.Trim();
            if (String.IsNullOrEmpty(name))
            {
                errors.Add("Enter name.");
            }

            string phone = new string(tboxPhone.Text.Where(Char.IsDigit).ToArray());
            if (String.IsNullOrEmpty(phone))
            {
                errors.Add("Enter phone.");
            }
            else if (phone.Length < 6)
            {
                errors.Add("Too short phone.");
            }
            else if (phone.Length > 12)
            {
                errors.Add("Too long phone.");
            }

            if (errors.Any())
            {
                MessageBox.Show(String.Join(Environment.NewLine, errors), "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            Result = new Person
            {
                Name = name,
                Phone = phone,
            };

            DialogResult = DialogResult.OK;
        }

        private void BtnCancel_Click(object sender, EventArgs e)
        {
            DialogResult = DialogResult.Cancel;
        }
    }
}
using System;
using System.Windows.Forms;

namespace WindowsFormsApp3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void BtnAdd_Click(object sender, EventArgs e)
        {
            var form = new AddPersonForm();
            if (form.ShowDialog() == DialogResult.OK)
            {
                var person = form.Result;
                MessageBox.Show("Added: " + person.Name);
            }
        }
    }
}

Подскажите, как сделать, чтобы данные записывались в dataGridView

По-разному можно.
Например, просто в DataSource присвоить какой-нибудь List.
Или самому добавлять строки в Rows, присваивать значения ячеек (Cells).

DGW — сложный контрол. Надо почитать что он умеет, как с ним работать.

http://www.dotnetperls.com/datagridview

https://docs.microsoft.com/en-us/dotnet/framework/winforms/controls/datagridview-control-overview-windows-forms

а если просто в textbox? как это сделать?

Все, получилось
спасибо за помощь)

Так а с ним в чем проблемы? Там ж просто любую строку можно вывести.

textBox.Text = $"{person.Name}, {person.Phone}";