C# 由于某些原因,它不执行timer2_tick功能

C# 由于某些原因,它不执行timer2_tick功能,c#,timer,C#,Timer,当点击按钮时,程序应该调用启动计时器1,计时器1的长度为17秒。然后在timer1中,它应该启动timer2,它有8秒长。由于某些原因,它不执行timer2_tick功能 private void timer1_Tick(object sender, EventArgs e) { string[] ProxList = File.ReadAllLines("C:\\Prox.txt"); string[] s = new string[4];

当点击按钮时,程序应该调用启动计时器1,计时器1的长度为17秒。然后在timer1中,它应该启动timer2,它有8秒长。由于某些原因,它不执行timer2_tick功能

private void timer1_Tick(object sender, EventArgs e)
    {
        string[] ProxList = File.ReadAllLines("C:\\Prox.txt");

        string[] s = new string[4];            
        WinInetInterop.SetConnectionProxy(ProxList[p]);

        if (p > 3273)
            p = 0;

        s[0] = textBox1.Text;
        s[1] = textBox2.Text;
        s[2] = textBox3.Text;
        s[3] = textBox4.Text;

        try
        {
            webBrowser1.Navigate(s[txtBxNum]);

            timer2.Start();

            label1.Text = "Current Link: " + s[txtBxNum].ToString();
            label2.Text = "Current IP: " + ProxList[p].ToString();

            txtBxNum++;

            if (txtBxNum > 3)
                txtBxNum = 0;
        }
        catch { }

        p++;
    }

    private void timer2_Tick(object sender, EventArgs e)
    {
        webBrowser1.DocumentCompleted += webBrowser1_DocumentCompleted;
    }

    void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        try
        {
            webBrowser1.Document.GetElementById("skip_ad_button").InvokeMember("click");
        }
        catch { }
    }

也许你应该删除那些
catch{}
-块,看看你的代码是否真的有效。你的文档可能是在附加事件处理程序之前加载的。我在catch块中放置了一个异常,在这一行
webBrowser1.document.GetElementById(“跳过ad_按钮”).InvokeMember(“单击”)表示System.NullReferenceException:对象未设置为对象的实例。我有一个问题,当调用timer2_勾选时,它是否执行此
webBrowser1.DocumentCompleted+=webBrowser1_DocumentCompleted一次或直到计时器完成?您确定您的
timer2\u Tick
方法达到了预期效果吗?(连接事件处理程序而不是调用它)。如果文档在此计时器点击之前完成,则此操作不起任何作用。