你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 图形图象处理与游戏编程
利用WPF实现基于MSN协议的五子棋游戏(五)
 

这两个事件需要在装载登录界面时被添加,代码如下:

//  添加登录成功事件

im.messenger.Nameserver.SignedIn += new EventHandler(SignedIn);

//  添加登录失败事件

im.messenger.Nameserver.AuthenticationError +=

    new HandlerExceptionEventHandler(HandlerExceptionEvent);

登录成功后的处理代码如下:

private void SignedIn(object sender, EventArgs e)

{

    //  设置当前成功登录的用户状态为在线

    im.messenger.Owner.Status = PresenceStatus.Online;           

    this.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, (ThreadStart)delegate

    {

        MessageBox.Show("登录成功!", "信息", MessageBoxButton.OK, MessageBoxImage.Information);

        if (main == null)

        {

            this.Hide();

            main = new Main(im);

            //  保存成功登录的MSN帐号

            XElement element = new XElement("config", new XElement("account",

                                           txtAccount.Text));

            element.Save("config.xml");

            //  显示程序的主界面

            main.ShowDialog();

        }

    });

}

    由于dotmsn2.0使用了异步的方式来调用这些事件方法,因此,在事件方法中必须使用BeginInvoke方法来执行访问界面控件的代码,如上面的代码所示。

    处理登录失败的代码如下:

public void HandlerExceptionEvent(object sender, ExceptionEventArgs e)

{

    this.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, (ThreadStart)delegate

    {

        lblStatus.Content = "";

        MessageBox.Show(e.Exception.Message, "错误", MessageBoxButton.OK,

                  MessageBoxImage.Error);

    });

}

  推荐精品文章

·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089