vb.net 字符串无法转换为 System.Uri

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/22587820/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-17 17:11:26  来源:igfitidea点击:

String cannot be converted to System.Uri

vb.net

提问by Jamie

Code:

代码:

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

And the error is:

错误是:

Value of type "String" cannot be converted to "System.Uri" (Line 121, 123)

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

What's the problem?

有什么问题?

回答by Jamie

I've found the solution at another website.

我在另一个网站上找到了解决方案。

Solution:

解决方案:

Line 121:

第 121 行:

WebBrowser1.Url = New Uri(Tab1Url)

Line 123:

第 123 行:

WebBrowser1.Url = New Uri(Tab2Url)

Thanks for all your help!

感谢你的帮助!