public TetrisClientInfo(TetrisGrid tg)
        {
            int size = tg.pictBox_Case.Length;
            int rows = tg.numLines;
            int cols = tg.numCols;

            this.tbColors = new Color[rows, cols];
            score         = tg.score;
            for (int i = 0; i < rows; i++)
            {//Copie des couleurs de la grid
                for (int j = 0; j < cols; j++)
                {
                    this.tbColors[i, j] = (tg.pictBox_Case[i, j].BackColor);
                }//this.BackColor = s.BackColor;
            }
        }
        public formTetrisClientApp()
        {
            InitializeComponent();


            FormConnectServer serverConnection = new FormConnectServer();

            //Création des tetrisgrid
            gridPlayerMe    = new TetrisGrid(300, 600, 20, 10);
            gridPlayerRival = new TetrisGrid(300, 600, 20, 10);
            //this.btnReady.KeyDown += new System.Windows.Forms.
            resizeGraphics();


            serverConnection.ShowDialog();
            //Si le client clique sur OK
            if (serverConnection.DialogResult == DialogResult.OK)
            {
                //Le client remoteServer est tout d'abord créé dans la fenêtre FormConnectServer. On le passe à cette classe pour qu'il puisse être exploité ici.
                remoteServer = serverConnection.remoteServer;
                //Ajout des callback d'événement de communication
                remoteServer.DataReceived       += RemoteServer_DataReceived;
                remoteServer.ClientDisconnected += RemoteServer_ClientDisconnected;
                remoteServer.ConnectionRefused  += RemoteServer_ConnectionRefused;
                //Récupération du channel (la validité de cette info est gérée dans FormConnectServer)
                byte[] codeChannel = Encoding.ASCII.GetBytes(serverConnection.stCode);
                //Envoi du channel au serveur. Si un channel portant le même numéro est existant, le client le rejoindra et dans le cas contraire, le serveur créera le channel et y placera le client
                remoteServer.Send(codeChannel);
                //Affiche le numéro du channel pour que le client puisse le donner à la personne avec qui il veut jouer
                txtBoxChat.Text += "Welcome in the channel " + serverConnection.stCode.ToString();
                //Callaback quand la figure bouge, on l'utilise pour envoyer les infos de la grid
                gridPlayerMe.FigureMovedDown += onFigureMovedDown;
                //Quand le score change dans la classe tetrisgrid, pour l'afficher dans les label
                gridPlayerMe.ScoreChanged += onScoreChanged;
                //Callback quand le joueur a perdu
                gridPlayerMe.GameOver += onGameOver;
                //Callback quand une nouvelle pièce est générée. Elle permet de changer la pièce dans le pannel contenant la "next piece"
                gridPlayerMe.FigureSet += onFigureSet;
            }
            //Si le client annule la connexion
            else //if(serverConnection.DialogResult == DialogResult.Cancel)
            {
                //Fermeture de l'appli si le client annule la connexion
                Load += (s, e) => Close();
            }
        }