本项目的编译环境如下: Windows 10 操作系统 Visual Studio 2017 C#.NET framework 4.6.1 框架 ****************************************** 本项目只是一个客户端程序,服务器端可以尝试自己维护(看代码就大概知道服务器干什么的了) .exe文件可以直接打开 .msi文件可以安装到本地 ***************************************** 登录功能: 登录窗体需要在两个TextBox里输入账号密码,在点击“登录”时,程序将连接服务器端,发送相应的登录指令。 如果登录成功,连接断开,此窗体将隐藏,并打开主窗体,账号会作为username传递给主窗体。 如果连接失败或者账号密码错误,将弹出相应的提示信息。 查询功能: 控制区最上方为查询功能区,可以添加好友并查询好友是否在线,输入正确的账号,点击“查询”就会在好友列表中加入被查询的好友。 在本地文件“Friends.txt”中也会插入一条记录,并且连接服务器端,发送查询命令,结果将会显示在好友列表中。输入错误的账户会有相应提示。 注销功能: 点击“注销”按钮后,程序就会连接服务器端,向服务器发送下线指令,当收到正确回复时,主窗体和登录窗体也会关闭。下线错误将会弹出相应信息。 当点击主窗体的关闭按钮时,也会执行注销功能。 添加群组功能: 在主窗体中点击“添加群组”按钮,将会弹出添加群组窗体。 在添加群组的窗体中可以输入群名,在“群聊成员”中输入相应的账号,点击“添加”就会执行查询功能,并且在下方的Panel控件中显示其信息。 当然,用户是默认在群聊成员中的,当群聊成员不少于2人时,可以点击“创建”,将群组添加入群组列表中。 并在本地文件"Groups.txt"里插入一条记录,记录群名。也会创建一个“群名\_G.txt”文件,记录群成员信息。 显示列表功能: 在主窗体中点击“好友”或者“群组”,就会读取本地文件里的好友或者群组信息,在下方显示好友列表或者群组列表。 好友列表的信息有好友账号和其状态,群组列表的信息有群组名称和群组人数。 每点击一次列表信息就会更新,添加好友或者添加群组就会自动更新。 点击聊天功能: 当点击好友或者群组列表中的成员时,清空聊天区的richtextbox里的内容。 读取“账号\_LTJL.txt”或者“群名\_LTJL.txt”里的聊天记录,并在旁边的窗口显示(若没有,就创建)。 点击之后,聊天区的按钮变成可以点击状态。 发送信息: 在下方的输入框中编辑需要发送的文本信息,点击“发送”按钮,可以将输入框的信息发送给好友。 发送时会查询对方状态,在线可以发送,不在线无法发送,发送失败会有提示。 也可以通过快捷键“Ctrl+Enter”进行发送。发送成功后会写入聊天记录。 文件传输功能: 点击“文件”可以打开选取文件的dialog,选取文件,打开,就可以给在线好友发送文件。 发送的文件可以在对方的“File”文件夹里找到。聊天记录里也会插入一条记录。 发送表情: 点击“表情”,会打开发送表情的一个新窗体,里面显示程序内嵌的表情,点击相应表情,窗口关闭,发送表情。 再次点击“表情”按钮,窗口也会关闭。 发送表情其实是发送一个message,表示表情包的标识,对方收到后,会根据标识,显示相应的图片。 接收功能: 接收信息不需要打开和对方的聊天框,收到信息后,如果不是当前的聊天对象,就会将信息写入相应的聊天记录里。