首页 > 系统相关 >如何使用C#和Windows Forms创建一个选课系统

如何使用C#和Windows Forms创建一个选课系统

时间:2024-10-29 16:20:10浏览次数:7  
标签:Checked third 选课 C# Text System Forms second using

文章目录


系统概述

如何使用C#和Windows Forms来创建一个简单的选课系统。

1. 环境准备

在开始之前,请确保开发环境中安装了以下组件:

  • Visual Studio:一个集成开发环境,用于编写和运行C#代码。
  • .NET Framework:一个软件开发框架,提供了构建Windows应用程序所需的类库。

2. 创建项目

打开Visual Studio,创建一个新的Windows Forms应用项目。选择“文件” > “新建” > “项目”,然后从项目类型中选择“Windows Forms App (.NET Framework)”。

3. 设计界面

在设计视图中,你可以通过工具箱拖放控件来设计界面。对于我们的选课系统,我们需要以下控件:

  • 3组单选按钮(RadioButton):用于选择基础课程。
  • 5组单选按钮:用于选择语言课程。
  • 5组复选框(CheckBox):用于选择应用课程。
  • 1个文本框(TextBox):用于显示选课结果。

4. 编写代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace SelectSubject
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        // 定义全局变量来存储用户选择的课程
        string first = "";
        string second = "";
        string third = "";

        // 定义第一门课(基础课程)的选择检查函数
        private void checkFirst()
        {
            // 检查哪个单选按钮被选中,并更新first变量
            if (radioButton1.Checked)
            {
                first = radioButton1.Text;
            }
            else if (radioButton2.Checked)
            {
                first = radioButton2.Text;
            }
        }

        // 定义第二门课(语言课程)的选择检查函数
        private void checkSecond()
        {
            // 检查哪个单选按钮被选中,并更新second变量
            if (radioButton3.Checked) { second = radioButton3.Text; }
            else if (radioButton4.Checked) { second = radioButton4.Text; }
            else if (radioButton5.Checked) { second = radioButton5.Text; }
            else if (radioButton6.Checked) { second = radioButton6.Text; }
            else if (radioButton7.Checked) { second = radioButton7.Text; }
        }

        // 定义第三门课(应用课程)的选择检查函数
        private void checkThird()
        {
            // 初始化third变量为空字符串
            third = "";
            // 检查哪个复选框被选中,并更新third变量
            if (checkBox1.Checked) third += "" + checkBox1.Text + " ";
            if (checkBox2.Checked) third += "" + checkBox2.Text + " ";
            if (checkBox3.Checked) third += "" + checkBox3.Text + " ";
            if (checkBox4.Checked) third += "" + checkBox4.Text + " ";
            if (checkBox5.Checked) third += "" + checkBox5.Text + " ";
        }

        // 定义展示函数,用于更新文本框显示用户的选择
        private void showMsg()
        {
            textBox1.Text = "你的选课结果如下:\r\n";
            if (!first.Equals(""))
                textBox1.Text += "基础: " + first + "\r\n";
            if (!second.Equals(""))
                textBox1.Text += "语言: " + second + "\r\n";
            if (!third.Equals(""))
                textBox1.Text += "应用: " + third;
        }

        // 第一门课的事件处理器,当用户更改选择时调用
        private void first_CheckedChanged(object sender, EventArgs e)
        {
            checkFirst();
            showMsg();
        }

        // 第二门课的事件处理器,当用户更改选择时调用
        private void second_CheckedChanged(object sender, EventArgs e)
        {
            checkSecond();
            showMsg();
        }

        // 第三门课的事件处理器,当用户更改选择时调用
        private void third_CheckedChanged(object sender, EventArgs e)
        {
            checkThird();
            showMsg();
        }
    }
}

在这里插入图片描述

代码逻辑结构
  1. 初始化:在Form1的构造函数中调用InitializeComponent方法,初始化窗体和控件。

  2. 全局变量:定义三个字符串变量firstsecondthird,分别用于存储用户选择的基础课程、语言课程和应用课程。

  3. 检查函数

    • checkFirst:检查基础课程的单选按钮,更新first变量。
    • checkSecond:检查语言课程的单选按钮,更新second变量。
    • checkThird:检查应用课程的复选框,更新third变量。
  4. 展示函数showMsg函数根据全局变量的值更新文本框textBox1的内容。

  5. 事件处理器:为每个单选按钮和复选框的CheckedChanged事件绑定事件处理器,当用户更改选择时,调用相应的检查函数和展示函数。

标签:Checked,third,选课,C#,Text,System,Forms,second,using
From: https://blog.csdn.net/Argonaut_/article/details/143333103

相关文章

  • 解码小红书CES算法,让你的笔记阅读量提升100%
    随着社交媒体成为日常生活的一部分,内容创作者们都在积极寻找提高作品可见性的方法。作为社交分享领域的佼佼者,小红书凭借其独特的CES算法机制,在众多平台中脱颖而出。本文将深入探讨小红书的CES算法工作原理,并提供实用技巧,帮助你显著提升笔记的阅读量。一、小红书CES算法解......
  • Spring Security 4大核心架构图与21种安全验证策略场景分析(高级篇)
    SpringSecurity是一个功能强大且高度可定制的Java安全框架,用于保护基于Spring的应用程序。它提供全面的安全服务,包括认证、授权、防止CSRF攻击、会话管理等。通过灵活的配置选项和多种认证机制,SpringSecurity帮助开发者构建安全、健壮的应用系统,支持从简单的表单......
  • 全国山洪径流模拟与洪水淹没危险性评价、GIS水文信息提取与分析、洪峰流量估算、洪水
    目录专题一:洪水淹没危险性评价方法及技术专题二:GIS水文信息提取与分析专题三:山洪径流模拟与洪峰流量估算、洪水频率分析专题四:【山洪、洪水】淹没模拟及水力学分析专题五:洪水风险制图及2024年典型洪水复盘GIS水文分析(ArcHydro、SpatialAnlysist等模块)是流域水文模拟......
  • macOS Sequoia 15.1 (24B83) 正式版 ISO、IPSW、PKG 下载
    macOSSequoia15.1(24B83)正式版ISO、IPSW、PKG下载iPhone镜像、Safari浏览器重大更新和AppleIntelligence等众多全新功能令Mac使用体验再升级请访问原文链接:macOSSequoia15.1(24B83)正式版ISO、IPSW、PKG下载查看最新版。原创作品,转载请保留出处。作者主页......
  • macOS Sequoia 15.1 (24B83) Boot ISO 原版可引导镜像下载
    macOSSequoia15.1(24B83)BootISO原版可引导镜像下载iPhone镜像、Safari浏览器重大更新和AppleIntelligence等众多全新功能令Mac使用体验再升级请访问原文链接:macOSSequoia15.1(24B83)BootISO原版可引导镜像下载查看最新版。原创作品,转载请保留出处。作者主......
  • Xcode 16.1 (16B40) 发布下载 - Apple 平台 IDE
    Xcode16.1(16B40)发布下载-Apple平台IDEIDEforiOS/iPadOS/macOS/watchOS/tvOS/visonOS发布日期:2024年10月28日Xcode16.1包含适用于iOS18.1、iPadOS18.1、AppletvOS18.1、watchOS11.1、macOSSequoia15.1和visionOS2.1的SDK。Xcode16.1版本支持在......
  • nginx: [emerg] "user" directive is not allowed here in /etc/nginx/conf.d/nginx.c
    昨日测试使用dockerfile搭建nginx,遇到了报错:nginx:[emerg]“user”directiveisnotallowedherein/etc/nginx/conf.d/nginx.conf:1。网上没搜到相关的原因,今日找到原因,记录一下一、配置描述我的目录层级是这样的我的Dockerfile是这样的FROMnginx:latestEXPOS......
  • [CodeForces] CF520 题解
    A.Pangram【题目大意】给定一个字符串,询问是否所有英文字符(a到z)都在这个字符串中出现过,不区分大小写。【解题思路】开个桶记录字符是否出现过,最后遍历桶,如果发现有一个没出现就输出NO,否则就输出YES。注意不区分大小写!B.TwoButtons【题目大意】给定两个正整数\(n\)......
  • C语言 【句子倒叙】
        在学期C语言前期,经常会遇到一个经典的题目:倒序字符串。这个题目利用指针可以很简单地得到解决。句子倒叙需要用到这个思想,在正式句子倒叙之前我们先来倒叙字符串。#include<stdio.h>voidreverse(char*arr,char*right){ char*left=arr; while(left<......
  • 后台管理系统的通用权限解决方案(六)SpringBoot整合Logback实现日志记录
    1Logback介绍1.1Logback的组件由上图可知,Logback和Log4j都是slf4j规范的具体实现。在程序中直接调用Logback的API其实都是slf4j规范定义好的API,其底层则是真正的日志实现组件—Logback或者Log4j。Logback构建在三个主要的类上:Logger,Appender和Layout。这三个不同类型......