1

フォーム(winform)のボタンをクリックしたときにWebページ(google)を表示したい...

以下のコードを試しましたが、うまくいきません。

   public partial class Form1 : Form {
    bool mHooked;
    public Form1() {
        InitializeComponent();
        webBrowser1.DocumentCompleted += webBrowser1_DocumentCompleted;
        webBrowser1.Navigate("http://www.google.com");
    }

    void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) {
        if (mHooked) return;
        // Get the form
        HtmlDocument doc = webBrowser1.Document;
        HtmlElement form = doc.Forms["f"];
        // Get the "I'm feeling lucky" button
        HtmlElement lucky = form.All["btnI"];
        lucky.Click += lucky_Click;
        mHooked = true;
    }
    void lucky_Click(object sender, EventArgs e) {
        this.Close();
    }
}

私はc#を使用してwinformsアプリケーションを実行しています

誰かがこれを手伝ってくれるだろうか.....

よろしくお願いします...

4

3 に答える 3

4

最初にフォームにボタンを追加し、Clickイベントハンドラーでこれを行います

private void button1_Click(object sender, EventArgs e)
{           
   //remove this from the constructor else it will be loaded along with the form
    webBrowser1.Navigate("http://www.google.com");
}
于 2011-09-14T10:47:31.997 に答える
4
public partial class Form1 : Form

{

    bool mHooked;

    public Form1()

    {
        InitializeComponent();
        webBrowser1.DocumentCompleted += webBrowser1_DocumentCompleted;
        //webBrowser1.Navigate("http://www.google.com"); 
    }

    private void button1_Click(object sender, EventArgs e)
    {
        webBrowser1.Navigate("http://www.google.com"); 
    }
    void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
    {
        if (mHooked) return;   
        // Get the form 
        HtmlDocument doc = webBrowser1.Document; 
        HtmlElement form = doc.Forms["f"];    
        // Get the "I'm feeling lucky" button 
        HtmlElement lucky = form.All["btnI"];
        lucky.Click += button1_Click;   
        mHooked = true;   
    } 
}
于 2011-09-14T10:50:57.173 に答える
0

ボタンのクリックで追加:

ProcessStartInfo sInfo = new ProcessStartInfo("http://mysite.com/");  
Process.Start(sInfo);

(また)

System.Diagnostics.Process.StartProcessStartInfo sInfo = new ProcessStartInfo("http://mysite.com/");
Process.Start(sInfo);

Webスクレイピング技術を使用して特定のWebサイトからデータを抽出したり、WinForm自体でWebサイトを開いたりする場合は、Webブラウザーコントロールを使用して、ShaliniPavanまたはV4Vendettaが提供する回答のいずれかを試してください。

于 2011-09-14T12:13:06.337 に答える