private void btnJoin_Click(object sender, EventArgs e)
        {
            clientSocket = new TcpClient();
            try
            {
                clientSocket.Connect(Dns.Resolve(serverHost.Text).AddressList, Int32.Parse(serverPort.Text));
            }
            catch
            {
                MessageBox.Show("Wrong Room ID or unavailable partner.", "Error");
                clientSocket = null;
                return;
            }

            clientShellWindow = new ClientShellWindow(this, clientSocket, btnShell);
            clientShellWindow.Show();
            clientInboxWindow = new ClientInboxWindow(this, clientSocket, btnInbox);
            clientInboxWindow.Show();
            listenThread = new Thread(o => ListenThread(this));
            listenThread.Start();

            NetworkStream stream = new NetworkStream(clientSocket.Client, false);

            byte[] buffer = Encoding.UTF8.GetBytes(publicIP);
            stream.Write(buffer, 0, buffer.Length);
            stream.Close();

            serverPort.Enabled = btnJoin.Enabled = false;
            btnShell.Enabled   = btnInbox.Enabled = btnClose.Enabled = true;
        }
 private void btnShell_Click(object sender, EventArgs e)
 {
     btnShell.Enabled = false;
     clientShellWindow.Show();
 }