【C#】选课程序增加、删除统计学时

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 Pages_127__例6_2_选课程序 { public partial class Form1 : Form { private int totalHours = 0; // 用于存储已选课程的总学分 // 构造函数,初始化窗体 public Form1() { InitializeComponent(); // 初始化窗体上的控件 } // 当窗体加载时,初始化课程数据并添加到ComboBox控件中 private void Form1_Load(object sender, EventArgs e) { // 初始化课程数组 Course[] courses = new Course[7] { new Course("大学英语", 50), new Course("高等数学", 55), new Course("数理统计", 35), new Course("大学物理", 60), new Course("电子电工", 25), new Course("计算机应用基础", 65), new Course("C语言程序设计", 80) }; // 将课程添加到 ComboBox foreach (Course course in courses) { comboBox1.Items.Add(course); // 将每个课程对象添加到ComboBox的Items集合中 } } // Course类定义,用于表示课程信息 public class Course { public string Name; // 课程名称 public int Hours; // 课程学分 // 构造函数,用于创建Course对象 public Course(string name, int hours) { Name = name; Hours = hours; } // 重写ToString方法,用于返回课程名称和学分的字符串表示 public override string ToString() { return Name + " (" + Hours + " 学分)"; } } // 当ComboBox的选中项发生变化时,更新TextBox显示的学分 private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { // 获取选中的课程 if (comboBox1.SelectedItem is Course selectedCourse) { // 更新 textBox1 的文本为选中课程的学分 textBox1.Text = selectedCourse.Hours.ToString(); } } // 当点击添加按钮时,将选中的课程添加到ListBox中,并更新总学分 private void button1_Click(object sender, EventArgs e) { if (comboBox1.SelectedItem is Course selectedCourse) { if (!listBox1.Items.Contains(selectedCourse)) { listBox1.Items.Add(selectedCourse); // 将选中的课程添加到ListBox中 totalHours += selectedCourse.Hours; // 更新总学分 textBox1.Text = totalHours.ToString(); // 更新TextBox显示的总学分 } } } // 当点击删除按钮时,从ListBox中移除选中的课程,并更新总学分 private void button2_Click(object sender, EventArgs e) { if (listBox1.SelectedItem is Course selectedCourse && listBox1.SelectedIndex != -1) { listBox1.Items.Remove(selectedCourse); // 从ListBox中移除选中的课程 totalHours -= selectedCourse.Hours; // 更新总学分 textBox1.Text = totalHours.ToString(); // 更新TextBox显示的总学分 } } } }
上一篇:装杯 之 Linux指令【补充篇】


下一篇:一些面试题总结(二)