如何在WebBrowser控件中显示地址栏

时间:2009-12-17 18:44:45

标签: c# .net webbrowser-control

如何在Windows窗体中显示WebBrowser控件中的地址栏?

3 个答案:

答案 0 :(得分:7)

我可能会弄错,但我不相信WebBrowserControl包含地址栏,工具栏等。我相信你必须创建自己的地址栏。您可以使用NavigatedNavigating事件来确定网址何时更改并更新文本框。

private void button1_Click(object sender, EventArgs e)
{
    if (!string.IsNullOrEmpty(textBox1.Text))
    {
        webBrowser1.Navigate(textBox1.Text);
    }
}

private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)
{
    if (textBox1.Text != e.Url.ToString())
    {
        textBox1.Text = e.Url.ToString();
    }
}

修改:我的表单有TextBox名为textBox1,Button名为button1,WebBrowserControl名为webBrowser1

答案 1 :(得分:0)

你可以创建一个文本框,然后用我认为

的网站属性填充它

答案 2 :(得分:0)

将文本框拖放到表单中。 使用URL.ToString方法将文本框.text值设置为该url字符串:

Dim strURL As String
        strURL = ""

        If Me.TextBox1.Text.Length = 0 Then
            Me.TextBox1.Focus()
            Me.TextBox1.BackColor = Color.Red
        Else
            If InStr(Me.TextBox1.Text, "http://") = 0 Then
                strURL = "http://" & Me.TextBox1.Text.ToString()
            Else
                strURL = Me.TextBox1.Text.ToString()
            End If
            Me.WebBrowser1.Navigate(New System.Uri(strURL))
            Me.TextBox1.Text = Me.WebBrowser1.Url.ToString()
        End If

这是C#:

string strURL = null; 
    strURL = ""; 

    if (this.TextBox1.Text.Length == 0) { 
        this.TextBox1.Focus(); 
        this.TextBox1.BackColor = Color.Red; 
    } 
    else { 
        if (Strings.InStr(this.TextBox1.Text, "http://") == 0) { 
            strURL = "http://" + this.TextBox1.Text.ToString(); 
        } 
        else { 
            strURL = this.TextBox1.Text.ToString(); 
        } 
        this.WebBrowser1.Navigate(new System.Uri(strURL)); 
        this.TextBox1.Text = this.WebBrowser1.Url.ToString(); 
    }