Windows窗体Web浏览器完整历史记录

时间:2012-11-10 20:28:16

标签: winforms datagridview browser browser-history

我只想展示WinForms.Webbrowser的完整历史记录, 我知道如何使用

前进和后退
webBrowser1.Document.Window.History.Go/Back/Forward(1)

我只是想知道如何可视化History对象,例如在DataGridView

DataGridView dgvChronic = new DataGridView();
dgvChronic.DataSource = webBrowser1.Document.Window.History;

但这不起作用:/

我想做这样的事情(伪代码):

foreach (Link lk in webBrowser1.Document.Window.History)
{
    dgvChronic.Rows.Add(lk, "blabla");
}

我的解决方案:

private List<object> chronic = new List<object>();

    private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)
    {
    //Chronic hier erstellen
    if (tsURL.Text != webBrowser1.Url.ToString())
    {
        tsURL.Text = webBrowser1.Url.ToString();
        List<string> website = new List<string>();
        website.Add(DateTime.Now.ToString());
        website.Add(tsURL.Text);
        chronic.Add(website);
    }
    }

然后想象历史:

foreach (List<string> website in chronic)
{
    dgvChronic.Rows.Add(website[0], website[1]);
}

ill mark trippinos答案被接受,因为它几乎相同(我没有测试它,但它看起来也会起作用)

2 个答案:

答案 0 :(得分:0)

DataGridView.DataSource不支持WebBrowser Hisory类型。 您应将每个导航的网址添加到DataTable,并将此表格设置为DataGridView的数据来源。

答案 1 :(得分:0)

它似乎不受支持,但有一个非常简单的解决方法,需要很少的行。 看一下这个帖子: msdn webbrowser thread

希望这有帮助。