If you use a DataTable as the DataSource to load the DGV with data,any changes to the datasource will be reflected in the DGV automatically:
private DataTable items = new DataTable();
private void FrmMain_Shown(object sender, EventArgs e)
{
items.Columns.Add("URL");
items.Columns.Add("Name");
items.Rows.Add("https://www.codeproject.com/", "CodeProject");
myDataGridView.DataSource = items;
}
private void AddARow_Click(object sender, EventArgs e)
{
items.Rows.Add("A new URL", "A new name");
}