not clear what the structure of your current code, but let assume there is a checkbox on each row with "Chk" name, the name is in the "name" column. You can write a loop to loop through the rows, if checked, capture the name, here is an example.
You can also try
if checking the checkbox will select the row.
List<string> names = new List<string>();
foreach (DataGridViewRow r in dataGridView1.Rows)
bool isSelected = Convert.ToBoolean(r.Cells["Chk"].Value);
MessageBox.Show(string.Join(" - ", names));