2017-11-22 2 views
-2

Ich habe ein kleines Problem: So schließen Sie die Anwendung Wenn der Computer nicht über die Internetverbindung verfügt?Wie kann ich das Antragsformular schließen, wenn keine Internetverbindung besteht?

Meine App wird etwas tun, aber zuerst und bevor Sie ihre Arbeit tun müssen, um die Internetverbindung zu überprüfen, wenn es keine Internetverbindung gibt, dann schließen Sie es selbst.

private void Form1_Load(object sender, EventArgs e) 
{ 

    // here is my code that gonna do something. before this check the internet connection. if no connection close your self 

} 
+0

Ist es Ihnen wirklich wichtig, ob es eine Internetverbindung gibt oder nur, dass ein bestimmter Host erreicht werden kann? – itsme86

+1

Versuchen Sie, etwas im Internet zu erreichen, und wenn Sie eine Zeitüberschreitung erhalten, nehmen Sie an, dass Sie keine Verbindung haben. Ich würde die Form übrigens nicht schließen. Geben Sie dem Benutzer lediglich eine Option zum Wiederholen oder Schließen. Ich würde schnell aufhören, Ihre Anwendung zu verwenden, wenn es jedes Mal geschlossen wird, wenn ich einen Internet-Hick-up habe ... – oerkelens

+0

hallo. Meine Anwendung benötigt die Internetverbindung, um ihre Arbeit zu erledigen. also ist es wirklich wichtig. aber ich muss mein Bewerbungsformular schließen, wenn der Computer keine Internetverbindung hat –

Antwort

0

Ich würde System.Net.NetworkInformation.Ping und ping Google.co.uk verwenden. Wenn Sie dann feststellen, ob eine Auszeit vorliegt oder nicht, sollten Sie Ihre Frage klären. Dies wird jedoch nur sagen, wenn der Port aktiv ist, nicht ob Sie Verbindung haben, so kann eine grobe Korrektur folgen Sie diesem Link How do you check if a website is online in C#?

bearbeiten sein: eine weitere Option ist durch: durch Beginnen Sie ein separates Verfahren zu schaffen nach unten, in Ihrem winform Projekt

public static bool CheckNetwork() 
     { 
      if (System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable()) 
      { 
       //Do your stuffs when network available 
       return true; 

      } 
      else 
      { 
       //When network not available, 
       return false; 
      } 
     } 

Dann in Ihrem formloadEvent handler folgenden haben. Diese Aktion wird dann ausgeführt, wenn das Formular geladen wird. Sie können dann festlegen, welche anderen Funktionen Sie basierend auf der separaten Methode ausführen möchten.

private void Form1_Load(object sender, EventArgs e) 
     { 
      if (!CheckNetwork()) 
      { 
       MessageBox.Show("No connection available"); 
       this.Close(); 
      } 
      else 
      { 

       MessageBox.Show("Network connection available"); 
      } 
     } 
+0

vielen Dank. Es war sehr hilfreich. aber ich kann mein Problem immer noch nicht lösen. Ich muss nur meine Anwendung ohne Fehler oder exp beenden. Ich meine, wenn es keine Internetverbindung gibt, erhalten Sie keine Fehler oder exp, schließen Sie es einfach –

+0

Erstellen Sie eine Methode, die Boolean basierend auf Ihrer Verbindung zurückgibt wie 'bool networkUp = System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable() ; 'und wenn false, schließe die Anwendung mit' this.close() '. –

+0

danke dave <3 ich habe es aber ich bin neu in C# ... also kannst du mir erklären wie benutze ich ob methode meine app zu schließen? ich habe System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable jetzt wie verwende ich wenn Methode, um das Ergebnis zu überprüfen, und wenn keine Verbindung meine App schließen? –

Verwandte Themen