基于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#答题系统内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Unity的Console的控制类LogEntries深入解析与实用案例

    Unity的Console的控制类LogEntries深入解析与实用案例

    这篇文章主要为大家介绍了Unity的Console的控制类LogEntries深入解析与实用案例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • C# newtonsoft.json中文乱码问号的解决方案

    C# newtonsoft.json中文乱码问号的解决方案

    这篇文章主要介绍了C# newtonsoft.json中文乱码问号的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • C#中XmlTextWriter读写xml文件详细介绍

    C#中XmlTextWriter读写xml文件详细介绍

    .NET中包含了很多支持XML的类,这些类使得程序员使用XML编程就如同理解XML文件一样简单。在这篇文章中,我将给出这样的一个类的使用示例,这个类就是XmlTextWriter类
    2013-04-04
  • C# 如何获取当前进程或线程的ID

    C# 如何获取当前进程或线程的ID

    这篇文章主要介绍了C# 如何获取当前进程或线程的ID,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • 一文带你了解 C# DLR 的世界(DLR 探秘)

    一文带你了解 C# DLR 的世界(DLR 探秘)

    DLR 是 C#4.0 新引进来的概念,其主要目的就是为了动态绑定与交互。下面小编给大家带来一篇不错教程,一文带你了解 C# DLR 的世界,需要的朋友可以参考下
    2020-02-02
  • 为Xamarin.Forms的导航栏增加搜索功能

    为Xamarin.Forms的导航栏增加搜索功能

    这篇文章介绍了为Xamarin.Forms的导航栏增加搜索功能的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-01-01
  • 基于C#的UDP协议的同步通信实现代码

    基于C#的UDP协议的同步通信实现代码

    本篇文章主要介绍了基于C#的UDP协议的同步实现代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • C#中的多播委托和泛型委托

    C#中的多播委托和泛型委托

    这篇文章介绍了C#中的多播委托和泛型委托,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • 深入C#中使用SqlDbType.Xml类型参数的使用详解

    深入C#中使用SqlDbType.Xml类型参数的使用详解

    本篇文章是对在C#中使用SqlDbType.Xml类型参数的使用进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • unity使用socket编程实现聊天室功能

    unity使用socket编程实现聊天室功能

    这篇文章主要为大家详细介绍了unity使用socket编程实现聊天室功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11

最新评论