我的程序中有兩個按鈕,我希望當我按下第一個按鈕時,第二個按鈕會自動點擊(在第一個按鈕的事件處理程序中,我想通過編碼按下第二個按鈕)。如何通過編碼點擊按鈕?
private void button1_Click(object sender, EventArgs e)
{
passWord = pwd.Text;
user = uName.Text;
loginbackend obj = new loginbackend();
bool isValid = obj.IsValidateCredentials(user, passWord, domain);
if (isValid)
{
loginbackend login = new loginbackend();
passWord = pwd.Text;
login.SaveUserPass(passWord);
HtmlDocument webDoc = this.webBrowser1.Document;
HtmlElement username = webDoc.GetElementById("__login_name");
HtmlElement password = webDoc.GetElementById("__login_password");
username.SetAttribute("value", user);
password.SetAttribute("value", passWord);
HtmlElementCollection inputTags = webDoc.GetElementsByTagName("input");
foreach (HtmlElement hElement in inputTags)
{
string typeTag = hElement.GetAttribute("type");
string typeAttri = hElement.GetAttribute("value");
if (typeTag.Equals("submit") && typeAttri.Equals("Login"))
{
hElement.InvokeMember("click");
break;
}
}
button3_Click(sender, e);
label1.Visible = false ;
label3.Visible = false;
uName.Visible = false;
pwd.Visible = false;
button1.Visible = false;
button2.Visible = true;
}
else
{
MessageBox.Show("Invalid Username or Password");
}
}
private void button3_Click(object sender, EventArgs e)
{
HtmlDocument webDoc1 = this.webBrowser1.Document;
HtmlElementCollection aTags = webDoc1.GetElementsByTagName("a");
foreach (HtmlElement link in aTags)
{
if (link.InnerText.Equals("Show Assigned"))
{
link.InvokeMember("click");
break;
}
}
}
手動增加按鈕(或任何控件)單擊事件的可能重複。 C#(http://stackoverflow.com/questions/817343/raise-button-or-any-control-click-event-manually-c)。還讀了第二高的投票答案,這是我會走的路(即不模擬點擊,而是將功能移到單獨的方法)。 – 2011-04-04 14:30:29
點擊第一個按鈕憑證被填充,一個登錄按鈕被按下,其次我想要在網站的新頁面中有一個鏈接,我想按。按下它,我發現只有一種方法是將代碼放入第二個按鈕並在第一個按鈕中調用它,但這不起作用 – Prachur 2011-04-04 14:48:32