簡體   English   中英

從字符串“ 0-1”到類型“ Double”的轉換無效:VB.net

[英]Conversion from string “0-1” to type 'Double' is not valid error : VB.net

我試圖創建一個Web瀏覽器是Visual Studio 2013,但我不斷收到錯誤消息:

An exception of type 'System.InvalidCastException' occurred in Microsoft.VisualBasic.dll but was not handled in user code

Additional information: Conversion from string "0-1" to type 'Double' is not valid.

當我運行程序時。

我添加進度條后發生錯誤。

我的代碼:

Public Class Form1
Dim MyTemp As String = My.Settings.homepage

Private Sub ExitToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ExitToolStripMenuItem.Click
    Me.Close()
End Sub

Private Sub AboutToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AboutToolStripMenuItem.Click
    MsgBox("Created by Lachlan Johnson" & vbCrLf & "                    (2016)", 0, "About")
End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    WebBrowser1.Navigate(TextBox1.Text)
End Sub

Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
    If e.KeyChar = Microsoft.VisualBasic.ChrW(Keys.Return) Then
        WebBrowser1.Navigate(TextBox1.Text)
        e.Handled = True
    End If
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    WebBrowser1.Navigate("https://www.google.com.au/webhp#q=" + TextBox2.Text)
End Sub
Private Sub TextBox2_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox2.KeyPress
    If e.KeyChar = Microsoft.VisualBasic.ChrW(Keys.Return) Then
        WebBrowser1.Navigate("https://www.google.com.au/webhp#q=" + TextBox2.Text)
        e.Handled = True
    End If
End Sub

Private Sub WebBrowser1_Navigating(sender As Object, e As WebBrowserNavigatingEventArgs) Handles WebBrowser1.Navigating
    ToolStripStatusLabel1.Text = "Loading..."
End Sub

Private Sub WebBrowser1_Navigated(sender As Object, e As WebBrowserNavigatedEventArgs) Handles WebBrowser1.Navigated
    ToolStripStatusLabel1.Text = "Complete"
End Sub

Private Sub SetAsHomepageToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles SetAsHomepageToolStripMenuItem.Click
    My.Settings.homepage = WebBrowser1.Url.ToString
    My.Settings.Save()
End Sub

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    WebBrowser1.Navigate(MyTemp)
End Sub

Private Sub WebBrowser1_ProgressChanged(sender As Object, e As WebBrowserProgressChangedEventArgs) Handles WebBrowser1.ProgressChanged
    If Int(e.MaximumProgress > 0 & e.CurrentProgress > 0) Then
        ToolStripProgressBar1.ProgressBar.Value = e.CurrentProgress * 100 / e.MaximumProgress
    End If
End Sub
End Class

我添加此后發生錯誤:

Private Sub WebBrowser1_ProgressChanged(sender As Object, e As WebBrowserProgressChangedEventArgs) Handles WebBrowser1.ProgressChanged
    If Int(e.MaximumProgress > 0 & e.CurrentProgress > 0) Then
        ToolStripProgressBar1.ProgressBar.Value = e.CurrentProgress * 100 / e.MaximumProgress
    End If
End Sub

我似乎找不到問題,

任何幫助是極大的贊賞。

拉克蘭

問題是您在這里使用字符串連接運算符:

If Int(e.MaximumProgress > 0 & e.CurrentProgress > 0) Then

應該是:

If e.MaximumProgress > 0.0 AndAlso e.CurrentProgress > 0.0 Then

這個

Int(e.MaximumProgress > 0 & e.CurrentProgress > 0)

是否將MaximumProgressCurrentProgress進行字符串連接。 如果CurrentProgress-1 (表示完成)並且MaximumProgress為0(表示要傳輸的字節總數為0),則e.MaximumProgress > 0 & e.CurrentProgress > 0將導致字符串“ 0-1”。 然后, Int()函數將其參數“ 0-1”轉換為雙精度,以便可以截斷小數部分並僅返回整數部分。 問題是,“ 0-1”不是有效的雙精度數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM