基于C#制作考试答题系统

 更新时间:2022年03月31日 09:33:20   作者:THIM  
这篇文章主要为大家详细介绍了如何利用C#制作带窗体的考试答题系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

效果展示:

1. 进入页面:

2. 答题界面:

3. 时间截止界面:

4. 提交界面:

起始页代码

public partial class Start : Form
    {
        public Start()
        {
            InitializeComponent();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Test t = new Test();
            t.Show();
            this.Hide();            
        }
    }

考试页面代码

public partial class Test : Form
    {
        public int currentTime = 0;
        public int num = 0;
        public Test()
        {
            InitializeComponent();
            button2.Visible = false;
        }

        private void 视图ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Start s = new Start();
            this.Hide();
            s.Show();
        }

        private void groupBox1_Enter(object sender, EventArgs e)
        {

        }

        private void Test_Load(object sender, EventArgs e)
        {
            this.timer1.Enabled = true;
            this.timer1.Interval = 1000;
            this.timer1.Start();
        }

        private void label2_Click(object sender, EventArgs e)
        {

        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            currentTime = Convert.ToInt32(label2.Text);
            currentTime -= 1;
            label2.Text = Convert.ToString(currentTime);
            if(currentTime == 0)
            {
                timer1.Stop();
                System.Media.SystemSounds.Asterisk.Play();
                MessageBox.Show("时间到!", "提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
            }
        }

        private void label6_Click(object sender, EventArgs e)
        {

        }

        private void label7_Click(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            Check(groupBox1, "✔");
            Check(groupBox2, "✔");
            Check(groupBox3, "✔");
            Check(groupBox4, "✔");
            Check(groupBox5, "✔");
            a.Enabled = false;
            b.Enabled = false;
            radioButton3.Enabled = false;
            radioButton4.Enabled = false;
            radioButton5.Enabled = false;
            radioButton6.Enabled = false;
            radioButton7.Enabled = false;
            radioButton8.Enabled = false;
            radioButton9.Enabled = false;
            radioButton10.Enabled = false;
            label6.Text = Convert.ToString(num);
            label7.Text = Convert.ToString(num * 20);
            this.timer1.Stop();
            button2.Visible = true;
        }
        public void Check(GroupBox s, String db)
        {
            foreach(Control D in s.Controls)
            {
                if (((RadioButton)D).Checked == true && ((RadioButton)D).Text.Substring(0, 1) == db)
                {
                    num++;
                }
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            label2.Text = "20";
            label6.Text = "0";
            label7.Text = "0";
            this.timer1.Start();
            this.timer1.Interval = 1000;
            Clean(groupBox1);
            Clean(groupBox2);
            Clean(groupBox3);
            Clean(groupBox4);
            Clean(groupBox5);
            a.Enabled = true;
            b.Enabled = true;
            radioButton3.Enabled = true;
            radioButton4.Enabled = true;
            radioButton5.Enabled = true;
            radioButton6.Enabled = true;
            radioButton7.Enabled = true;
            radioButton8.Enabled = true;
            radioButton9.Enabled = true;
            radioButton10.Enabled = true;
            button2.Visible = false;
            num = 0;
        }
        public void Clean(GroupBox s)
        {
            foreach(Control D in s.Controls)
            {
                if(((RadioButton)D).Checked == true)
                {
                    ((RadioButton)D).Checked = false;
                }
            }
        }
    }

有图标的应用程序

到此这篇关于基于C#制作考试答题系统的文章就介绍到这了,更多相关C#答题系统内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 利用C#快速查出哪些QQ好友空间屏蔽了自己

    利用C#快速查出哪些QQ好友空间屏蔽了自己

    我们经常会遇到以下情况吧:想点击好友空间看看他最近的动态,结果发现自己需要申请权限!别担心,本文将为大家介绍如何利用C#快速查出哪些QQ好友空间屏蔽了自己,需要的可以参考一下
    2022-02-02
  • C# 操作符之三元操作符浅析

    C# 操作符之三元操作符浅析

    C# 操作符之三元操作符“?:”是如何使用的呢?C# 操作符之三元操作符“?:”需要注意的是什么呢?那么本文就向你简单介绍C# 操作符之三元操作符“?:”的基本情况。
    2011-02-02
  • C#中通过使用Connection类来实现打开/关闭数据库的代码实例

    C#中通过使用Connection类来实现打开/关闭数据库的代码实例

    今天小编就为大家分享一篇关于C#中通过使用Connection类来实现打开/关闭数据库的代码实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • C#实现矩阵乘法实例分析

    C#实现矩阵乘法实例分析

    这篇文章主要介绍了C#实现矩阵乘法的方法,实例分析了通过C#数组构造矩阵及实现矩阵乘法的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • C#语言基础——结构体和枚举类型全面解析

    C#语言基础——结构体和枚举类型全面解析

    下面小编就为大家带来一篇C#语言基础——结构体和枚举类型全面解析。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • unity里获取text中文字宽度并截断省略的操作

    unity里获取text中文字宽度并截断省略的操作

    这篇文章主要介绍了unity里获取text中文字宽度并截断省略的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • C#实现系统信息监控与获取功能

    C#实现系统信息监控与获取功能

    在 C# 开发的众多应用场景中,获取系统信息以及监控用户操作有着广泛的用途,比如在系统性能优化工具中,需要实时读取 CPU、GPU 资源信息,本文将详细介绍如何使用 C# 来实现这些功能,助力大家在开发中更好地与系统底层进行交互,需要的朋友可以参考下
    2025-01-01
  • Unity shader实现顶点动画波动效果

    Unity shader实现顶点动画波动效果

    这篇文章主要为大家详细介绍了Unity shader实现顶点动画波动效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • 用C#生成不重复的随机数的代码

    用C#生成不重复的随机数的代码

    我们在做能自动生成试卷的考试系统时,常常需要随机生成一组不重复的题目,在.net Framework中提供了一个专门用来产生随机数的类System.Random
    2013-02-02
  • C#使用MiniExcel实现导入导出数据到Excel/CSV文件

    C#使用MiniExcel实现导入导出数据到Excel/CSV文件

    MiniExcel是一个简单、高效避免OOM的.NET处理Excel查、写、填充数据的工具,这篇文章主要介绍了C#如何使用MiniExcel实现导入导出数据到Excel/CSV文件,需要的可以参考下
    2024-02-02

最新评论