html5中文学习网

您的位置: 首页 > 网络编程 > ASP.NET » 正文

在Vs.net中使用MSN即时通讯软件(下)_.NET教程_编程技术

[ ] 已经帮助:人解决问题
接收消息

判断有新消息的方法就是接收的内容是否为“text”类型,代码如下

private void OnTextRecieved(Messenger.IMsgrIMSession s,
Messenger.IMsgrUser u, string header, string text,
ref bool default)
{
if(header.IndexOf("Content-Type: text/plain") != -1 &&
u.FriendlyName != "Hotmail")
{
messageWindow.AppendText(u.FriendlyName + ": " + text + "/r/n");
CurrentUser = u;
default = false;
}
}


发送消息

将你要发送的消息输入到“编辑”框,然后点“发送”按钮,“编辑”框中的内容将由如下代码发送出去:

private static string header =
"MIME-Version: 1.0/r/nContent-Type: text/plain;" +
"charset=UTF-8/r/nX-MMS-IM-Format: " +
"FN=MS%20Shell%20Dlg; EF=; CO=0; CS=0; PF=0/r/n/r/n";

private void send_Click(object sender, System.EventArgs e)
{
CurrentUser.SendText(header, this.sendText.Text,
Messenger.MMSGTYPE.MMSGTYPE_ALL_RESULTS);

messageWindow.AppendText("You say: " + sendText.Text + "/r/n");
}


更新联系人的状态

我在ListView中使用了不同的图标来表示联系人相应的状态。当调用构造函数的时候,联系人的状态被第一次设置。当联系人状态改变的时候则调用OnUserStatusChanged() 事件,更新联系人的状态。

private void OnUserStateChanged(Messenger.IMsgrUser user,
Messenger.MSTATE state, ref bool default)
{
for(int i = 0; i < Users.Count; i++)
{
if(user == Users.Item(i))
{
ListViewItem item = userList.Items[i];
item.ImageIndex = GetStateImage(user.State);
}
}
}


小结

我希望大家会对这篇文章感兴趣,通过这篇文章我们也了解了MSN的一小部分功能。MSN还有很多其他的功能等我们去挖掘。Ok,现在我们知道了创建Vs.net外接程序其实是一件很容易的事情,你可以由此创建出更多富有创造性的外接程序。
5FPHTML5中文学习网 - HTML5先行者学习网
5FPHTML5中文学习网 - HTML5先行者学习网
(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助