【问题标题】:How to show address bar in WebBrowser control如何在 WebBrowser 控件中显示地址栏
【发布时间】:2009-12-17 18:44:44
【问题描述】:

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

【问题讨论】:

    标签: c# .net webbrowser-control


    【解决方案1】:

    我可能弄错了,但我不相信 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();
        }
    }
    

    编辑:我的表单有一个名为 textBox1 的 TextBox、一个名为 button1 的 Button 和一个名为 webBrowser1 的 WebBrowserControl

    【讨论】:

    • 太棒了,很高兴我能帮上忙。如果您的问题得到解决,请不要忘记选择答案。
    • 我也在寻找一个关于如何添加状态栏并为网络浏览器控件显示相同的选项,对此有任何想法。
    【解决方案2】:

    你可以制作一个文本框,然后用我认为的站点属性填充它

    【讨论】:

    • 谢谢,请。给我更多的想法..可能是关于如何处理的示例代码。
    【解决方案3】:

    将文本框拖放到表单中。 使用 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(); 
        } 
    

    【讨论】:

    • 我知道它是可翻译的,但 OP 要求使用 C#。
    • 谢谢 JonH,看起来很有帮助。
    猜你喜欢
    • 1970-01-01
    • 2021-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-13
    相关资源
    最近更新 更多