Chciałbym prosić o pomoc w rozwiązaniu następujące zadania.

2 formy

Poniżej zdarzenie dla formy_1 czyli form2


private void button1_Click(object sender, EventArgs e)
        {
            ListView.SelectedListViewItemCollection zaznaczone = this.listView1.SelectedItems;
            foreach (ListViewItem item in zaznaczone)
            {
                Form4 form4 = new Form4(item);
                form4.Show();
        //w tym miejscu STOP i jeżeli z form4 został naciśniety przycisk to wykonywane są dalsze operacje
                listView2.Items.Add(item.Text);
                for (int x=0;x<8;x++)
                {
                    listView2.Items[listView2.Items.Count].SubItems.Add(item.SubItems[x]);
                }

            }
            listView2.View = View.Details;
        }

Po wywołaniu Form4 zmieniam wartości subitemów z przesłanegoitem i chciałbym móc z powrotem przesłać te dane do form2, ale tak żeby nie zaszły w nim zmiany. Czy jest jakieś rozwiązanie?