winform项目——仿QQ即时通讯程序17:互发消息及消息的本地存储

上一篇文章我们实现了会话列表的存储,本篇文章将实现最后的功能:好友间互发消息及本地消息记录的存储。这是CIM项目系列的最后一篇文章,因为实现这个功能之后整个项目基本上就算完成了。

首先,我们需要在Chat聊天窗体中进行用户初始化。

我们双击会话或者好友列表中的panel的时候,弹出Chat聊天窗体,同时利用控件的tag属性将对方账号传了过去。窗体上方有一个现实用户昵称的label需要初始化。

private void Chat_Load(object sender, EventArgs e)
{
//上方的昵称标签
lbl_nickName.Text = Common.majorForm.getNickName(this.Tag.ToString());
//消息记录文件的路径 以账号为唯一标识符
msgFilePath = "record_"+this.Tag.ToString()+".db";
//初始化聊天记录
initChatRecord();
//让输入框获取焦点
tb_content.Focus();
}

这是最终的代码,先不用管其余的代码,后面会用到。

 

其次,我们实现发送按钮的点击事件:

private string msgFilePath;
private void btn_send_Click(object sender, EventArgs e)
{
//1.简单的输入验证
if (tb_content.Text == "")
{
MessageBox.Show("请先输入要发送的内容");
return;
}
if (tb_content.Text.Length > 1000)
{
MessageBox.Show("输入的内容太多啦~");
return;
}
//2.发送消息
string time = DateTime.Now.ToString();
Common.sandMsg(this.Tag.ToString() + Common.splitFlag + tb_content.Text + Common.splitFlag + time);


//3.保存消息记录到文件 路径、昵称、时间、内容
//按行保存
saveChatRecordToFile(msgFilePath, Common.majorForm.lbl_NickN

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值