0
我得到了一個非常奇怪的問題,發生在我所有的DocumentCompleteEventHandlers中。DocumentCompleteEventHandler在算術級數(C#)中觸發
說我有一個非常簡單的處理程序:
void Download_Complete_Handler(object sender, WebBrowserDocumentCompletedEventArgs e)
{
string link = webBrowser1.Url.ToString();
Regex rgx = new Regex("(^https://mysite.com/)");
if (rgx.IsMatch(link)) // have made it this way so that I don't remove the handler for every page. Pretty handy.
{
string name = choosename(); // my custom function to create new name
string surname = choosesurname(); // my custom function to create new surname
Random rand = new Random();
webBrowser1.Document.GetElementById("id").Focus();
SendKeys.SendWait(name + "." + surname + rand.Next(0, 9999).ToString());
name = "";
surname = "";
}
}
我呼籲在下面的函數該處理器被稱爲按鈕點擊:
void myfunction()
{
try
{
webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(Download_Complete_Handler);
webBrowser1.Navigate("mysite.com");
}
catch(Exception ex)
{
log(ex);// my custom log function
}
}
現在,當我第一次啓動該程序,然後點擊按鈕來觸發處理程序,所有工作都可以正常運行:一旦頁面加載完畢,Web瀏覽器就會被導航 - 所需的字段被填充。現在,讓我們再次點擊同一個按鈕,以便所有進程都可以全部開始再次。這次該處理程序被調用兩次:一旦加載頁面,該字段被填充兩次。第三次點擊將觸發處理程序三次,等等。
你知道我在做什麼錯嗎?
啊,哎呀。謝謝。在完成所有工作之後,我在處理程序內添加了' - ='行,以便在事後刪除它。現在可以工作了。 –