在我的WebBrowser上我当然有一个地址栏,但我只能在地址栏中搜索网址,比如“facebook.com”等等。我希望我的地址字段能像搜索引擎一样工作,所以当我输入像www.facebook.com时,我会去facebook.com,当我搜索像facebook,没有www或.com或者我想要的东西如果您知道我的意思,地址栏会将我重定向到https://www.google.se/?gws_rd=ssl#q=facebook。
答案 0 :(得分:0)
也许这不是最好的方式,但它有效。
您唯一需要做的就是向阵列添加更多内容以使其更加完美。"因为有更多可能的网址结尾和启动"
Dim CheckArrStart()
Dim CheckArrEnd()
我会创建一个函数检查以检查在地址栏中输入的URL 私有函数CheckWebPageLink(ByVal Link As String)作为布尔值
在这个函数中,我会为每个循环使用2来检查url结尾的开始。
如果我找到一个开始我会+ 1我的确定昏暗" Dim Ok As Integer = 0"并将其从弦中移除
然后转到每个循环的下一个,找到一个url结尾
所以,如果找到一个结束+ 1我的确定昏暗,并从字符串中删除结束。
我这样做是因为我想检查字符串到底有多长,因为www之间必须有一些东西。和.com
然后在我的功能结束时,检查我的ok dim值是否为2以及没有开始和结束的链接有多长。
如果为true,则返回true布尔值;如果为false,则返回false布尔值。
然后在我的导航按钮中,我做一个if语句结束检查来自我的函数的booblean是否真的假。"如果CheckWebPageLink(ToolStripTextBox1.Text.ToLower)= True那么"
如果为true,则只导航到url,如果为false:
WebBrowser1.Navigate(" https://www.google.com/?gws_rd=ssl#q="& ToolStripTextBox1.Text)
就像我已经说过你需要修复的阵列一样,我只是添加了一些来测试。
Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click
If CheckWebPageLink(ToolStripTextBox1.Text.ToLower) = True Then
WebBrowser1.Navigate(ToolStripTextBox1.Text)
Else
WebBrowser1.Navigate("https://www.google.com/?gws_rd=ssl#q=" & ToolStripTextBox1.Text)
End If
End Sub
Private Function CheckWebPageLink(ByVal Link As String) As Boolean
Dim CheckArrStart() As String = ({"http://www.", "https://www.", "www."})
Dim CheckArrEnd() As String = ({".se", ".nl", ".com", ".cu", ".tk"})
Dim Ok As Integer = 0
For Each LinkStart As String In CheckArrStart
If Link.Contains(LinkStart) Then
Link = Replace(Link, LinkStart, "")
Ok = Ok + 1
For Each LinkEnd As String In CheckArrEnd
If Link.Contains(LinkEnd) Then
Link = Replace(Link, LinkEnd, "")
Ok = Ok + 1
Exit For
End If
Next
Exit For
End If
Next
If Ok = 2 And Link.Count > 2 Then
Return True
Else
Return False
End If
End Function
答案 1 :(得分:0)
您可以尝试使用此功能::
Private Function CheckURL(ByVal UrlText As String)
Dim URL As New Uri(UrlText)
Dim Req As System.Net.WebRequest
Req = System.Net.WebRequest.Create(URL)
Dim Resp As System.Net.WebResponse
Try
Resp = Req.GetResponse()
Resp.Close()
Req = Nothing
Return True
Catch ex As Exception
Req = Nothing
Return False
End Try
End Function