字符串无法转换为System.Uri

时间:2014-03-23 06:34:47

标签: vb.net

代码:

Imports System
Imports System.IO
Imports System.Text

Public Class Browser
    Dim Tab1Url As String = ""
    Dim Tab2Url As String = ""
    Dim TabNumber As Integer = 1
    Dim DefaultHomePageSavedLocation As String = "C:\ToolBoxData\TinyBrowser\Home.txt"

    Private Sub WebBrowser1_Navigating(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserNavigatingEventArgs) Handles WebBrowser1.Navigating
        Label2.Text = "[BROWSER] Loading in Progress......"
        ProgressBar1.Value = 50
    End Sub

    Private Sub ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem1.Click
        WebBrowser1.GoBack()
        Label2.Text = "[BROWSER] Going to Last History......"
        ProgressBar1.Value = 0
    End Sub

    Private Sub ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem2.Click
        'Next
        WebBrowser1.GoForward()
        Label2.Text = "[BROWSER] Going to Next History......"
        ProgressBar1.Value = 0
    End Sub

    Private Sub HomeToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HomeToolStripMenuItem.Click
        'Home
        Dim HomeLink As String = My.Computer.FileSystem.ReadAllText(DefaultHomePageSavedLocation)
        WebBrowser1.Navigate(HomeLink)
        Label2.Text = "[BROWSER] Going Home......"
        ProgressBar1.Value = 0
    End Sub

    Private Sub ToolStripTextBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripTextBox1.Click
        Label2.Text = "[USER] Inserting / Copying URL......"
    End Sub

    Private Sub GoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GoToolStripMenuItem.Click
        If TabNumber = 1 Then
            Tab1Url = ToolStripTextBox1.Text
            WebBrowser1.Navigate(Tab1Url)
            Button1.Text = ToolStripTextBox1.Text
        ElseIf TabNumber = 2 Then
            Tab2Url = ToolStripTextBox1.Text
            WebBrowser1.Navigate(Tab2Url)
            Button2.Text = ToolStripTextBox1.Text
        End If
        ProgressBar1.Value = 0
    End Sub

    Private Sub ReloadToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ReloadToolStripMenuItem.Click
        WebBrowser1.Refresh()
        Label2.Text = "[BROWSER] Refreshing......"
        ProgressBar1.Value = 0
    End Sub

    Private Sub TinyBrowserV10ByToolBoxWeeblyComToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TinyBrowserV10ByToolBoxWeeblyComToolStripMenuItem.Click
        WebBrowser1.Navigate("http://tool-box.weebly.com/")
        Label2.Text = "[BROWSER] Redirecting to Our Website......"
        ProgressBar1.Value = 0
    End Sub

    Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
        Label2.Text = "[BROWSER] Loading Completed."
        ToolStripTextBox1.Text = WebBrowser1.Url.ToString
        ProgressBar1.Value = 100
    End Sub

    Private Sub ToolStripTextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles ToolStripTextBox1.KeyPress
        If e.KeyChar = Chr(13) Then
            If TabNumber = 1 Then
                Tab1Url = ToolStripTextBox1.Text
                WebBrowser1.Navigate(Tab1Url)
                Button1.Text = ToolStripTextBox1.Text
            ElseIf TabNumber = 2 Then
                Tab2Url = ToolStripTextBox1.Text
                WebBrowser1.Navigate(Tab2Url)
                Button2.Text = ToolStripTextBox1.Text
            End If
            ProgressBar1.Value = 0
        End If
    End Sub

    Private Sub Browser_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress
        If e.KeyChar = Convert.ToChar(Keys.Back) Then
            WebBrowser1.GoBack()
            ProgressBar1.Value = 0
        End If
    End Sub

    Private Sub OptionToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OptionToolStripMenuItem.Click
        Setting.Show()
    End Sub

    Private Sub Browser_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        If My.Computer.FileSystem.FileExists(DefaultHomePageSavedLocation) = False Then
            My.Computer.FileSystem.CreateDirectory("C:\ToolBoxData\TinyBrowser\")
            My.Computer.FileSystem.WriteAllText(DefaultHomePageSavedLocation, "http://hk.yahoo.com", True)
        End If
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If Not TabNumber = 1 Then
            TabNumber = 1
            ChangeTab()
        End If
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        If Not TabNumber = 2 Then
            TabNumber = 2
            ChangeTab()
        End If
    End Sub

    Private Sub ChangeTab()
        If TabNumber = 1 Then
            WebBrowser1.Url = Tab1Url
        ElseIf TabNumber = 2 Then
            WebBrowser1.Url = Tab2Url
        End If
    End Sub
End Class

错误是:

  

“String”类型的值无法转换为“System.Uri”(第121,123行)

有什么问题?

1 个答案:

答案 0 :(得分:5)

我在其他网站找到了解决方案。

解决方案:

第121行:

WebBrowser1.Url = New Uri(Tab1Url)

第123行:

WebBrowser1.Url = New Uri(Tab2Url)

感谢您的帮助!