如果没有互联网连接,如何关闭申请表? [复制]
Posted
技术标签:
【中文标题】如果没有互联网连接,如何关闭申请表? [复制]【英文标题】:How to close the application form if no internet connection? [duplicate] 【发布时间】:2017-11-22 15:34:05 【问题描述】:我有一个小问题:如果计算机没有互联网连接,如何关闭应用程序?
我的应用程序将要执行某些操作,但首先在执行任务之前需要检查 Internet 连接,如果没有 Internet 连接,请自行关闭它。
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
【问题讨论】:
您是否真的关心是否有互联网连接或是否可以访问特定主机? 尝试访问 Internet 上的某些内容,如果超时,则假设您没有连接。顺便说一句,我不会关闭表单。只需给用户一个重试或关闭的选项。如果您的应用程序在每次我遇到网络中断时都关闭,我会很快停止使用... 你好。我的应用程序需要互联网连接才能完成其工作。所以它真的很重要。但如果电脑没有互联网连接,我需要关闭我的申请表 一旦你得到了“这台机器有互联网连接吗?”这个问题的答案,并且之前你可以对它采取任何行动,实际现实可能与您现在推理的答案完全相反。 没有量的预先检查可以确定您是否能够在立即将来的某个时间完成任何特定任务需要互联网。 【参考方案1】:我会使用 System.Net.NetworkInformation.Ping 和 ping Google.co.uk。然后确定是否有超时检查似乎可以解决您的问题。但是,这只会告诉您端口是否处于活动状态,而不是您是否有连接,因此可能是按照此链接进行的粗略修复 How do you check if a website is online in C#?
编辑:
另一种选择是:
首先在您的 winform
项目中创建一个单独的方法,如下所示
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;
然后在您的formload
Event handler
中有以下内容。然后将在加载表单时执行此操作。然后,您可以根据单独的方法拥有您想要执行的其他功能。
private void Form1_Load(object sender, EventArgs e)
if (!CheckNetwork())
MessageBox.Show("No connection available");
this.Close();
else
MessageBox.Show("Network connection available");
【讨论】:
非常感谢。这真的很有帮助。但我仍然无法解决我的问题。我只需要退出我的应用程序而没有任何错误或经验。我的意思是如果没有互联网连接,不要得到任何错误或经验,只需自行关闭它 创建一个方法,该方法将根据您的连接返回布尔值,例如bool networkUp = System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable();
,如果为 false,则通过 this.close()
关闭应用程序。
感谢 dave
为您编辑,有代码示例,如果您有任何问题,请提出,我会尽力回答。以上是关于如果没有互联网连接,如何关闭申请表? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
Swift:没有互联网连接时如何在 webview 中显示错误消息? [复制]
如何在没有互联网连接、没有 eth0 且没有使用 C 的任何硬编码常量的情况下获取我的外部 IP(主接口)[关闭]