chat function
This commit is contained in:
@@ -25,17 +25,18 @@ namespace Client
|
||||
lbxUser.Items.Add(Singleton.Instance.Nickname);
|
||||
Singleton.Instance.UserEnterResponsed += UserEnterResponsed;
|
||||
Singleton.Instance.UserLeaveResponsed += UserLeaveResponsed;
|
||||
Singleton.Instance.ChatResponsed += ChatResponsed;
|
||||
}
|
||||
|
||||
private void btmSend_Click(object sender, EventArgs e)
|
||||
private async void btmSend_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (string.IsNullOrEmpty(tbxMsg.Text))
|
||||
return;
|
||||
|
||||
lbxMsg.Items.Add(tbxMsg.Text);
|
||||
tbxMsg.Text = null;
|
||||
ChatPacket packet = new ChatPacket(Singleton.Instance.Nickname, tbxMsg.Text);
|
||||
await Singleton.Instance.SendAsync(packet.Serialize(), SocketFlags.None);
|
||||
|
||||
ScrollMsgToEnd();
|
||||
tbxMsg.Text = null;
|
||||
}
|
||||
|
||||
private void ScrollMsgToEnd()
|
||||
@@ -83,10 +84,24 @@ namespace Client
|
||||
});
|
||||
}
|
||||
|
||||
private void ChatResponsed(object? sender, EventArgs e)
|
||||
{
|
||||
if (sender == null)
|
||||
return;
|
||||
|
||||
ChatPacket packet = (ChatPacket)sender;
|
||||
InvokeMethod(() =>
|
||||
{
|
||||
lbxMsg.Items.Add($"{packet.NickName}: {packet.Message}");
|
||||
ScrollMsgToEnd();
|
||||
});
|
||||
}
|
||||
|
||||
private async void ChatRoomForm_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
Singleton.Instance.UserEnterResponsed -= UserEnterResponsed;
|
||||
Singleton.Instance.UserLeaveResponsed -= UserLeaveResponsed;
|
||||
Singleton.Instance.ChatResponsed -= ChatResponsed;
|
||||
|
||||
UserLeavePacket packet = new UserLeavePacket(Singleton.Instance.Nickname);
|
||||
await Singleton.Instance.SendAsync(packet.Serialize(), SocketFlags.None);
|
||||
|
Reference in New Issue
Block a user