private void ProcesssData(SocketData data) { switch (data.Command) { case (int)SocketCommand.Notify: this.Invoke((MethodInvoker)(() => { btnLAN.Enabled = false; txbStatus.Text = data.Message; })); break; case (int)SocketCommand.SendPoint: this.Invoke((MethodInvoker)(() => { pnlChessBoard.Enabled = true; ChessBoard.OtherPlayerMark(data.Point); })); break; case (int)SocketCommand.NewGame: this.Invoke((MethodInvoker)(() => { pnlChessBoard.Enabled = false; NewGame(); })); break; case (int)SocketCommand.EndGame: MessageBox.Show("Player" + data.Message + " wonˆˆ"); break; case (int)SocketCommand.Quit: this.Invoke((MethodInvoker)(() => { socket.isServer = true; ChessBoard.DrawChessBoard(); btnLAN.Enabled = true; txbStatus.Text = data.Message; MessageBox.Show("Player has quit"); })); break; default: break; } Listen(); }