private void Connect() { AgainPanel.Visible = false; AgainButton.Enabled = false; Draw = false; Server = new Client(); Server.Socket.SetSocketOption(SocketOptionLevel.Tcp, SocketOptionName.NoDelay, true); SetStatus("Connecting to " + ConnectTo + "..."); Server.Connect(ConnectTo, 1991); Server.Received += new Client.ReceiveDelegate(Server_Received); Server.Connected += new Client.ConnectDelegate(delegate { try { Invoke((MethodInvoker)delegate { AgainPanel.Visible = false; AgainButton.Enabled = false; }); } catch { } }); Server.Closed += new Client.CloseDelegate(delegate(object o, Client.CloseEventArgs ea) { if (!GameOver) { SetStatus("Connection failed", ErrorColor); } try { Invoke((MethodInvoker)delegate { AgainPanel.Visible = true; AgainButton.Enabled = true; }); } catch { } }); }