Вы убедились, что
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
возвращает URL?
Это будет первое место для начала.
Может быть:
dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString()
Что касается переключателя сетки данных +, то сетка данных не знает / не заботится о переключателе. Все это знает, что при нажатии кнопки звоните:
private void login_button_Click(object sender, EventArgs e)
Что произойдет, если вы жестко закодируете URL? Все остальное работает?
EDIT:
О, это не сработает!
У вас есть возврат в вашем выключателе. Итак, вы заканчиваете метод и никогда не вызываете:
HtmlElementCollection elements = this.webBrowser1.Document.GetElementsByTagName("Form");
foreach (HtmlElement currentElement in elements)
{
currentElement.InvokeMember("Login");
}