Inheritance: System.Windows.Forms.UserControl
 //ADD ANSWER
 private void btn_addAnswer_Click(object sender, EventArgs e)
 {
     Answer_MultiSelect MultiChoiceAnswer = new Answer_MultiSelect();
     i++;
     MultiChoiceAnswer.Tag = i;
     MultiChoiceAnswer.ID_Answer = i;
     MultiChoiceAnswer.onDelete += OneChoiceAnswer_onDelete;
     MultiChoiceAnswer.chk_Check.Text = Convert.ToChar(a).ToString();
     flp_Answer.Controls.Add(MultiChoiceAnswer);
     for (int j = 0; j < flp_Answer.Controls.Count; j++)
     {
         MultiChoiceAnswer.chk_Check.Text = Convert.ToChar(a + j).ToString();
     }
 }
        //LOAD FORM
        private void ViewQuestionMultiple_Load(object sender, EventArgs e)
        {
            //GET QUESTION BY ID Question
            QuestionBL QuestionBL = new QuestionBL();
            List<DO.Question> QuestionList;
            Question question = new Question();
            QuestionList = QuestionBL.GetQuestion();
            if (QuestionList != null)
            {
                for (int i = 0; i < QuestionList.Count; i++)
                {
                    if (QuestionList.ElementAt(i).IDQuestion == IDQuestion)
                    {
                        txt_Catalogue.Text = QuestionList.ElementAt(i).NameCatalogue;
                        txt_ContentQuestion.Text = QuestionList.ElementAt(i).NameQuestion;
                        txt_QuestionType.Text = QuestionList.ElementAt(i).TypeQuestion;
                        txt_Date.Text = QuestionList.ElementAt(i).Date.ToString("d");
                    }

                }
                //GET ANSWER BY ID QUESTION
                List<DO.Answer> AnswerList;
                Answer answer = new Answer();
                question.IDQuestion = IDQuestion;
                AnswerList = QuestionBL.GetAnswerByQuestionID(question);
                if (AnswerList != null)
                {
                    for (int j = 0; j < AnswerList.Count; j++)
                    {
                        Answer_MultiSelect MultiChoiceAnswer = new Answer_MultiSelect();
                        i++;
                        MultiChoiceAnswer.Tag = i;
                        MultiChoiceAnswer.ID_Answer = i;
                        MultiChoiceAnswer.onDelete += OneChoiceAnswer_onDelete;
                        MultiChoiceAnswer.chk_Check.Text = Convert.ToChar(a + j).ToString();

                        MultiChoiceAnswer.txt_AnswerContent.Text = AnswerList.ElementAt(j).ContentAnswer;
                        MultiChoiceAnswer.chk_Check.Checked = AnswerList.ElementAt(j).IsCorrect;

                        MultiChoiceAnswer.txt_AnswerContent.ReadOnly = true;
                        MultiChoiceAnswer.chk_Check.Enabled = false;
                        MultiChoiceAnswer.btn_DelAnswer.Visible = false;
                        flp_Answer.Controls.Add(MultiChoiceAnswer);
                    }
                }
            }
        }
 //Load Form
 private void Question_MultiSelect_Load(object sender, EventArgs e)
 {
     this.Dock = DockStyle.Fill;
     txt_Date.Text = DateTime.Now.ToString("d");
     //AUTO ADD 4 ANSWER
     for (int j = 0; j <4; j++)
     {
         Answer_MultiSelect MultiSelectAnswer = new Answer_MultiSelect();
         i++;
         MultiSelectAnswer.Tag = i;
         MultiSelectAnswer.ID_Answer = i;
         MultiSelectAnswer.onDelete += MultiSelectAnswer_onDelete;
         MultiSelectAnswer.chk_Check.Text = Convert.ToChar(a+j).ToString();
         flp_addAnswer.Controls.Add(MultiSelectAnswer);
     }
 }
        //SAVE QUESTION AND ANSWER. CONTINUE INPUT
        private void btn_SaveAndCreateNewQuestion_Click(object sender, EventArgs e)
        {
            QuestionBL questionBl = new QuestionBL();
            Question question = new Question();
            Answer answer = new Answer();
            int NumAnswer = flp_addAnswer.Controls.Count;

            if (txt_ContentQuestion.Text.Trim() == "" || txt_NameQuestion.Text.Trim() == "" || NumAnswer < 2)
            {
                if (txt_ContentQuestion.Text.Trim() == "" || txt_NameQuestion.Text.Trim() == "")
                {

                    MessageBox.Show("Vui lòng nhập thông tin câu hỏi trước khi lưu!", "Cảnh Báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
                else
                {
                    MessageBox.Show("Vui lòng nhập hơn một đáp án!", "Cảnh Báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
            else
            {
                if (checkAnswerEmpty() == true)
                {
                    MessageBox.Show("Không lưu câu hỏi vì tồn tại đáp án rỗng!", "Cảnh Báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
                else
                {
                    if (checkBlankCorrectAnswer()==true)
                    {
                        MessageBox.Show("Vui lòng chọn đáp án cho câu hỏi!", "Cảnh Báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                    else
                    {
                        question.QuestionTitle = txt_NameQuestion.Text.Trim();
                        question.NameQuestion = txt_ContentQuestion.Text.Trim();
                        question.TypeQuestion = "multichoice";
                        question.IDCatalogue = IDCat;
                        question.Date = DateTime.Now;
                        if (questionBl.AddQuestion(question))
                        {
                            foreach (Answer_MultiSelect item in flp_addAnswer.Controls)
                            {
                                if (item.txt_AnswerContent.Text.Trim() != "")
                                {
                                    answer.ContentAnswer = item.txt_AnswerContent.Text.Trim();
                                    if (item.chk_Check.Checked == true)
                                    {
                                        answer.Check = 1;
                                    }
                                    else
                                    {
                                        answer.Check = 0;
                                    }
                                    answer.IDQuestion = questionBl.MaxIDQuestion();
                                    answer.IDCatalogue = IDCat;
                                    questionBl.AddAnswer(answer);
                                }
                            }
                            //Show notify
                            //notifyIcon1.Icon = SystemIcons.Information;
                            //notifyIcon1.BalloonTipText = "Thêm câu hỏi thành công!";
                            //notifyIcon1.ShowBalloonTip(1000);
                            MessageBox.Show("Thêm câu hỏi thành công.","Thông báo",MessageBoxButtons.OK,MessageBoxIcon.Information);
                            //Refesh form
                            this.txt_ContentQuestion.Text = "";
                            flp_addAnswer.Controls.Clear();
                            //AUTO ADD 4 ANSWER
                            for (int j = 0; j < 4; j++)
                            {
                                Answer_MultiSelect MultiSelectAnswer = new Answer_MultiSelect();
                                i++;
                                MultiSelectAnswer.Tag = i;
                                MultiSelectAnswer.ID_Answer = i;
                                MultiSelectAnswer.onDelete += MultiSelectAnswer_onDelete;
                                MultiSelectAnswer.chk_Check.Text = Convert.ToChar(a + j).ToString();
                                flp_addAnswer.Controls.Add(MultiSelectAnswer);
                            }
                        }
                    }
                }
            }
        }
        //LOAD FORM
        private void EditQuestion_MultiSelect_Load(object sender, EventArgs e)
        {
            //GET QUESTION BY ID Question
            QuestionBL QuestionBL = new QuestionBL();
            List<DO.Question> QuestionList;
            Question question = new Question();
            QuestionList = QuestionBL.GetQuestion();
            if (QuestionList != null)
            {
                for (int i = 0; i < QuestionList.Count; i++)
                {
                    if (QuestionList.ElementAt(i).IDQuestion == IDQuestion)
                    {
                        txt_ContentQuestion.Text = QuestionList.ElementAt(i).NameQuestion;
                        txt_Date.Text = QuestionList.ElementAt(i).Date.ToString("d");
                    }

                }
                //GET ANSWER BY ID QUESTION
                List<DO.Answer> AnswerList;
                Answer answer = new Answer();
                question.IDQuestion = IDQuestion;
                AnswerList = QuestionBL.GetAnswerByQuestionID(question);
                if (AnswerList != null)
                {
                    for (int j = 0; j < AnswerList.Count; j++)
                    {
                        Answer_MultiSelect MultiSelectAnswer = new Answer_MultiSelect();
                        i++;
                        MultiSelectAnswer.Tag = i;
                        MultiSelectAnswer.ID_Answer = i;
                        MultiSelectAnswer.onDelete += MultiSelectAnswer_onDelete;
                        MultiSelectAnswer.chk_Check.Text = Convert.ToChar(a + j).ToString();
                        //flp_addAnswer.Controls.Add(MultiSelectAnswer);

                        MultiSelectAnswer.txt_AnswerContent.Text = AnswerList.ElementAt(j).ContentAnswer;
                        MultiSelectAnswer.chk_Check.Checked = AnswerList.ElementAt(j).IsCorrect;
                        flp_addAnswer.Controls.Add(MultiSelectAnswer);
                    }
                }
            }
        }
 //LOAD CATALOGUE INTO COMMOBOX
 private void Question_MultiSelect_1_Load(object sender, EventArgs e)
 {
     txt_ContentQuestion.Text = "";
     flp_addAnswer.Controls.Clear();
     cmb_Catalogue.Items.Clear();
     cmb_Catalogue.Text = "";
     this.Dock = DockStyle.Fill;
     CatalogueBL CatBL = new CatalogueBL();
     List<DO.Catalogue> CatList;
     CatList = CatBL.GetCatalogue();
     if (CatList != null)
         for (int i = 0; i < CatList.Count; i++)
         {
             this.cmb_Catalogue.Items.Add(CatList.ElementAt(i).NameCatalogue);
         }
     if (cmb_Catalogue.Items.Count > 0)
     {
         cmb_Catalogue.SelectedIndex = 0;
     }
     txt_Date.Text = DateTime.Now.ToString("d");
     //AUTO ADD 4 ANSWER
     for (int j = 0; j < 4; j++)
     {
         Answer_MultiSelect MultiSelectAnswer = new Answer_MultiSelect();
         i++;
         MultiSelectAnswer.Tag = i;
         MultiSelectAnswer.ID_Answer = i;
         MultiSelectAnswer.onDelete += MultiSelectAnswer_onDelete;
         MultiSelectAnswer.chk_Check.Text = Convert.ToChar(a + j).ToString();
         flp_addAnswer.Controls.Add(MultiSelectAnswer);
     }
 }