private void ConnectUser()
        {
            newClient = new HomeClient(txtAddress.Text, port, txtUserName.Text, Color.FromName(cmbColor.Text));
            if (newClient.ServerError)
            {
                DialogResult dr = MessageBox.Show("Error! Please check the server activity.", "Server Error!",
                                                  MessageBoxButtons.RetryCancel, MessageBoxIcon.Error);
                if (dr == DialogResult.Retry)
                {
                    ConnectUser();
                    return;
                }
                else
                {
                    newClient              = null;
                    btnFinish.Enabled      = true;
                    btnDisconnect.Enabled  = false;
                    txtSendMessege.Enabled = false;
                    txtAddress.Enabled     = true;
                    txtPort.Enabled        = true;
                    txtUserName.Enabled    = true;
                    cmbColor.Enabled       = true;
                    return;
                }
            }
            newClient.receiveMessege += AddMessegesHandler;
            newClient.ReceiveMesseges();
            MsgStatus msg = new MsgStatus(newClient.GetUser, newClient.GetUser.UserStatus);

            newClient.SendMessege(msg);
            txtSendMessege.Enabled = true;
            this.btnSend.Enabled   = txtSendMessege.Text != "";
        }
        private void LogInUser(object sender, EventArgs e)
        {
            newClient = new HomeClient(txtAddress.Text, port, txtUserName.Text, Color.FromName(cmbColor.Text), Operation.LogIn);
            newClient.existingAccount += ExistingAccount;
            newClient.receiveMessege  += AddMessegesHandler;

            if (newClient.ServerError)
            {
                DialogResult dr = MessageBox.Show("Error! Please check the server activity.", "Server Error!",
                                                  MessageBoxButtons.RetryCancel, MessageBoxIcon.Error);
                if (dr == DialogResult.Retry)
                {
                    LogInUser(sender, e);
                    return;
                }
                else
                {
                    newClient              = null;
                    btnLogIn.Enabled       = true;
                    btnLogOut.Enabled      = false;
                    txtSendMessege.Enabled = false;
                    txtAddress.Enabled     = true;
                    txtPort.Enabled        = true;
                    txtUserName.Enabled    = true;
                    cmbColor.Enabled       = true;
                    return;
                }
            }

            txtSendMessege.Enabled = true;
            txtAddress.Enabled     = false;
            txtPort.Enabled        = false;
            txtUserName.Enabled    = false;
            cmbColor.Enabled       = false;
            txtUserName.Enabled    = false;
            cmbColor.Enabled       = false;
            btnLogOut.Enabled      = true;
            btnLogIn.Enabled       = false;
            btnSingUp.Enabled      = false;

            if (newClient.IsExist.ErrorExists == false)
            {
                MsgStatus msg = new MsgStatus(newClient.GetUser, newClient.GetUser.UserStatus);
                newClient.SendMessege(msg);
                this.txtSendMessege.Enabled = true;
                this.btnSend.Enabled        = txtSendMessege.Text != "";
            }
        }
        private void SingUpUser(object o, EventArgs e)
        {
            newClient = new HomeClient(txtAddress.Text, port, txtUserName.Text, Color.FromName(cmbColor.Text), Operation.SingUp);
            newClient.existingAccount += ExistingAccount;
            newClient.receiveMessege  += AddMessegesHandler;

            if (newClient.ServerError)
            {
                MessageBox.Show("Error! Please check the server activity.", "Server Error!",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
                ResultForErorr();
                return;
            }
            if (newClient.IsExist.ErrorExists == false)
            {
                MsgStatus msg = new MsgStatus(newClient.GetUser, newClient.GetUser.UserStatus);
                newClient.SendMessege(msg);
            }
            btnSingUp.Enabled      = false;
            btnLogIn.Enabled       = false;
            txtSendMessege.Enabled = true;
            btnSend.Enabled        = true;
            txtUserName.Enabled    = false;
            cmbColor.Enabled       = false;
            btnLogOut.Enabled      = true;
        }