Как показать адресную строку в элементе управления WebBrowser - PullRequest
5 голосов
/ 17 декабря 2009

Как отобразить адресную строку в элементе управления WebBrowser в форме Windows?

Ответы [ 3 ]

7 голосов
/ 17 декабря 2009

Я могу ошибаться, но я не верю, что WebBrowserControl включает в себя адресную строку, панель инструментов и т. Д. Я считаю, что вам придется создать свою собственную адресную строку. Вы можете использовать события Navigated или Navigating, чтобы определить, когда изменяется URL-адрес, и обновить текстовое поле.

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

0 голосов
/ 17 декабря 2009

Перетащите текстовое поле в форму. Используйте метод 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(); 
    } 
0 голосов
/ 17 декабря 2009

Вы можете создать текстовое поле, а затем заполнить его свойством сайта, я думаю

...