0

我试图在等待几秒钟后按顺序在我的应用程序中打开多个 URL。但是我在运行我的项目时遇到了异常。我将我的代码也放在这里,请让我知道我做错了什么以及实现此要求的最佳方法是什么。如果您需要有关我的项目配置的任何其他信息,请告诉我。

异常: WebKitBrowser.dll 中发生“System.NotImplementedException”类型的
第一次机会异常 System.dll 中发生“System.UriFormatException”类型的
第一次机会异常 WebKitBrowser.dll 中发生“System.InvalidCastException”类型的第一次机会异常
WebKitBrowser.dll 中出现“System.InvalidCastException”类型的
第一次机会异常 WebKitBrowser.dll 中出现“System.InvalidCastException”类型的第一次机会异常
线程 0x3b8c 已退出,代码为 259 (0x103)。
线程 0xf04 已退出,代码为 259 (0x103)。
程序“[0x2F30] WebKitProject.vshost.exe:程序跟踪”已退出,代码为 0 (0x0)。
程序“[0x2F30] WebKitProject.vshost.exe”已退出,代码为 0 (0x0)。

程序:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading;
    using System.Windows.Forms;
    using WebKit.Interop;

    namespace WebKitProject
    {
        public partial class Form1 : Form
        {                
            private string[] urls = new string[] { "http://www.google.com", "http://www.whatsmyip.org", "http://www.bling.com", "http://www.facebook.com" };
            int urlPointer = 0;


            public Form1()
            {
                InitializeComponent();            
            }

            private void Form1_Load(object sender, EventArgs e)
            {
               openBrowser(sender, e);           
            }

            private void openBrowser(object sender, EventArgs e)
            {
                if (urlPointer < urls.Length)
                {
                    String urlStr = urls[urlPointer];
                    urlPointer++;

                    this.webKitBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webKitBrowser1_Completed);
                    webKitBrowser1.Navigate(urlStr);
                }       
            }

            void webKitBrowser1_Completed(object sender, WebBrowserDocumentCompletedEventArgs e)
            {
                System.Timers.Timer timer = new System.Timers.Timer(5000);
                timer.Elapsed += new System.Timers.ElapsedEventHandler(openBrowser);
                timer.Start();
            }
        }
    }
4

0 回答 0