watIn - 在winform中使用计时器

时间:2012-10-21 20:23:13

标签: c# multithreading timer watin

即时通讯使用WatiN for app im work。在应用程序中我有一个网站列表:List<string> sites;

我得到了一个计时器,每隔几秒运行一次,以加载和发送数据或从当前站点获取数据。

当我尝试运行此代码时,没有任何事情发生,甚至不是Exception。我不明白为什么。

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方法,并将数据发送到网站或只是从他那里获取数据。

我不知道怎么做,因为我必须使用Thread在WebBrowswer控件中运行WatiN。

(对不起我的英文)

1 个答案:

答案 0 :(得分:0)

我认为你没有设置计时器。快点?!?

timer = new System.Windows.Forms.Timer();
timer.Tick += new EventHandler(this.timer_tick);
timer.Start();