私はアプリケーションに取り組んでおり、複数のスレッドを作成したいと考えています。各スレッドは を作成する必要があり、これらはWebBrowserすべてメソッドを使用します。WebBrowserwebBrowser_DocumentCompleted
作成された各インスタンスが、すべてのインスタンスで同じメソッドではなく、WebBrowser独自のDocumentCompletedハンドラーを持つにはどうすればよいでしょうか。webBrowser_DocumentCompleted
私は説明する :
場合によっては、単一の Web ブラウザーでの操作
int a = 0;
private void button1_Click(object sender, EventArgs e)
        {
            methode1();
        }
private void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            if (a == 1) methode2(wb);
            if (a == 2) methode2(wb);
        }
public void methode1()
        {
            webBrowser.Navigate("http://www.test.com");
            a = 1;
        }
public void methode2()
        {
            HtmlElement txt1 = webBrowser1.Document.GetElementById("tesxtbox1");
            txt1.SetAttribute("value", "test");
            webBrowser.Document.Forms[0].InvokeMember("submit");
            a = 2;
        }
public void methode3()
        {
            webBrowser.Navigate("http://www.test3.com");
        }
しかし、複数の操作を行いたい場合、つまり butoon1 に次を追加します。
private void button1_Click(object sender, EventArgs e)
        {
            for(int i=0; i<5  ;i++)
            methode1();
        }
それを行うには、いくつかのWebブラウザーが必要だと思うので、解決策は操作ごとにスレッドを作成することです
private void button1_Click(object sender, EventArgs e)
        {
            for(int i=0; i<5  ;i++)
            {
                Thread thread = new Thread(new ThreadStart(methode1));
                thread.Start();
            }   
        }
webBrowser_DocumentCompletedそのため、スレッドによって作成された各 Web ブラウザーには、他の Web ブラウザーの結果と混同しないように、独自のメソッドが必要です。
または、作成されたすべての Web ブラウザーに対して同じメソッドを使用しwebBrowser_DocumentCompletedますが、問題は、どの Web ブラウザーを指定するか、メソッド webBrowser_DocumentCompleted を呼び出す方法です。
前もって感謝します