文章目录
、
系统概述
如何使用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();
}
}
}
代码逻辑结构
-
初始化:在
Form1
的构造函数中调用InitializeComponent
方法,初始化窗体和控件。 -
全局变量:定义三个字符串变量
first
、second
和third
,分别用于存储用户选择的基础课程、语言课程和应用课程。 -
检查函数:
checkFirst
:检查基础课程的单选按钮,更新first
变量。checkSecond
:检查语言课程的单选按钮,更新second
变量。checkThird
:检查应用课程的复选框,更新third
变量。
-
展示函数:
showMsg
函数根据全局变量的值更新文本框textBox1
的内容。 -
事件处理器:为每个单选按钮和复选框的
CheckedChanged
事件绑定事件处理器,当用户更改选择时,调用相应的检查函数和展示函数。