0

作業中のアプリにWatiNを使用しています。アプリで私はサイトのリストを取得しました:List<string> sites;

そして、データをロードして送信したり、現在のサイトからデータを取得したりするために、数秒ごとに実行されるタイマーを取得しました。

このコードを実行しようとしても、例外も発生しませんでした。理由がわかりません。

private void watiNMethod()
    {
        Settings.AutoStartDialogWatcher = false;

                Settings.AutoStartDialogWatcher = false;
                ie = new IE(webBrowser1.ActiveXInstance);

                ie.GoTo(sites[runing]);
                ie.WaitForComplete();
                MessageBox.Show("done loading");
    }

    int runing;
    Thread watInThread;
    private void button1_Click(object sender, EventArgs e)
    {
        timer = new System.Windows.Forms.Timer();

        timer.Start();

        watInThread = new Thread(watiNMethod);
        watInThread.SetApartmentState(ApartmentState.STA);

        runing = 0;

    }

    private void timer_tick(object sender, EventArgs e)
    {

        if (runing <= sites.Count)
        {
            watInThread.Start();
        }
        else
        {
            timer.Stop();
        }

        runing++;
    }

Webブラウザーのコントロールにロードして、彼がWatiNメソッドを完了するのを待って、サイトにデータを送信するか、彼からデータを取得できるようにしたいです。

コントロール内でWatiNを実行するには、スレッドを使用する必要があるため、これをどのように行うかわかりませんWebBrowswer

(私の英語でごめんなさい)

4

1 に答える 1

0

timer.Tick?!? を設定しているとは思えません。

timer = new System.Windows.Forms.Timer();
timer.Tick += new EventHandler(this.timer_tick);
timer.Start();
于 2012-10-26T08:56:30.157 に答える