0

の完全な履歴を表示したいだけです。WinForms.Webbrowser前後に移動する方法を知っています。

webBrowser1.Document.Window.History.Go/Back/Forward(1)

たとえば、DataGridViewでHistoryオブジェクトを視覚化する方法を知りたいだけです。

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回答はほぼ同じであるため、受け入れられました(テストはしていませんが、機能するようです)

4

2 に答える 2

0

DataGridView.DataSourceタイプはサポートしていませんWebBrowser Hisory。ナビゲートされた各URLをに追加し、DataTableこのテーブルをのデータソースに設定する必要がありDataGridViewます。

于 2012-11-11T12:48:44.517 に答える
0

サポートされていないようですが、数行を必要とする非常に簡単な回避策があります。このスレッドを見てください: msdnwebbrowserスレッド

お役に立てれば。

于 2012-11-19T15:50:38.253 に答える