private void onFigureMovedDown(object sender, EventArgs e)
 {
     if (sender is TetrisGrid)
     {
         if (remoteServer != null)
         {
             if (remoteServer.ClientSocket.Connected)
             {
                 TetrisClientInfo info = new TetrisClientInfo(gridPlayerMe);
                 remoteServer.Send(info);
             }
         }
     }
 }
 //Quand on reçoit des données du serveur
 private void RemoteServer_DataReceived(Client client, object data)
 {
     //Si c'est du texte, à ce niveau, c'est soir le serveur qui dit qu'on peut start la game ou un que l'adversaire a perdu
     if (data is String)
     {
         if ((String)data == "start")
         {
             TimerHandler p = new TimerHandler(startGameGridMe);
             this.Invoke(p);
         }
         else if ((String)data == "gameOver")
         {
             RivalGameOverHandler p = new RivalGameOverHandler(StopGameGridMe);
             this.Invoke(p);
         }
     }
     else if (data is ChatMessage)//Si c'est un chat message, on l'affiche dans le chat
     {
         if (((ChatMessage)data).strMessage != "")
         {
             String strMessage     = ((ChatMessage)data).strMessage;
             PrintMessageHandler p = new PrintMessageHandler(printMessageChat);
             this.Invoke(p, txtBoxChat, strMessage);
         }
     }
     else if (data is TetrisClientInfo) //Si c'est un client info, on rafraichit la grid de l'adversaire. On utilise un TetriClientInfo parce qu'on ne peut pas sérialiser les données graphiques comme les picrutebox
     {
         TetrisClientInfo info = (TetrisClientInfo)data;
         int rows = gridPlayerRival.numLines;
         int cols = gridPlayerRival.numCols;
         for (int i = 0; i < rows; i++)
         {
             for (int j = 0; j < cols; j++)
             {//Copie des couleurs de la grid de l'adversaire
                 gridPlayerRival.pictBox_Case[i, j].BackColor = info.tbColors[i, j];
             }
         }
         //Ragrichissement du score
         gridPlayerRival.score = info.score;
         onScoreChanged(gridPlayerRival, EventArgs.Empty);
     }
 }