Bom dia.Veja se o exemplo serve:
Form1.cs:
public string OsDados { get; set; }
private void button1_Click(object sender, EventArgs e)
{
new Form2(this).Show();
}
private void button2_Click(object sender, EventArgs e)
{
MessageBox.Show(OsDados);
}
Form2.cs:
public Form2(Form1 oform1)
{
InitializeComponent();
this.OForm1 = oform1;
}
public Form1 OForm1;
private void button1_Click(object sender, EventArgs e)
{
OForm1.OsDados = dataGridView1.Rows[0].Cells[0].Value.ToString();
this.Close();
}
Aqui,pego o valor da primeira célula da primeira linha do DataGridView,você substitui isso para o que precisa retornar.

Ou você pode usar uma variável estática no primeiro formulário.