0

C# で WebBrowser をプログラミングしていますが、次の問題があります。ボタンをクリックすると、WebBrowser を使用して tabControl1 に新しい tabPage が生成されます。

private void button3_Click(object sender, EventArgs e)
    {
        WebBrowser browser = new WebBrowser();
        browser.Dock = DockStyle.Fill;
        browser.Url = new System.Uri("http://google.com");
        tabControl1.TabPages.Add(new TabPage("Aba "+ (tabControl1.TabCount + 1).ToString()));
        tabControl1.TabPages[tabControl1.TabCount - 1].Controls.Add(browser);

    }

現在アクティブな tabPage に属する Web ブラウザーで進行状況バーを機能させる方法を知る必要があります。次のコードを挿入する方法と場所:

toolStripProgressBar1.Maximum = (int) e.MaximumProgress;
toolStripProgressBar1.Value = (int)e.CurrentProgress;
4

2 に答える 2

2

匿名関数を使用できます。

WebBrowser browser = new WebBrowser();
browser.Dock = DockStyle.Fill;
browser.Url = new System.Uri("http://google.com");
tabControl1.TabPages.Add(new TabPage("Aba " + (tabControl1.TabCount + 1).ToString()));
tabControl1.TabPages[tabControl1.TabCount - 1].Controls.Add(browser);
browser.ProgressChanged += new WebBrowserProgressChangedEventHandler( delegate (object sender, WebBrowserProgressChangedEventArgs events)
    {
        if ((int)events.CurrentProgress > 0)
        {
            toolStripProgressBar1.Maximum = (int)events.MaximumProgress;
            toolStripProgressBar1.Value = (int)events.CurrentProgress;
        }
    });
于 2013-06-07T01:57:30.973 に答える
0

プログレスバーがすべていっぱいになる準備ができていたため、クラッシュに問題があったため、この問題は解決しました。

    private void webBrowser1_ProgressChanged(object sender, WebBrowserProgressChangedEventArgs e)
    {
        if ((int)e.CurrentProgress > 0)
        {
            ProgressBar.Maximum = (int)e.MaximumProgress;
            if (ProgressBar.Maximum == (int)e.MaximumProgress)
                ProgressBar.Value = 0;
            ProgressBar.Value = (int)e.CurrentProgress;                
        }
    }
于 2014-10-23T21:06:38.160 に答える