📄 frmexamscreen.cs
字号:
string caption = "确认提交试卷";
MessageBoxButtons buttons = MessageBoxButtons.YesNo;
DialogResult result;
// Displays the MessageBox.
result = MessageBox.Show(this, message, caption, buttons);
if(result == DialogResult.No) return;
}
answer();
currentAnswer();//所添加
scoreval = CalculateScore();
int intResult = 0;
if (scoreval != 0)
intResult = 100/questionCount*scoreval;
Close();//所添加
frmExamResult examres=new frmExamResult(scoreval,intResult);
DataAccess.SaveStudentScore (frmLogin.userid ,frmExamSchedule.examcode,scoreval,intResult);
examres.Show();
}
private void tmrExamTime_Tick(object sender, System.EventArgs e)
{
controltime = controltime - 1; //add by dongping for control timer
if (controltime%6==0)
{
time=time-1;
}
if(controltime==0)
{
this.tmrExamTime.Enabled =false;
promptSumbit = false;
btnSubmit_Click(sender,e);
}
this.lblTimeData.Text=time.ToString ();
}
//修改情况:部门:ACCP产品开发培训部 修改人:王文 时间:2004-12-25
private void frmExamScreen_Load(object sender, System.EventArgs e)
{
searchValue=new string [4];
duration = frmExamSchedule.durationtext;
time = Double.Parse(duration);
controltime= time*6;//add by dongping convert minutes to 10seconds interval
this.lblTimeData.Text=time.ToString ();
//start loading questions
Exam objExam=new Exam();
searchValue[0]="";
searchValue[1]="";
searchValue[2]=frmExamSchedule.examcode;
searchValue[3]="";
dtExam = objExam.FetchExamDetails(searchValue);
if (dtExam.Rows.Count == 0)
{
MessageBox.Show("数据丢失或不完整!");
Close();
return ;
}
string subject = dtExam.Rows[0]["SubjectCode"].ToString ();
StudentTest objTest=new StudentTest();
searchValue[0]=frmExamSchedule.examcode;
searchValue[1]=subject;
dtPaper = objTest.FetchPaper(searchValue);
questionCount = dtPaper.Rows.Count; //题目数目
if (questionCount == 0)
{
MessageBox.Show("没有合适的题目数量");
Close();
return ;
}
//initialize an array for storing selected answers
selectedanswers = new string[questionCount]; //放置选项
//除去correctanswers = new string[questionCount];
//currentQNo = 1;改为
currentQNo = 0; //初始当前题目编号
for(int index=0;index<questionCount;index++)
this.cboQuestion.Items.Add((index+1).ToString ());
this.cboQuestion.Text=(currentQNo+1).ToString();
PopulateQuestions(0);
btnPrevious.Enabled = false;
}
//修改情况:部门:ACCP产品开发培训部 修改人:王文 时间:2004-12-26
private void PopulateQuestions(int rowno)
{
//除去///if (currentQNo >1 && currentQNo <=questionCount)
//除去// CheckAnswers();
dr = dtPaper.Rows[rowno];
this.txtQuestion.Text=dr["Question"].ToString ();
this.radOptionA.Text =dr["OptionA"].ToString ();
this.radOptionB.Text =dr["OptionB"].ToString ();
this.radOptionC.Text =dr["OptionC"].ToString ();
this.radOptionD.Text =dr["OptionD"].ToString ();
//correctanswers[rowno] = dr["CorrectAns"].ToString();
this.lblQNo.Text = (currentQNo+1).ToString ();
}
//修改情况:部门:ACCP产品开发培训部 修改人:王文 时间:2004-12-25
private int CalculateScore()
{
int score = 0;
//check for the answers
for (int index = 0;index < questionCount; index++)
{
if(selectedanswers[index]!=null)
{
//除去//if (correctanswers[index].Equals(selectedanswers[index]))
string correctAnswer = dtPaper.Rows[index]["CorrectAns"].ToString(); //所添加
if (selectedanswers[index] == correctAnswer) //所添加
score=score+1;
}
}
return score;
}
//修改情况:部门:ACCP产品开发培训部 修改人:王文 时间:2004-12-26
private void btnPrevious_Click(object sender, System.EventArgs e)
{
if (!answer()) return;
currentQNo--;
enableButtons();
PopulateQuestions(currentQNo);
currentAnswer();
}
//修改情况:部门:ACCP产品开发培训部 修改人:王文 时间:2004-12-26
private void btnNext_Click(object sender, System.EventArgs e)
{
if (!answer()) return;
currentQNo++;
enableButtons();
PopulateQuestions(currentQNo);
currentAnswer();
}
//修改情况:部门:ACCP产品开发培训部 修改人:王文 时间:2004-12-26
private void cboQuestion_SelectedIndexChanged(object sender, System.EventArgs e)
{
answer();
currentQNo=Int32.Parse(this.cboQuestion.Text)-1;
lblQNo.Text =(currentQNo+1).ToString ();
enableButtons();
PopulateQuestions(currentQNo);
currentAnswer();
}
//修改情况:部门:ACCP产品开发培训部 修改人:王文 时间:2004-12-26
//除去
/*private void frmExamScreen_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
//check for enablign disabling of buttons
if (currentQNo==questionCount)
{
this.btnNext.Enabled =false;
if (!this.btnPrevious.Enabled)
this.btnPrevious.Enabled =true;
}
else if (currentQNo > 1)
{
if (!this.btnNext.Enabled)
this.btnNext.Enabled =true;
if (!this.btnPrevious.Enabled)
this.btnPrevious.Enabled =true;
}
if(currentQNo==1)
{
this.btnPrevious.Enabled =false;
if (!this.btnNext.Enabled)
this.btnNext.Enabled =true;
}
if (currentQNo < questionCount)
{
if (!this.btnNext.Enabled)
this.btnNext.Enabled =true;
}
}*/
/*private bool CheckAnswers()
{
//checking the answers
if (this.radOptionA.Checked)
{
selectedanswers[currentQNo-1]="A";
this.radOptionA.Checked=false;
}
else if (this.radOptionB.Checked)
{
selectedanswers[currentQNo-1]="B";
this.radOptionB.Checked=false;
}
else if (this.radOptionC.Checked)
{
selectedanswers[currentQNo-1]="C";
this.radOptionC.Checked=false;
}
else if (this.radOptionD.Checked)
{
selectedanswers[currentQNo-1]="D";
this.radOptionD.Checked=false;
}
else
{
MessageBox.Show("请选择一项答案");
return false;
}
return true;
}*/
//修改情况:部门:ACCP产品开发培训部 修改人:王文 时间:2004-12-25
//所添加的CODES
private bool answer()
{
//checking the answers
if (this.radOptionA.Checked)
{
selectedanswers[currentQNo]="A";
}
else if (this.radOptionB.Checked)
{
selectedanswers[currentQNo]="B";
}
else if (this.radOptionC.Checked)
{
selectedanswers[currentQNo]="C";
}
else if (this.radOptionD.Checked)
{
selectedanswers[currentQNo]="D";
}
return true;
}
//修改情况:部门:ACCP产品开发培训部 修改人:王文 时间:2004-12-25
/*private void GetLastAnswer()
{
//retrieve the last selected answer for this
//question if student had answered it previously
int rowno = currentQNo;
if (selectedanswers[rowno-1]!=null)
{
selected=selectedanswers[rowno-1];
if(selected == "A")
this.radOptionA.Checked =true;
else if(selected.Equals("B"))
this.radOptionB.Checked=true;
else if(selected.Equals("C"))
this.radOptionC.Checked=true;
else if(selected.Equals("D"))
this.radOptionD.Checked=true;
}
}*/
//所添加的CODES
private void currentAnswer()
{
if (selectedanswers[currentQNo]!=null)
{
selected=selectedanswers[currentQNo];
switch(selected)
{
case "A":
radOptionA.Checked =true;
break;
case "B":
radOptionB.Checked=true;
break;
case "C":
radOptionC.Checked=true;
break;
case "D":
radOptionD.Checked=true;
break;
}
}
else
{
noAnswer();
}
}
void noAnswer()
{
radOptionA.Checked=false;
radOptionB.Checked=false;
radOptionC.Checked=false;
radOptionD.Checked=false;
selected = null;
}
void enableButtons()
{
btnNext.Enabled = true;
btnPrevious.Enabled = true;
if (currentQNo == 0)
{
btnPrevious.Enabled = false;
}
else if (currentQNo == questionCount-1)
{
btnNext.Enabled = false;
}
}
//以上为所添加的CODES
private void btnHelp_Click(object sender, System.EventArgs e)
{
Help.ShowHelp(this,Environment.CurrentDirectory +@"\\OES_Help\OES_Help.chm");
}
private void btnReset_Click(object sender, System.EventArgs e)
{
for(int index=1;index<=questionCount;index++)
this.selectedanswers[index]=null;
scoreval=0;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -