我只想展示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答案被接受,因为它几乎相同(我没有测试它,但它看起来也会起作用)
答案 0 :(得分:0)
DataGridView.DataSource
不支持WebBrowser
Hisory
类型。
您应将每个导航的网址添加到DataTable
,并将此表格设置为DataGridView
的数据来源。
答案 1 :(得分:0)
它似乎不受支持,但有一个非常简单的解决方法,需要很少的行。 看一下这个帖子: msdn webbrowser thread
希望这有帮助。