private void makeBid() { if (this.InvokeRequired) { // We're not in the UI thread, so we need to call BeginInvoke this.Invoke(new refreshBoard(makeBid)); return; } BiddingState bidState = new BiddingState(ref gameData); bidState.Bidded += new BidEventHandler(bidState_Bidded); bidState.BeforeBid += new BeforeBidEventHandler(bidState_BeforeBid); gameStateManager.switchState(bidState); gameStateManager.Process(); }