I am using this code along with other methods after it, but cannot get the form I've been using in designer to pop up. The only thing that pops up successfully is the MessageBox asking the player if they would like to play as X. I've tried commenting that out to see if that's the issue for why it won't load, but I'm completely lost as to why my form will not load at all.

```
    namespace mmelichar_Topic6_Activity13
{
    public partial class mmelichar_TicTacToe : Form
    {
        int player = 0;
        int position;
        int turn = 0;
        int playerMove;
        int firstMove;
        int secondMove;
        string[,] location = new string[3, 3] { { "", "", "" }, { "", "", "" }, { "", "", "" } };

        public mmelichar_TicTacToe()
        {
            InitializeComponent();
        }

        private void mmelichar_TicTacToe_Load(object sender, EventArgs e)
        {
            //There's only two moves that have to be hard-coded for AI to be able to
            //play tic-tac-toe near perfectly, each game /should/ result in a tie or
            //a win for the CPU. Other than that, the tryWin and tryBlock methods
            //should be able to win the game if there is an availability for that,
            //or block the opponent from winning if they cannot win quite yet.
            Random rnd = new Random();

            DialogResult dialogResult = MessageBox.Show("Do you want to play as X?", "Player Choice", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
            if (dialogResult == DialogResult.Yes)
            {
                player = 1;
            }
            else if (dialogResult == DialogResult.No)
            {
                player = 0;
            }
            //player is O
            if (player == 0 && turn == 0)
            {
                firstTurnCPU();
                //player turn
                mre.WaitOne();
            }
            //player is X
            if (player == 1 && turn == 0)
            {
                //player turn 1
                mre.WaitOne();

                //cpu turn 1
                firstTurnCPU();

                //player turn 2
                mre.WaitOne();

                //cpu turn 2
                secondTurnCPU();

                //player turn 3
                mre.WaitOne();

                //cpu turn 3
                tryWin();
                tryBlock();

                //player turn 4
                mre.WaitOne();

                //cpu turn 4
                tryWin();
                tryBlock();

                //player turn 

            }
        }
    private readonly ManualResetEvent mre = new ManualResetEvent(false);

    private void playerTurn_EventHandler(object sender, EventArgs e)
    {
        mre.Set();
    }

```

edit: updated code to remove while loop and include my ManualResetEvent