for each ile döngü yapıp isimleri bir kere alman lazım.
Aldığın kolon isimleri global bir array ile diğer forma taşıman lazım. Diğer formdada listviewe ulaşıp arraydeki isimlere göre aynıları açman gerekiyor.
string[] Array;
int dongusayisi=0;
listviewden kolon alma
foreach (ColumnHeader header in listView.Columns)
{
Array[dongusayisi] = header.Text
dongusayisi+= 1;
}
burda aldıklarını diğer formdan ulaşıp yeni listviewe ekleme kodları
ikinci formda çalıştırıcağın kod :
Burada diğer form1 deki arraya eriştiğini ve aynı adla oluşturduğunu varsayıyorum.
int kolonsayisi = Array.Length
for (int i = 0; i <= kolonsayisi ; i++)
{
Listview2.Columns.Add(Array[i].ToString());
}
Hepsi bu kadar.