private void btnThemCauHoi_Click(object sender, EventArgs e) { //Chỉ cho soạn 1 câu hỏi if (Style == "CauHoi" && listCauHoi.Count > 0) { return; } //Tạo expandable panel câu hỏi ExpandablePanel TitleCauHoi = new ExpandablePanel(); TitleCauHoi.CanvasColor = SystemColors.Control; TitleCauHoi.ColorSchemeStyle = eDotNetBarStyle.StyleManagerControlled; TitleCauHoi.HideControlsWhenCollapsed = true; TitleCauHoi.ExpandButtonAlignment = eTitleButtonAlignment.Left; TitleCauHoi.ExpandOnTitleClick = true; TitleCauHoi.AnimationTime = 0; TitleCauHoi.TitleStyle.Alignment = StringAlignment.Center; TitleCauHoi.TitleStyle.BackColor1.ColorSchemePart = eColorSchemePart.PanelBackground; TitleCauHoi.TitleStyle.BackColor2.ColorSchemePart = eColorSchemePart.PanelBackground2; TitleCauHoi.TitleStyle.Border = eBorderType.RaisedInner; TitleCauHoi.TitleStyle.BorderColor.ColorSchemePart = eColorSchemePart.PanelBorder; TitleCauHoi.TitleStyle.ForeColor.ColorSchemePart = eColorSchemePart.PanelText; TitleCauHoi.TitleStyle.GradientAngle = 90; TitleCauHoi.TitleText = "Câu hỏi " + (listCauHoi.Count + 1); TitleCauHoi.Name = "CH" + (listCauHoi.Count + 1); //Nút xóa câu hỏi ButtonX xoa = new ButtonX(); xoa.BackColor = Color.Transparent; xoa.AccessibleRole = AccessibleRole.PushButton; xoa.ColorTable = eButtonColor.Blue; xoa.Dock = DockStyle.Right; xoa.Image = Properties.Resources.buttonExit_Image; xoa.Size = new Size(20, 20); xoa.Style = eDotNetBarStyle.StyleManagerControlled; xoa.Click += Xoa_Click; TitleCauHoi.TitlePanel.Controls.Add(xoa); ///Loại câu hỏi LoaiCauHoi loaiCauHoi = new LoaiCauHoi(); loaiCauHoi.ShowDialog(); //Tạo câu hỏi & thêm vào expandable panel câu hỏi UserControl temp = null; switch (LoaiCauHoi.typeCauHoi) { case 1: temp = new CauHoi_1(); break; case 2: temp = new CauHoi_2(); break; case 3: temp = new CauHoi_3(); break; case 4: temp = new CauHoi_4(); break; case 5: temp = new CauHoi_5(); break; } temp.Location = new Point(0, TitleCauHoi.TitleHeight); temp.Dock = DockStyle.Bottom; TitleCauHoi.AutoSize = true; TitleCauHoi.Controls.Add(temp); //Add expandable câu hỏi vào panel SoanCauHoi panelSoanCauHoi.Controls.Add(TitleCauHoi); TitleCauHoi.Dock = DockStyle.Top; TitleCauHoi.BringToFront(); btnThemCauHoi.BringToFront(); btnLuuCauHoi.BringToFront(); btnLuuDe.BringToFront(); btnXuatDe.BringToFront(); panelSoanCauHoi.ScrollControlIntoView(btnThemCauHoi); //Thêm câu hỏi vào list để dễ quản lý listCauHoi.Add(TitleCauHoi); }
private void btnLuu_Click(object sender, EventArgs e) { //Lưu câu hỏi if (listCauHoi.Count > 0) { string LoaiCauHoi = ((ExpandablePanel)listCauHoi[0]).Controls[0].GetType().ToString(); #region CauHoi1 if (LoaiCauHoi.Contains("CauHoi_1")) { CauHoi_1 ch1 = (CauHoi_1)((ExpandablePanel)listCauHoi[0]).Controls[0]; try { if (ch1.Controls["txtCauHoi"].Text.Length == 0) { MessageBox.Show("Chưa nhập nội dung"); return; } //Thêm câu hỏi CauHoi ch = new CauHoi(); ch.NoiDung = ch1.Controls["txtCauHoi"].Text; ch.ID_DoKho = 1; ch.ID_MonHoc = 1; ch.ID_LoaiCauHoi = 1; //Check đáp án có ko var listDapAn = ch1.Controls.Find("groupDapAn", true); if (listDapAn.Count() == 0) { MessageBox.Show("Chưa có đáp án"); return; } if (new CauHoiBus().AddCauHoi(ch)) { //Thêm đáp án for (int i = 0; i < listDapAn.Count(); i++) { DapAn da = new DapAn(); da.ID_CauHoi = ch.ID; da.TenDapAn = listDapAn[i].Text; da.NoiDungDapAn = listDapAn[i].Controls.Find("richDapAn", true)[0].Text; da.DapAnDung = ((SwitchButton)listDapAn[i].Controls.Find("switchDapAn", true)[0]).Value; new CauHoiBus().AddDapAn(da); } MessageBox.Show("Lưu thành công !"); //Reset Add câu hỏi string CauHoiName = "CH" + (listCauHoi.Count); panelSoanCauHoi.Controls[CauHoiName].Dispose(); listCauHoi.Clear(); } else { MessageBox.Show("Lưu thất bại !"); } } catch (Exception ex) { MessageBox.Show("Lưu thất bại !"); } } #endregion #region CauHoi2 if (LoaiCauHoi.Contains("CauHoi_2")) { CauHoi_2 ch2 = (CauHoi_2)((ExpandablePanel)listCauHoi[0]).Controls[0]; try { if (ch2.Controls["txtCauHoi"].Text.Length == 0) { MessageBox.Show("Chưa nhập nội dung"); return; } //Thêm câu hỏi CauHoi ch = new CauHoi(); ch.NoiDung = ch2.Controls["txtCauHoi"].Text; ch.ID_DoKho = 1; ch.ID_MonHoc = 1; ch.ID_LoaiCauHoi = 2; //Check đáp án có ko var listDapAn = ch2.Controls.Find("groupDapAn", true); if (listDapAn.Count() == 0) { MessageBox.Show("Chưa có đáp án"); return; } if (new CauHoiBus().AddCauHoi(ch)) { for (int i = 0; i < listDapAn.Count(); i++) { DapAn da = new DapAn(); da.ID_CauHoi = ch.ID; da.TenDapAn = listDapAn[i].Text; da.NoiDungDapAn = listDapAn[i].Controls.Find("richDapAn", true)[0].Text; da.DapAnDung = true; new CauHoiBus().AddDapAn(da); } MessageBox.Show("Lưu thành công !"); //Reset Add câu hỏi string CauHoiName = "CH" + (listCauHoi.Count); panelSoanCauHoi.Controls[CauHoiName].Dispose(); listCauHoi.Clear(); } else { MessageBox.Show("Lưu thất bại !"); } } catch (Exception ex) { MessageBox.Show("Lưu thất bại !"); } } #endregion #region CauHoi3 if (LoaiCauHoi.Contains("CauHoi_3")) { CauHoi_3 ch3 = (CauHoi_3)((ExpandablePanel)listCauHoi[0]).Controls[0]; try { if (ch3.Controls["txtCauHoi"].Text.Length == 0) { MessageBox.Show("Chưa nhập nội dung"); return; } //Thêm câu hỏi CauHoi ch = new CauHoi(); ch.NoiDung = ch3.Controls["txtCauHoi"].Text; ch.ID_DoKho = 1; ch.ID_MonHoc = 1; ch.ID_LoaiCauHoi = 3; //Check đáp án có ko var listDapAnCorrect = ch3.Controls.Find("groupDapAnCorrect", true); var listDapAn = ch3.Controls.Find("groupDapAn", true); if (listDapAn.Count() % 2 != 0) { MessageBox.Show("Đáp án 2 cột chưa đồng đều"); return; } if (listDapAnCorrect.Count() == 0) { MessageBox.Show("Chưa có đáp án"); return; } if (new CauHoiBus().AddCauHoi(ch)) { //Lưu đáp án for (int i = 0; i < listDapAnCorrect.Count(); i++) { DapAn da = new DapAn(); da.ID_CauHoi = ch.ID; da.TenDapAn = listDapAnCorrect[i].Text; da.NoiDungDapAn = listDapAnCorrect[i].Controls.Find("richDapAnCorrect", true)[0].Text; da.DapAnDung = true; new CauHoiBus().AddDapAn(da); } //Lưu đáp án đúng for (int i = 0; i < listDapAn.Count(); i++) { DapAn da = new DapAn(); da.ID_CauHoi = ch.ID; da.TenDapAn = listDapAn[i].Text; da.NoiDungDapAn = listDapAn[i].Controls.Find("richDapAn", true)[0].Text; da.DapAnDung = false; new CauHoiBus().AddDapAn(da); } MessageBox.Show("Lưu thành công !"); //Reset Add câu hỏi string CauHoiName = "CH" + (listCauHoi.Count); panelSoanCauHoi.Controls[CauHoiName].Dispose(); listCauHoi.Clear(); } else { MessageBox.Show("Lưu thất bại !"); } } catch (Exception ex) { MessageBox.Show("Lưu thất bại !"); } } #endregion #region CauHoi4 if (LoaiCauHoi.Contains("CauHoi_4")) { CauHoi_4 ch4 = (CauHoi_4)((ExpandablePanel)listCauHoi[0]).Controls[0]; try { if (ch4.Controls["txtCauHoi"].Text.Length == 0) { MessageBox.Show("Chưa nhập nội dung"); return; } //Thêm câu hỏi CauHoi ch = new CauHoi(); ch.NoiDung = ch4.Controls["txtCauHoi"].Text; ch.ID_DoKho = 1; ch.ID_MonHoc = 1; ch.ID_LoaiCauHoi = 4; //Check đáp án có ko var listDapAn = ch4.Controls.Find("richDapAn", true); if (listDapAn.Count() == 0) { MessageBox.Show("Chưa nhập đáp án"); return; } if (new CauHoiBus().AddCauHoi(ch)) { //Lưu đáp án for (int i = 0; i < listDapAn.Count(); i++) { DapAn da = new DapAn(); da.ID_CauHoi = ch.ID; da.TenDapAn = "Đáp án"; da.NoiDungDapAn = listDapAn[i].Text; da.DapAnDung = true; new CauHoiBus().AddDapAn(da); } MessageBox.Show("Lưu thành công !"); //Reset Add câu hỏi string CauHoiName = "CH" + (listCauHoi.Count); panelSoanCauHoi.Controls[CauHoiName].Dispose(); listCauHoi.Clear(); } else { MessageBox.Show("Lưu thất bại !"); } } catch (Exception ex) { MessageBox.Show("Lưu thất bại !"); } } #endregion #region CauHoi5 if (LoaiCauHoi.Contains("CauHoi_5")) { CauHoi_5 ch5 = (CauHoi_5)((ExpandablePanel)listCauHoi[0]).Controls[0]; try { if (ch5.Controls["txtCauHoi"].Text.Length == 0) { MessageBox.Show("Chưa nhập nội dung"); return; } //Thêm câu hỏi CauHoi ch = new CauHoi(); ch.NoiDung = ch5.Controls["txtCauHoi"].Text; ch.ID_DoKho = 1; ch.ID_MonHoc = 1; ch.ID_LoaiCauHoi = 5; //Check đáp án có ko var listDapAnCorrect = ch5.Controls.Find("groupDapAnCorrect", true); var listDapAn = ch5.Controls.Find("groupDapAn", true); if (listDapAnCorrect.Count() == 0) { MessageBox.Show("Chưa có đáp án"); return; } if (new CauHoiBus().AddCauHoi(ch)) { //Lưu đáp án for (int i = 0; i < listDapAnCorrect.Count(); i++) { DapAn da = new DapAn(); da.ID_CauHoi = ch.ID; da.TenDapAn = listDapAnCorrect[i].Text; da.NoiDungDapAn = listDapAnCorrect[i].Controls.Find("richDapAnCorrect", true)[0].Text; da.DapAnDung = true; new CauHoiBus().AddDapAn(da); } //Lưu đáp án đúng for (int i = 0; i < listDapAn.Count(); i++) { DapAn da = new DapAn(); da.ID_CauHoi = ch.ID; da.TenDapAn = listDapAn[i].Text; da.NoiDungDapAn = listDapAn[i].Controls.Find("richDapAn", true)[0].Text; da.DapAnDung = false; new CauHoiBus().AddDapAn(da); } MessageBox.Show("Lưu thành công !"); //Reset Add câu hỏi string CauHoiName = "CH" + (listCauHoi.Count); panelSoanCauHoi.Controls[CauHoiName].Dispose(); listCauHoi.Clear(); } else { MessageBox.Show("Lưu thất bại !"); } } catch (Exception ex) { MessageBox.Show("Lưu thất bại !"); } } #endregion } }
public void ThuVienCauHoiInit() { Cursor.Current = Cursors.WaitCursor; listCauHoi.Clear(); panelSoanCauHoi.Controls.Clear(); panelSoanCauHoi.Visible = false; btnLuuCauHoi.Hide(); btnLuuDe.Hide(); btnXuatDe.Hide(); btnThemCauHoi.Hide(); //Get list câu hỏi var List = new CauHoiBus().GetListCauHoi(); for (int i = 0; i < List.Count; i++) { //Tạo expandable panel câu hỏi ExpandablePanel TitleCauHoi = new ExpandablePanel(); TitleCauHoi.CanvasColor = SystemColors.Control; TitleCauHoi.ColorSchemeStyle = eDotNetBarStyle.StyleManagerControlled; TitleCauHoi.HideControlsWhenCollapsed = true; TitleCauHoi.ExpandButtonAlignment = eTitleButtonAlignment.Left; TitleCauHoi.ExpandOnTitleClick = true; TitleCauHoi.AnimationTime = 0; TitleCauHoi.TitleStyle.Alignment = StringAlignment.Center; TitleCauHoi.TitleStyle.BackColor1.ColorSchemePart = eColorSchemePart.PanelBackground; TitleCauHoi.TitleStyle.BackColor2.ColorSchemePart = eColorSchemePart.PanelBackground2; TitleCauHoi.TitleStyle.Border = eBorderType.RaisedInner; TitleCauHoi.TitleStyle.BorderColor.ColorSchemePart = eColorSchemePart.PanelBorder; TitleCauHoi.TitleStyle.ForeColor.ColorSchemePart = eColorSchemePart.PanelText; TitleCauHoi.TitleStyle.GradientAngle = 90; TitleCauHoi.TitleText = "Câu hỏi " + (listCauHoi.Count + 1); TitleCauHoi.Name = "CH" + (listCauHoi.Count + 1); //Nút xóa câu hỏi ButtonX xoa = new ButtonX(); xoa.BackColor = Color.Transparent; xoa.AccessibleRole = AccessibleRole.PushButton; xoa.ColorTable = eButtonColor.Blue; xoa.Dock = DockStyle.Right; xoa.Image = Properties.Resources.buttonExit_Image; xoa.Size = new Size(20, 20); xoa.Style = eDotNetBarStyle.StyleManagerControlled; xoa.Click += Xoa_Click; TitleCauHoi.TitlePanel.Controls.Add(xoa); UserControl _temp = null; object listDapAn; switch (List[i].ID_LoaiCauHoi) { case 1: _temp = new CauHoi_1(); listDapAn = new CauHoiBus().GetListDapAn(List[i].ID); ((CauHoi_1)_temp).Init(List[i].NoiDung, (List <DapAn>)listDapAn); break; case 2: _temp = new CauHoi_2(); listDapAn = new CauHoiBus().GetListDapAn(List[i].ID); ((CauHoi_2)_temp).Init(List[i].NoiDung, (List <DapAn>)listDapAn); break; case 3: _temp = new CauHoi_3(); listDapAn = new CauHoiBus().GetListDapAn(List[i].ID); ((CauHoi_3)_temp).Init(List[i].NoiDung, (List <DapAn>)listDapAn); break; case 4: _temp = new CauHoi_4(); listDapAn = new CauHoiBus().GetListDapAn(List[i].ID); ((CauHoi_4)_temp).Init(List[i].NoiDung, (List <DapAn>)listDapAn); break; case 5: _temp = new CauHoi_5(); listDapAn = new CauHoiBus().GetListDapAn(List[i].ID); ((CauHoi_5)_temp).Init(List[i].NoiDung, (List <DapAn>)listDapAn); break; } _temp.Location = new Point(0, TitleCauHoi.TitleHeight); _temp.Dock = DockStyle.Bottom; TitleCauHoi.AutoSize = true; TitleCauHoi.Controls.Add(_temp); //Add expandable câu hỏi vào panel SoanCauHoi panelSoanCauHoi.Controls.Add(TitleCauHoi); TitleCauHoi.Dock = DockStyle.Top; TitleCauHoi.BringToFront(); //Thêm câu hỏi vào list để dễ quản lý listCauHoi.Add(TitleCauHoi); } Cursor.Current = Cursors.Default; panelSoanCauHoi.Visible = true; }