0

C#でCookieファイルを読み取るためのこの関数があります:

private void getdocument()
{
 while (true)
 {
 MessageBox.Show(webBrowser1.Document.Cookie);
 }
}

私は次のように呼び出しています:

private void Form1_Load(object sender, EventArgs e)
{
 Thread MyThread = new Thread(new ThreadStart(getdocument));
 MyThread.Start();
}

しかし、私はエラーが発生しています:

System.InvalidCastException が処理されませんでした

指定されたキャストは無効です。

これを修正する方法は?

4

1 に答える 1

0

ここに画像の説明を入力

ご覧のとおり、オブジェクト階層構造WebBrowserは から継承されSystem.Windows.Forms.Controlているため、作成されたスレッドから取得する必要があります。

修理 :

private void getdocument()
{
    while (true)
    {

        this.Invoke((MethodInvoker) delegate
            {
                MessageBox.Show(webBrowser1.Document.Cookie);
            });
    }
}
于 2013-05-05T08:16:34.020 に答える