Dubbelklick är ett händelse som en användare gör. Dubbelklicket i sig kan trigga en annan funktion, i ditt fall att hämta värden från gridden samt spara raden i en textfil. Att anropa användargenererade händelser är fel väg att gå. Anropa någon metod längre ner i kedjan.
Vad du bör göra är ett vanligt event till dubbelklick som kallar på en metod som använder en DataGridViewRow som indata.
Sedan kan du anropa denna metoden i koden utan att behöva skicka event hit och dit.
Göra "det du vill göra" för varje rad i datagridviewn:
for(DataGridViewRow row in dataGridView1.Rows)
{
doMagicForRow(row);
}
private void doMagicForRow(DataGridViewRow row) {
// Hämta värden
// Spara något i textfil
}