先附上浙江大学英语基础技能考试 软件下载链接:
https://download.csdn.net/download/weixin_44834086/13117994
如下图所示,该程序是为浙江大学研究生公共英语水平考试自测模拟题集做的一个答题小程序,可以显示答题记录,记录答题时间,自动核对答案,显示答题错误的题目,计算答题分数等,并可以将所有答题信息及考试结果信息保存为txt文档,方便日后查看。
上图为主界面,还有一个信息提示界面,如下图所示:
该软件仅适用于下面这本习题集:
下面是主程序代码:
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 浙江大学研究生公共英语水平考试自测模拟题集
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
//this.TopMost = true;
int i;
for (i = 0; i < 75; i++)//在题号下拉列表中追加75个题号
{
comboBox_Question_NO.Items.Add(i + 1);//追加题号
comboBox_Question_NO.SelectedIndex = 0;//将第一个题号显示在下拉列表上
}
}
public static int Notice_NO = 0;//标记提示信息的编号,提示窗体会根据编号显示相应的提示信息。
char[] Answer = new char[75]; //声明并初始化答题数组
#region 开始考试按钮
private void button_Start_Click(object sender, EventArgs e)//开始考试
{
if (comboBox_Exam_NO.SelectedIndex == -1)
{
ShowNotice(1);//调用提示信息函数,并传入提示信息的编号1,在提示窗体程序中会根据编号显示相应的提示信息,"请选择模拟题"。
}
else
{
timer1.Enabled = true; //开始计时
radioButton_A.Enabled = true;//将A单选框使能
radioButton_B.Enabled = true;//将B单选框使能
radioButton_C.Enabled = true;//将C单选框使能
radioButton_D.Enabled = true;//将D单选框使能
button_Pause.Enabled = true;//将暂停按钮使能
}
}
#endregion
int Exam_Time = 0;//定义考试时间
#region 计时器timer1
private void timer1_Tick(object sender, EventArgs e)
{
Exam_Time++;//考试时间
textBox_Time.Text = String.Format("{0:00}:{1:00}", Exam_Time / 60, Exam_Time % 60);//讲考试时间显示在text_Box上
}
#endregion
#region 结束答题按钮
private void button_Finish_Click(object sender, EventArgs e)
{
textBox_Check.Clear();//先将答题结果文本框清空
if (Answer.Contains('\0'))
{
ShowNotice(3);//调用提示信,并传入提示信息的编号3,在提示窗体程序中会根据编号显示相应的提示信息,"未完成答题"。
textBox_Log.AppendText("未完成题目如下:" + "\r\n");
for (int i = 0; i < 75; i++)
{
if (Answer[i]=='\0')
{
textBox_Log.AppendText((i + 1).ToString() + "、" + "未作答"+ "\r\n");//将未作答题目显示在答题记录文本框
}
}
}
else
{
timer1.Enabled = false;//停止计时
button_Save.Enabled = true;//将保存按钮使能
switch (comboBox_Exam_NO.SelectedIndex)
{
case 0:
Answer_Check(Standard_Answer1);
break;
case 1:
Answer_Check(Standard_Answer2);
break;
case 2:
Answer_Check(Standard_Answer3);
break;
case 3:
Answer_Check(Standard_Answer4);
break;
case 4:
Answer_Check(Standard_Answer5);
break;
case 5:
Answer_Check(Standard_Answer6);
break;
case 6:
Answer_Check(Standard_Answer7);
break;
case 7:
Answer_Check(Standard_Answer8);
break;
case 8:
Answer_Check(Standard_Answer9);
break;
case 9:
Answer_Check(Standard_Answer10);
break;
case 10:
Answer_Check(Standard_Answer11);
break;
case 11:
Answer_Check(Standard_Answer12);
break;
}
}
}
//private void button_Finish_Click(object sender, EventArgs e)//结束考试
//{
//}
#endregion
#region 上一题下一题按钮
private void button_Up_Click(object sender, EventArgs e)
{
if (comboBox_Question_NO.SelectedIndex > 0)
{
comboBox_Question_NO.SelectedIndex--;
}
else
{
ShowNotice(4);//调用提示信息函数,并传入提示信息的编号4,在提示窗体程序中会根据编号显示相应的提示信息,"前面没有题了!"。
}
}
private void button_Down_Click(object sender, EventArgs e)
{
if (comboBox_Question_NO.SelectedIndex < 74)
{
comboBox_Question_NO.SelectedIndex++;
}
else
{
ShowNotice(5);//调用提示信息函数,并传入提示信息的编号4,在提示窗体程序中会根据编号显示相应的提示信息,"已经是最后一题了!"。
}
}
#endregion
#region ABCD选项按钮
private void radioButton_A_Click(object sender, EventArgs e)
{
Answer[comboBox_Question_NO.SelectedIndex] = 'A';
Refresh_TextBox();
if (comboBox_Question_NO.SelectedIndex < 74)//如果下拉列表的索引数小于74,则索引数加1,否则索引数会越界
{
comboBox_Question_NO.SelectedIndex++;//每做完一题,题号加1
}
else
{
ShowNotice(5);//调用提示信息函数,并传入提示信息的编号4,在提示窗体程序中会根据编号显示相应的提示信息,"已经是最后一题了!"。
}
if(!Answer.Contains('\0'))
{
ShowNotice(2);//调用提示信息函数,并传入提示信息的编号2,在提示窗体程序中会根据编号显示相应的提示信息,"已完成答题"。
}
radioButton_A.Checked = false;
}
private void radioButton_B_Click(object sender, EventArgs e)
{
Answer[comboBox_Question_NO.SelectedIndex] = 'B';
Refresh_TextBox();
if (comboBox_Question_NO.SelectedIndex < 74)
{
comboBox_Question_NO.SelectedIndex++;//每做完一题,题号加1
}
else
{
ShowNotice(5);//调用提示信息函数,并传入提示信息的编号4,在提示窗体程序中会根据编号显示相应的提示信息,"已经是最后一题了!"。
}
if (!Answer.Contains('\0'))
{
ShowNotice(2);//调用提示信息函数,并传入提示信息的编号2,在提示窗体程序中会根据编号显示相应的提示信息,"已完成答题"。
}
radioButton_B.Checked = false;
}
private void radioButton_C_Click(object sender, EventArgs e)
{
Answer[comboBox_Question_NO.SelectedIndex] = 'C';
Refresh_TextBox();
if (comboBox_Question_NO.SelectedIndex < 74)
{
comboBox_Question_NO.SelectedIndex++;//每做完一题,题号加1
}
else
{
ShowNotice(5);//调用提示信息函数,并传入提示信息的编号4,在提示窗体程序中会根据编号显示相应的提示信息,"已经是最后一题了!"。
}
if (!Answer.Contains('\0'))
{
ShowNotice(2);//调用提示信息函数,并传入提示信息的编号2,在提示窗体程序中会根据编号显示相应的提示信息,"已完成答题"。
}
radioButton_C.Checked = false;
}
private void radioButton_D_Click(object sender, EventArgs e)
{
Answer[comboBox_Question_NO.SelectedIndex] = 'D';
Refresh_TextBox();
if (comboBox_Question_NO.SelectedIndex < 74)
{
comboBox_Question_NO.SelectedIndex++;//每做完一题,题号加1
}
else
{
ShowNotice(5);//调用提示信息函数,并传入提示信息的编号4,在提示窗体程序中会根据编号显示相应的提示信息,"已经是最后一题了!"。
}
if (!Answer.Contains('\0'))
{
ShowNotice(2);//调用提示信息函数,并传入提示信息的编号2,在提示窗体程序中会根据编号显示相应的提示信息,"已完成答题"。
}
radioButton_D.Checked = false;
}
#endregion
#region 核对答案
private void Answer_Check(char[] arry_Standard_Anwser)
{
int Error_Sum = 0;//错题的个数
int Error_Listening = 0;//听力题错误数量
int Error_Vocabulary = 0;//词汇题错误数量
int Error_ClozeTest = 0;//完形填空错误数量
int Error_Reading = 0;//阅读题错误数量
for (int i = 0; i < 75; i++)
{
if (Answer[i] != arry_Standard_Anwser[i])
{
Error_Sum++;
if (i < 15)
{
Error_Listening++;
}
if (i > =15 && i < 35)
{
Error_Vocabulary++;
}
if (i > =35 && i <55)
{
Error_ClozeTest++;
}
if (i > =55 && i < 75)
{
Error_Reading++;
}
textBox_Check.AppendText("第" + (i + 1).ToString() + "题:您的答案为" + Answer[i] + ",而参考答案为" + arry_Standard_Anwser[i] + "\r\n");
}
}
float Score_Lose = Error_Listening + Error_ClozeTest + Error_Reading * 2 + Error_Vocabulary * 1.5f;
textBox_Check.AppendText("考试结果详情:" + "\r\n" + "您此次考试用时" + (Exam_Time / 60) + "分" + Exam_Time % 60 + "秒," + "总共错了" + Error_Sum + "题。" + "\r\n" + "其中听力错了" + Error_Listening + "题,词汇题错了"
+ Error_Vocabulary + "题," + "\r\n" + "完型填空错了" + Error_ClozeTest + "题,阅读错了" + Error_Reading + "题。" + "\r\n" + "累计扣分" + Score_Lose + "分,总得分为" + (105 - Score_Lose) + "分,得分率为" + Math.Round((105 - Score_Lose) * 100 / 105, 2) + "%。");
}
#endregion
#region 弹出提示窗口
/// <summary>
/// 调用提示窗口,并在提示窗口中显示提示信息
/// </summary>
/// <param name="a">提示编号,根据提示编号的不同,显示不同的提示信息</param>
private void ShowNotice(int a)
{
using (Notice_Message dlg = new Notice_Message()) //Form_Help是窗口类名,确保访问;后面的是构造函数
{
Notice_NO = a;//将提示信息编号标记为1
dlg.ShowDialog();
}
}
#endregion
#region 刷新答题记录文本框
private void Refresh_TextBox()//刷新答题记录文本框中的数据
{
textBox_Log.Text = null;//先将文本框清空
for (int i = 0; i < 75; i++)//再将答案数组Anwser[]中的数据追加到答题记录文本框中
{
if (Answer[i] != 0)
{
textBox_Log.AppendText((i + 1).ToString() + "、" + Answer[i] + "\r\n");//当数组中的数据不为零的时候,在文本框中追加数组中的数据
}
else
{
continue;//当数组中的数据为零时,跳出循环,不在文本框中追加数据
}
}
}
#endregion
#region 暂停考试
private void button_Pause_Click(object sender, EventArgs e)
{
timer1.Enabled = !timer1.Enabled;//停止计时或恢复计时
if (button_Pause.Text == "暂停考试")
{
radioButton_A.Enabled = false;
radioButton_B.Enabled = false;
radioButton_C.Enabled = false;
radioButton_D.Enabled = false;
button_Pause.Text = "恢复考试";//改变暂停按钮的显示文字
ShowNotice(6); //调用提示信息函数,并传入提示信息的编号6,在提示窗体程序中会根据编号显示相应的提示信息,"考试已暂停!"。
}
else
{
button_Pause.Text = "暂停考试";
radioButton_A.Enabled = true;
radioButton_B.Enabled = true;
radioButton_C.Enabled = true;
radioButton_D.Enabled = true;
}
}
#endregion
#region 保存考试信息
private void button_Save_Click(object sender, EventArgs e)
{
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Filter = "Text files (*.txt)|*.txt";
saveFileDialog.FilterIndex = 0;
saveFileDialog.RestoreDirectory = true;
saveFileDialog.CreatePrompt = true;
saveFileDialog.Title = "保存考试信息到";
DateTime now = DateTime.Now;
saveFileDialog.FileName = comboBox_Exam_NO.Items[comboBox_Exam_NO.SelectedIndex] + "考试信息" + "-" + DateTime.Now.ToLongDateString().ToString() + "-" + now.Hour.ToString().PadLeft(2, '0') + "时" + now.Minute.ToString().PadLeft(2, '0') + "分" + now.Second.ToString().PadLeft(2, '0') + "秒";
saveFileDialog.ShowDialog();
Stream myStream = saveFileDialog.OpenFile();
StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding("utf-8"));
string str_YourAnswer = "";//创建答题人答案字符串
string str_StandardAnswer = "";//创建标准答案字符串
for (int i = 0; i < 75; i++)//再将答案数组Anwser[]中的数据追加到答题记录文本框中
{
if (Answer[i] != 0)
{
str_YourAnswer = str_YourAnswer + (i + 1).ToString() + "、" + Answer[i] + ";";//当数组中的数据不为零的时候,在str中追加数组中的数据
}
else
{
continue;//当数组中的数据为零时,跳出循环,不在文本框中追加数据
}
str_StandardAnswer = str_StandardAnswer + (i + 1).ToString() + "、" + array_StandardAnswer[comboBox_Exam_NO.SelectedIndex][i] + ";";//给参考答案字符串赋值
}
string str = comboBox_Exam_NO.Items[comboBox_Exam_NO.SelectedIndex] + "\r\n" + "你的答案为:" + str_YourAnswer + "\r\n" + "参考答案为:" + str_StandardAnswer + "\r\n" + "具体考试信息如下:" + "\r\n" + textBox_Check.Text;
sw.WriteLine(str);
sw.Close();
myStream.Close();
}
#endregion
#region 参考答案数组
static char[] Standard_Answer1 = { 'C', 'A', 'C', 'B', 'D', 'A', 'A', 'A', 'A', 'C', 'A', 'D', 'D', 'C', 'B', 'C', 'C', 'A', 'B', 'B', 'C', 'C', 'D', 'D', 'B', 'D', 'A', 'A', 'B', 'C', 'A', 'A', 'B', 'B', 'C', 'B', 'C', 'A', 'D', 'A', 'C', 'B', 'D', 'A', 'C', 'B', 'B', 'D', 'C', 'D', 'A', 'D', 'B', 'B', 'C', 'D', 'C', 'D', 'A', 'B', 'C', 'D', 'A', 'C', 'D', 'C', 'D', 'A', 'C', 'B', 'A', 'D', 'C', 'A', 'D' };
static char[] Standard_Answer2 = {'B','C','D','B','B', 'D','B','D','B', 'D','C','D','B','B','D', //1-15题
//16-35题
'B','D','D','C','A', 'A','D','C','A','D',
'B','A','B','A','B', 'C','C','A','D','B',
//36-55题
'C','D','A','B','B', 'D','B','A','C','C',
'D','C','A','B','C', 'D','A','A','B','D',
//56-75题
'D','B','A','C','C', 'D','B','D','C','B',
'A','C','C','B','C', 'C','B','D','A','A'};
static char[] Standard_Answer3 = { 'B', 'D', 'C', 'D', 'A', 'B', 'C', 'B', 'B', 'B', 'D', 'B', 'B', 'C', 'D', 'C', 'B', 'A', 'D', 'B', 'B', 'D', 'B', 'A', 'C', 'D', 'B', 'A', 'A', 'B', 'D', 'C', 'C', 'D', 'D', 'B', 'C', 'A', 'D', 'D', 'C', 'A', 'B', 'C', 'A', 'B', 'D', 'A', 'D', 'C', 'B', 'D', 'C', 'A', 'B', 'D', 'A', 'B', 'A', 'B', 'D', 'A', 'B', 'B', 'B', 'B', 'A', 'C', 'D', 'A', 'A', 'A', 'C', 'B', 'D' };
static char[] Standard_Answer4 = { 'D', 'A', 'C', 'B', 'B', 'C', 'A', 'B', 'C', 'D', 'C', 'C', 'D', 'C', 'A', 'B', 'C', 'D', 'D', 'A', 'D', 'B', 'A', 'D', 'B', 'B', 'D', 'A', 'C', 'C', 'A', 'B', 'B', 'B', 'B', 'C', 'B', 'C', 'A', 'C', 'D', 'A', 'D', 'B', 'C', 'A', 'B', 'C', 'C', 'D', 'C', 'A', 'C', 'A', 'A', 'D', 'D', 'A', 'D', 'B', 'C', 'D', 'B', 'B', 'A', 'A', 'C', 'B', 'D', 'C', 'A', 'C', 'B', 'B', 'D' };
static char[] Standard_Answer5 = {'C','D','B','B','C', 'B','B','B','C', 'B','C','C','B','D','A',//1-15题
//16-35题
'B','C','C','A','B', 'C','A','C','D','D',
'C','D','B','A','D', 'A','D','A','D','B',
//36-55题
'A','D','B','B','B', 'C','A','B','C','D',
'A','B','B','A','A', 'A','D','B','C','A',
//56-75题
'B','C','D','A','B', 'C','D','C','A','D',
'A','B','B','D','D', 'C','A','A','B','D'};
static char[] Standard_Answer6 = { 'D', 'A', 'B', 'D', 'D', 'B', 'B', 'C', 'A', 'B', 'C', 'C', 'A', 'B', 'D', 'A', 'C', 'D', 'B', 'A', 'A', 'D', 'C', 'D', 'B', 'C', 'B', 'C', 'B', 'B', 'D', 'A', 'C', 'C', 'C', 'C', 'B', 'A', 'A', 'B', 'A', 'D', 'B', 'D', 'C', 'A', 'D', 'A', 'D', 'A', 'A', 'B', 'B', 'A', 'A', 'D', 'D', 'B', 'D', 'B', 'C', 'D', 'A', 'B', 'D', 'B', 'D', 'B', 'A', 'C', 'B', 'B', 'A', 'D', 'B' };
static char[] Standard_Answer7 = { 'A', 'A', 'D', 'A', 'D', 'D', 'A', 'C', 'D', 'B', 'C', 'D', 'B', 'C', 'D', 'D', 'B', 'B', 'A', 'C', 'C', 'D', 'D', 'C', 'B', 'B', 'A', 'D', 'C', 'A', 'C', 'B', 'C', 'A', 'C', 'B', 'A', 'C', 'A', 'B', 'C', 'A', 'B', 'C', 'B', 'A', 'A', 'D', 'D', 'A', 'B', 'C', 'A', 'B', 'A', 'A', 'C', 'D', 'B', 'A', 'C', 'A', 'B', 'D', 'C', 'B', 'D', 'A', 'C', 'C', 'D', 'C', 'A', 'B', 'C' };
static char[] Standard_Answer8 = { 'C', 'A', 'B', 'D', 'C', 'D', 'C', 'D', 'C', 'D', 'C', 'A', 'C', 'B', 'A', 'D', 'B', 'C', 'B', 'B', 'A', 'B', 'C', 'A', 'C', 'A', 'B', 'C', 'D', 'B', 'C', 'A', 'A', 'C', 'B', 'A', 'B', 'A', 'C', 'D', 'D', 'B', 'C', 'A', 'A', 'B', 'A', 'B', 'C', 'C', 'D', 'B', 'D', 'A', 'C', 'B', 'D', 'A', 'C', 'B', 'A', 'C', 'C', 'D', 'D', 'A', 'C', 'B', 'D', 'D', 'A', 'B', 'D', 'D', 'A' };
static char[] Standard_Answer9 = { 'B', 'B', 'D', 'D', 'D', 'B', 'D', 'D', 'A', 'A', 'D', 'B', 'D', 'A', 'A', 'A', 'B', 'C', 'D', 'B', 'C', 'A', 'D', 'C', 'B', 'A', 'D', 'C', 'D', 'B', 'A', 'D', 'B', 'C', 'A', 'C', 'D', 'A', 'D', 'A', 'A', 'D', 'B', 'B', 'C', 'D', 'A', 'A', 'B', 'D', 'C', 'D', 'C', 'D', 'D', 'C', 'D', 'A', 'A', 'B', 'A', 'A', 'B', 'D', 'C', 'D', 'C', 'A', 'B', 'B', 'A', 'C', 'D', 'B', 'D' };
static char[] Standard_Answer10 = { 'C', 'C', 'D', 'A', 'C', 'B', 'D', 'D', 'C', 'C', 'A', 'A', 'A', 'D', 'B', 'A', 'D', 'A', 'D', 'B', 'A', 'B', 'B', 'C', 'A', 'B', 'A', 'A', 'D', 'A', 'C', 'A', 'A', 'B', 'A', 'B', 'C', 'D', 'A', 'B', 'C', 'B', 'D', 'A', 'B', 'A', 'C', 'D', 'B', 'A', 'C', 'C', 'B', 'A', 'D', 'B', 'C', 'C', 'B', 'A', 'B', 'D', 'A', 'A', 'C', 'A', 'A', 'C', 'D', 'A', 'A', 'C', 'B', 'C', 'D' };
static char[] Standard_Answer11 = { 'B', 'C', 'A', 'C', 'B', 'B', 'D', 'A', 'C', 'D', 'B', 'B', 'A', 'C', 'C', 'C', 'A', 'B', 'D', 'B', 'B', 'B', 'A', 'C', 'D', 'A', 'C', 'C', 'D', 'D', 'A', 'D', 'A', 'D', 'D', 'B', 'D', 'A', 'B', 'C', 'C', 'D', 'A', 'D', 'B', 'C', 'C', 'D', 'B', 'D', 'B', 'A', 'C', 'C', 'B', 'B', 'C', 'D', 'A', 'A', 'B', 'D', 'B', 'C', 'B', 'A', 'C', 'B', 'D', 'C', 'C', 'D', 'A', 'A', 'B' };
static char[] Standard_Answer12 = { 'C', 'A', 'A', 'D', 'A', 'B', 'B', 'C', 'A', 'B', 'C', 'B', 'B', 'B', 'B', 'A', 'D', 'C', 'A', 'C', 'B', 'D', 'B', 'B', 'C', 'A', 'B', 'C', 'C', 'C', 'A', 'C', 'D', 'A', 'B', 'C', 'D', 'A', 'C', 'B', 'C', 'C', 'D', 'D', 'C', 'C', 'C', 'B', 'C', 'C', 'D', 'A', 'D', 'A', 'C', 'A', 'A', 'C', 'B', 'D', 'B', 'A', 'D', 'B', 'C', 'A', 'B', 'B', 'C', 'D', 'C', 'B', 'A', 'C', 'B' };
//将参考答案字符数组组成一个新的二位字符数组,方便保存txt文档时读取数据。
char[][] array_StandardAnswer = { Standard_Answer1, Standard_Answer2, Standard_Answer3, Standard_Answer4, Standard_Answer5, Standard_Answer6, Standard_Answer7, Standard_Answer8, Standard_Answer9, Standard_Answer10, Standard_Answer11, Standard_Answer12 };
//用下面的字符串快速生成数组格式的答案
string A1 = "CACBD AAAA CADDCB CCABB CCDDB DAABC AABBC BCADA CBDAC BBDCD ADBBC DCDAB CDACD CDACB ADCAD";
//string A3 = "BDCDA BCBB BDBBCD CBADBBDBAC DBAABDCCDD BCADDCABCA BDADCBDCAB DABABDABBB BACDAAACBD";
//string A4 = "DACBB CABC DCCDCA BCDDA DBADB BDACC ABBBB CBCAC DADBC ABCCD CACAA DDADB CDBBA ACBDC ACBBD";
//string A6 = "DABDD BBCA BCCABD ACDBA ADCDB CBCBB DACCC CBAAB ADBDC ADADA ABBAA DDBDB CDABD BDBAC BBADB";
//string A7 = "AADAD DACD BCDBCD DBBAC CDDCB BADCA CBCAC BACAB CABCB AADDA BCABA ACDBA CABDC BDACC DCABC";
//string A8 = "CABDC DCDC DCACBA DBCBB ABCAC ABCDB CAACB ABACD DBCAA BABCC DBDAC BDACB ACCDD ACBDD ABDDA";
//string A9 = "BBDDD BDDA ADBDAA ABCDB CADCB ADCDB ADBCA CDADA ADBBC DAABD CDCDD CDAAB AABDC DCABB ACDBD";
//string A10 = "CCDAC BDDC CAAADB ADADB ABBCA BAADA CAABA BCDAB CBDAB ACDBA CCBAD BCCBA BDAAC AACDA ACBCD";
//string A11 = "BCACB BDAC DBBACC CABDB BBACD ACCDD ADADD BDABC CDADB CCDBD BACCB BCDAA BDBCB ACBDC CDAAB";
//string A12 = "CAADA BBCA BCBBBB ADCAC BDBBC ABCCC ACDAB CDACB CCDDC CCBCC DADAC AACBD BADBC ABBCD CBACB";
private void button_CreateAnswerArry_Click(object sender, EventArgs e)//将答案字符串生成为答案数组
{
string A = A1.Replace(" ", "");//将字符串中的空格去掉
textBox_Log.AppendText("'");//在第一个字符之前增加','
for (int i = 0; i < A.Length; i++)
{
string a = "";
string temp = A.Substring(i, 1);//按顺序取值
if (i < A.Length - 1)
{
a = temp + "','";//在前面的字符之间增加','
textBox_Log.AppendText(a);
}
else
{
a = temp + "'";//最后一个字母后面只加一个单引号'即可
textBox_Log.AppendText(a);
}
}
}
#endregion
#region panel边框设置
private void panel1_Paint(object sender, PaintEventArgs e)
{
ControlPaint.DrawBorder(e.Graphics, panel1.ClientRectangle,Color.DimGray,1,ButtonBorderStyle.Solid, Color.DimGray,1,ButtonBorderStyle.Solid,
Color.DimGray,1,ButtonBorderStyle.Solid,Color.DimGray,1,ButtonBorderStyle.Solid);
}
private void panel2_Paint(object sender, PaintEventArgs e)
{
ControlPaint.DrawBorder(e.Graphics, panel2.ClientRectangle, Color.DimGray, 1, ButtonBorderStyle.Solid, Color.DimGray, 1, ButtonBorderStyle.Solid,
Color.DimGray, 1, ButtonBorderStyle.Solid, Color.DimGray, 1, ButtonBorderStyle.Solid);
}
private void panel3_Paint(object sender, PaintEventArgs e)
{
ControlPaint.DrawBorder(e.Graphics, panel3.ClientRectangle, Color.DimGray, 1, ButtonBorderStyle.Solid, Color.DimGray, 1, ButtonBorderStyle.Solid,
Color.DimGray, 1, ButtonBorderStyle.Solid, Color.DimGray, 1, ButtonBorderStyle.Solid);
}
private void panel4_Paint(object sender, PaintEventArgs e)
{
ControlPaint.DrawBorder(e.Graphics, panel4.ClientRectangle, Color.DimGray, 1, ButtonBorderStyle.Solid, Color.DimGray, 1, ButtonBorderStyle.Solid,
Color.DimGray, 1, ButtonBorderStyle.Solid, Color.DimGray, 1, ButtonBorderStyle.Solid);
}
#endregion
}
}
下面是信息提示界面的代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace 浙江大学研究生公共英语水平考试自测模拟题集
{
public partial class Notice_Message : Form
{
public Notice_Message()
{
InitializeComponent();
}
private void Notice_Message_Load(object sender, EventArgs e)
{
switch (Form1.Notice_NO)
{
case 1: label_Notice.Text = "请选择模拟题!"; break;
case 2: label_Notice.Text = "您已完成全部答题!"; break;
case 3: label_Notice.Text = "您未完成答题!未作答题号见“答题记录”文本框。"; break;
case 4: label_Notice.Text = "前面没有题了!"; break;
case 5: label_Notice.Text = "已经是最后一题了!"; break;
case 6: label_Notice.Text = "考试已暂停!"; break;
}
}
private void button1_Click(object sender, EventArgs e)
{
Form1.Notice_NO = 0;
this.Close();
}
}
}