快速浏览Silverlight3 Beta:在线与离线状态检测

快速浏览Silverlight3 Beta:在线与离线状态检测,第1张

概述      在Silverlight3中提供了NetworkChange,NetworkInterface这两个类(均为abstract型), 其中实现了NetworkAddressChanged的事件处理器用来检测当前在线状态,而NetworkInterface 类的 GetIsNetworkAvailable()方法(返回bool类型),用来判断当前是否在线。有了这两个类, 就可以很方便的实现

      在Silverlight3中提供了NetworkChangeNetworkInterface这两个类(均为abstract型),
其中实现了NetworkAddressChanged的事件处理器用来检测当前在线状态,而NetworkInterface
类的 GetIsNetworkAvailable()方法(返回bool类型),用来判断当前是否在线。有了这两个类,
就可以很方便的实现动态检测当前应用是否连线了。

     下面就是我写的一个DEMO,用于演示如何使用这两个方法,其中的XAML代码如下:

< UserControl  x:Class ="Off_Online.MainPage"
    xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
    xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"  
    WIDth
="400"  Height ="300" >
    
< GrID  x:name ="LayoutRoot"  Background ="White" >
        
< GrID.RowDeFinitions >
            
< RowDeFinition  Height ="150"   />
            
< RowDeFinition  Height ="150"   />
        
</ GrID.RowDeFinitions >
        
< Image  WIDth ="100"  Height ="100"  x:name ="StateIcon"   GrID.Row ="0"  HorizontalAlignment ="Center"   />
        
< TextBlock  name ="NetWorkState"  Foreground ="Red"  FontSize ="20"  GrID.Row ="1"  FontWeight ="Bold"   HorizontalAlignment ="Center"   > 当前状态未知 </ TextBlock >
    
</ GrID >
</ UserControl >

 


    而相应的CS代码如下:   

 

using  System.Net.networkinformation;

namespace  Off_Online
{
    
public   partial   class  MainPage : UserControl
    {
        
public  MainPage()
        {
            InitializeComponent();
            
this .Loaded  +=   new  RoutedEventHandler(MainPage_Loaded);
        }

        
voID  MainPage_Loaded( object  sender, RoutedEventArgs e)
        {
            NetworkChange.NetworkAddressChanged 
+=  OnNetworkAddressChanged;

            UpdateNetWorkState();
        }

        
voID  UpdateNetWorkState()
        {
            
string  state  =  NetworkInterface.GetIsNetworkAvailable()  ?   " Online "  :  " Offline " ;
            StateIcon.source 
=   new  System.windows.Media.Imaging.BitmAPImage( new  Uri( " /Images/ "   +  state  +   " .jpg " , UriKind.relative));
            NetWorkState.Text 
=  NetworkInterface.GetIsNetworkAvailable()  ?   " 在线 "  :  " 离线 " ;
        }
       
        
voID  OnNetworkAddressChanged( object  sender, EventArgs e)
        {
             UpdateNetWorkState();
        }
    }
}


    下面就是其运行效果,首先是在线状态:


   


    
    然后拔掉网线,就会显示离线状态了:


    


    
    
    好了,今天的内容就先到这里了,源码下载,请点击这里:)
    
    
    原文链接:http://www.cnblogs.com/daizhj/archive/2009/05/05/1450061.html

    作者: daizhj,代震军

    Tags: silverlight,offline,online
   
    网址:
http://daizhj.cnblogs.com/

总结

以上是内存溢出为你收集整理的快速浏览Silverlight3 Beta:在线与离线状态检测全部内容,希望文章能够帮你解决快速浏览Silverlight3 Beta:在线与离线状态检测所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1050780.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存