Beispiel #1
0
        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;
                }
            }
        }
Beispiel #2
0
        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());
            }
        }
Beispiel #3
0
        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);
                }
            }));
        }
Beispiel #4
0
 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;
     }
 }