各位大虾,俺想不用timer能否实现:
1,网络连接上或者网络异常时能马上监控到;
2.监控到网络连接变动后在系统托盘区出现类似"本地连接"那样自动弹出文本提示框"网络连接已中断"这样的提示?

解决方案 »

  1.   

    不停的PING一个地址,不通的话就弹出对话框,具体怎么PING,可以考虑工作台
      

  2.   

    DotNet提供了判断本地网络连接的判断啊
    Namespace My    ' 以下事件可用于 MyApplication:
        ' 
        ' Startup: 应用程序启动时在创建启动窗体之前引发。
        ' Shutdown: 在关闭所有应用程序窗体后引发。如果应用程序异常终止,则不会引发此事件。
        ' UnhandledException: 在应用程序遇到未处理的异常时引发。
        ' StartupNextInstance: 在启动单实例应用程序且应用程序已处于活动状态时引发。
        ' NetworkAvailabilityChanged: 在连接或断开网络连接时引发。
        Partial Friend Class MyApplication        Private Sub MyApplication_NetworkAvailabilityChanged(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.Devices.NetworkAvailableEventArgs) Handles Me.NetworkAvailabilityChanged
                If e.IsNetworkAvailable Then
                    My.Forms.frmMain.Text = "网络暂时不可用"
                Else
                    My.Forms.frmMain.Text = "Explorer(试用版)"
                End If
            End Sub        Private Sub MyApplication_UnhandledException(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.UnhandledExceptionEventArgs) Handles Me.UnhandledException
                MsgBox(e.Exception.Message , MsgBoxStyle.Critical, "未知错误")
            End Sub
        End ClassEnd Namespace
      

  3.   

    学习,
    Ping 服务器并指定超时
    确定 Ping 方法是否返回 True,同时指定超时间隔(以毫秒为单位)。如果未指定超时,则使用 500 作为默认值。此示例确定 Ping 方法是否返回了 True,由此来报告是否能够 ping 至该服务器,此示例还指定 1000 毫秒的超时间隔。将 www.cohowinery.com 替换为要 ping 的服务器的 IP 地址、URL 或计算机名称。Visual Basic  复制代码 
    If My.Computer.Network.Ping("www.cohowinery.com", 1000) Then
      MsgBox("Server pinged successfully.")
    Else
      MsgBox("Ping request timed out.")
    End If