【发布时间】:2010-04-21 15:08:44
【问题描述】:
我正在处理一个带有 datagridview 和 webbrowser 控件的表单。我在 datagridview 中有三列作为 URL、用户名和密码。我想做的是自动登录一些我经常使用的网站。出于这个原因,我不确定这是否是正确的方法,但我创建了以下代码。问题在于 switch 的参数。
我将单击 datagridview 上的行,然后单击 login_button,以便将用户名和密码信息传递到网页上的相关字段。为什么我需要一个 switch-case 循环是因为所有网页的用户名和密码字段都有不同的元素 ID。
正如我所说,我不确定datagridview是否允许switch-case,我搜索了网络但找不到任何示例。
private void login_button_Click(object sender, EventArgs e)
{
switch (dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString())
{
case "http://www.website1.com":
webBrowser1.Document.GetElementById("username").InnerText = dataGridView1.Rows[3].Cells[3].Value.ToString();
webBrowser1.Document.GetElementById("password").InnerText = dataGridView1.Rows[3].Cells[4].Value.ToString();
return;
case "http://www.website2.com":
webBrowser1.Document.GetElementById("uname").InnerText = dataGridView1.Rows[4].Cells[3].Value.ToString();
webBrowser1.Document.GetElementById("pswd").InnerText = dataGridView1.Rows[4].Cells[4].Value.ToString();
return;
}
HtmlElementCollection elements = this.webBrowser1.Document.GetElementsByTagName("Form");
foreach (HtmlElement currentElement in elements)
{
currentElement.InvokeMember("Login");
}
}
【问题讨论】:
标签: c# winforms datagridview webbrowser-control switch-statement