private void OverviewButton_Click(object sender, EventArgs e)
        {
            SetSettingsEnabled(false);
            ViewProblemsButton.Enabled = false;
            ViewResolvedProblemsButton.Enabled = false;
            PlayerNameLabel.Text = "Player Name: N/A";
            GameCompletedLabel.Text = "Game Completed?: N/A";
            int averageTime = 0, averageT1Correct = 0, averageT2Correct = 0, averageT3Correct = 0,
                averageT1Mistakes = 0, averageT2Mistakes = 0, averageT3Mistakes = 0,
                averageProblems = 0, averageResolvedProblems = 0;
            UserDatabase userDB = new UserDatabase();
            int numberValues = userDB.getUsernames().Count;
            foreach (string username in userDB.getUsernames())
            {
                UserDatabase.GameCompletedDetails gameCompletedDetails = userDB.GetGameCompletedDetails(username);
                if (gameCompletedDetails.timeInSeconds > 0)
                {
                    averageTime += gameCompletedDetails.timeInSeconds;
                }
                else
                {
                    numberValues--;
                    continue;
                }
                averageT1Correct += gameCompletedDetails.numCorrectAnswers[0];
                averageT2Correct += gameCompletedDetails.numCorrectAnswers[1];
                averageT3Correct += gameCompletedDetails.numCorrectAnswers[2];
                averageT1Mistakes += gameCompletedDetails.numMistakes[0];
                averageT2Mistakes += gameCompletedDetails.numMistakes[1];
                averageT3Mistakes += gameCompletedDetails.numMistakes[2];
                averageProblems += gameCompletedDetails.problemQuestions.Count;
                averageResolvedProblems += gameCompletedDetails.resolvedQuestions.Count;
            }
            averageTime = averageTime / numberValues;
            averageT1Correct = averageT1Correct / numberValues;
            averageT2Correct = averageT2Correct / numberValues;
            averageT3Correct = averageT3Correct / numberValues;
            averageT1Mistakes = averageT1Mistakes / numberValues;
            averageT2Mistakes = averageT2Mistakes / numberValues;
            averageT3Mistakes = averageT3Mistakes / numberValues;
            averageProblems = averageProblems / numberValues;
            averageResolvedProblems = averageResolvedProblems / numberValues;

            GameTimeLabel.Text = "Game Time: " + averageTime + " Seconds";
            NumCorrectAnswersLabel.Text = "Number of Correct Answers:\n    " + averageT1Correct + "\n    " + averageT2Correct + "\n    " + averageT3Correct;
            NumMistakesLabel.Text = "Number of Correct Answers:\n    " + averageT1Mistakes + "\n    " + averageT2Mistakes + "\n    " + averageT3Mistakes;
            NumProblemQuestionsLabel.Text = "Number of Problem Questions:\n     " + averageProblems;
            NumResolvedProblemsLabel.Text = "Number of Resolved Problems:\n     " + averageResolvedProblems;
        }
        // When a radio button is clicked
        private void RadioButtonClicked(object sender, EventArgs e)
        {
            RadioButton clickedRadioButton = sender as RadioButton; // Store the RadioButton that was clicked
            activePupilUsername = clickedRadioButton.Text; // Set the active Set to the text of the RadioButton
            PupilSettingsQuestionEntryBox.ChangeUsername(activePupilUsername); // Change the username of the SettingsEntryBox in the PupilSettingsPanel
            SetSettingsEnabled(true); // Enable the Pupil Settings components
            UpdateButtonStates(); // Update the button states (whether Biology/Custom Subject are enabled or disabled for the newly active user)
            SettingsOtherSubjectEnableButton.Enabled = true; // Make sure that the OtherSubjectEnableButton is enabled
            SettingsOtherSubjectTextBox.Enabled = true; // Make sure that the OtherSubjectTextBox is enabled
            SettingsBiologyEnableButton.Enabled = true; // Make sure that theBiologytEnableButton is enabled
            PlayerNameLabel.Text = "Player Name: " + clickedRadioButton.Text; // Update the text of the Player Name Label to show the newly active player's username
            ViewProblemsButton.Enabled = true; // Make sure that the ViewProblemsButton is enabled
            ViewResolvedProblemsButton.Enabled = true; // Make sure that the ViewResolvedProblemsButton is enabled

            UserDatabase userDB = new UserDatabase(); // Create a new instance of a UserDatabase
            UserDatabase.GameCompletedDetails gameCompletedDetails = userDB.GetGameCompletedDetails(activePupilUsername); // Extract the GameCompletedDetails about the active user from the database
            if (gameCompletedDetails.timeInSeconds < 0) // If the pupil did not complete the game
            {
                GameCompletedLabel.Text = "Game Completed?: No"; // Update the game completed label to tell the teacher that the pupil did not complete the game
                GameTimeLabel.Text = "Game Time: N/A"; // Update the game time label to be unavailable
            }
            else // If the pupil did complete the game
            {
                GameCompletedLabel.Text = "Game Completed?: Yes";
                GameTimeLabel.Text = "Game Time: " + gameCompletedDetails.timeInSeconds + " Seconds";
            }
            NumCorrectAnswersLabel.Text = "Number of Correct Answers:\n    " + gameCompletedDetails.numCorrectAnswers[0] + "\n    " + gameCompletedDetails.numCorrectAnswers[1] + "\n    " + gameCompletedDetails.numCorrectAnswers[2];
            NumMistakesLabel.Text = "Number of Correct Answers:\n    " + gameCompletedDetails.numMistakes[0] + "\n    " + gameCompletedDetails.numMistakes[1] + "\n    " + gameCompletedDetails.numMistakes[2];
            NumProblemQuestionsLabel.Text = "Number of Problem Questions:\n     " + gameCompletedDetails.problemQuestions.Count;
            NumResolvedProblemsLabel.Text = "Number of Resolved Problems:\n     " + gameCompletedDetails.resolvedQuestions.Count;
            problemQuestions = gameCompletedDetails.problemQuestions;
            resolvedProblemQuestions = gameCompletedDetails.resolvedQuestions;
        }