0

我只想展示 a 的完整历史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]);
}

生病标记trippinos答案为接受,因为它几乎相同(我还没有测试过,但它看起来也可以工作)

4

2 回答 2

0

它似乎不受支持,但有一个非常简单的解决方法,只需要几行代码。看看这个线程: msdn webbrowser thread

希望这可以帮助。

于 2012-11-19T15:50:38.253 回答
0

DataGridView.DataSource不支持WebBrowser Hisory类型。您应该将每个导航 URL 添加到 aDataTable并将此表设置为DataGridView.

于 2012-11-11T12:48:44.517 回答