0

進行中のアクションを作成する方法 WebBrowserDocumentCompleted は別のスレッドで機能しました。そのため、メイン フォームには影響しません (アプリケーション全体がハングすることはありません)。

フォーム1

private void bStart_Click(object sender, EventArgs e)
        {
            wb.Navigate("http://www.moswar.ru");
        }

フォーム2

    public void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
            {
                wb = sender as WebBrowser;
                ThreadPool.QueueUserWorkItem(new WaitCallback((object unused) =>

                    {

                        if (wb.Document.GetElementById("login-email") != null)
                        {
                            wb.Document.GetElementById("login-email").InnerText = "myemail@blah.pe";
                            wb.Document.GetElementById("login-password").InnerText = "MyPassword";
                           GetElementsByClassName(new string[] { "button luxury" })[0].InvokeMember("click");
                        }


                if (e.Url.AbsoluteUri == "http://www.moswar.ru/player/" || e.Url.AbsoluteUri == "http://www.moswar.ru/player/#login")
                {
                    wb.Navigate("http://www.moswar.ru/metro/");
                }
                    }));
            //and so on .....
            }
4

1 に答える 1

0
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
  ThreadPool.QueueUserWorkItem(delegate
  {
    MessageBox.Show("hi");
  }
}
于 2013-02-23T09:00:51.357 に答える