我正在制作一个需要互联网连接的简单应用程序。但问题是当我启动我的应用程序关闭我的互联网连接时,我得到一个Web异常。
所以我创建了一个新表单并添加/设置该表单作为应用程序的启动形式。
我已经在启动表单的加载中添加了这段代码:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'On form load i'm checking if the computer is connected to internet.
If My.Computer.Network.IsAvailable Then
frmMain.Show() 'shows my application's main form
Me.Hide()
Else
'if no connection then
Dim result = MsgBox("Failed to establish connection!") ' show an error message
If result = DialogResult.OK Then 'if button okay is pressed
Application.Exit() 'exit the application!
End If
End If
End Sub
但问题是它根本没有做任何事情。仍然给我一个异常错误!
我想做的很简单。
1.在启动我的应用程序时,它会检查互联网连接是否正常。
2。如果在检查,互联网连接不工作:给出错误消息,如果工作,继续下一个表格(应用程序的主要形式)
注意:我的应用程序的主要形式使用webclient
方法从网络服务器下载文本文件,即使我使用这个新表单作为启动,我也会收到Web异常错误。我没有在新表单中添加任何代码,只是Form_Load
对此有何帮助?
答案 0 :(得分:2)
Network.IsAvailable只检查本地网络而不是Internet,而是使用此方法。但是,在这个检查和你使用它的那一刻之间,连接仍然可能会断开,因此必须尝试使用try / catch。
Private Declare Function InternetGetConnectedState Lib "wininet.dll" _
(ByRef lpdwFlags As Int32, ByVal dwReserved As Int32) As Boolean
Public Shared Function IsInternetAvailable() As Boolean
Try
Dim flags as Integer
return InternetGetConnectedState(flags, 0)
Catch
return False
End Try
End Function
Private Sub Form1_Load(....)
If Form1.IsInternetAvailable Then
......
但是我不确定您的问题是否是由于缺少Internet连接可用性引起的。您应该在尝试下载文件的位置显示代码,或者至少报告确切的错误消息