1.创建体检项目维护系统中的检查项目类 ,体检套餐类和一个泛型类如下图

2.窗体的搭建,如下图:

3.编写代码:

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 _05_体检套餐
{public partial class FrmMain : Form{public FrmMain(){InitializeComponent();}private List<HealthCheckItem> checkItems = new List<HealthCheckItem>();public List<HealthCheckItem> CheckItems{get { return checkItems; }set { checkItems = value; }}// 创建套餐类表的集合private List<HealthCheckSet> checkSets = new List<HealthCheckSet>();public List<HealthCheckSet> CheckSets{get { return checkSets; }set { checkSets = value; }}// 初始化检查项目信息public void IntitalHealthCheckItem(){//创建检查项目的对象HealthCheckItem healthCheckItem1 = new HealthCheckItem();healthCheckItem1.Name = "请选择";//将数据添加到集合中this.checkItems.Add(healthCheckItem1);//创建检查项目的对象HealthCheckItem healthCheckItem2 = new HealthCheckItem();healthCheckItem2.Name = "肝功";healthCheckItem2.Description = "检查肝功能指标";healthCheckItem2.Price = 50;this.checkItems.Add(healthCheckItem2);//创建检查项目的对象HealthCheckItem healthCheckItem3 = new HealthCheckItem();healthCheckItem3.Name = "身高";healthCheckItem3.Description = "检查身体的高度";healthCheckItem3.Price = 10;this.checkItems.Add(healthCheckItem3);//创建检查项目的对象HealthCheckItem healthCheckItem4 = new HealthCheckItem();healthCheckItem4.Name = "体重";healthCheckItem4.Description = "检查身体重量指标";healthCheckItem4.Price = 20;this.checkItems.Add(healthCheckItem4);//创建检查项目的对象HealthCheckItem healthCheckItem5 = new HealthCheckItem();healthCheckItem5.Name = "视力";healthCheckItem5.Description = "检查视觉能力";healthCheckItem5.Price = 30;this.checkItems.Add(healthCheckItem5);//创建检查项目的对象HealthCheckItem healthCheckItem6 = new HealthCheckItem();healthCheckItem6.Name = "听力";healthCheckItem6.Description = "检查听觉能力";healthCheckItem6.Price = 23;this.checkItems.Add(healthCheckItem6);//创建检查项目的对象HealthCheckItem healthCheckItem7 = new HealthCheckItem();healthCheckItem7.Name = "B超";healthCheckItem7.Description = "检查B超";healthCheckItem7.Price = 80;this.checkItems.Add(healthCheckItem7);//创建检查项目的对象HealthCheckItem healthCheckItem8 = new HealthCheckItem();healthCheckItem8.Name = "心电图";healthCheckItem8.Description = "检查心电图";healthCheckItem8.Price = 50;this.checkItems.Add(healthCheckItem8);}//将检查项目的数据绑定到下拉列表框public void LoadComboxHealthCheckItem(){//定义数组保存String[] checkItemsName = new String[checkItems.Count];for (int i = 0; i < checkItemsName.Length; i++){checkItemsName[i] = checkItems[i].Name;}//绑定数据源this.comboBoxCkeck.DataSource = checkItemsName;//默认选中第一个this.comboBoxCkeck.SelectedIndex = 0;}// 初始化套餐信息public void IntitalHealthCheckSet(){HealthCheckSet healthCheckSet1 = new HealthCheckSet();healthCheckSet1.Name = "请选择";this.checkSets.Add(healthCheckSet1);HealthCheckSet healthCheckSet2 = new HealthCheckSet();healthCheckSet2.Name = "入学体检";this.checkSets.Add(healthCheckSet2);}// 将套餐数据绑定到下拉列表框public void LoadHealthCheckSet(){String[] healthCheckSetNames = new String[checkSets.Count];for (int i = 0; i < healthCheckSetNames.Length; i++){healthCheckSetNames[i] = checkSets[i].Name;}this.comboBoxList.DataSource = healthCheckSetNames;}private void FrmMain_Load(object sender, EventArgs e){//最大化不可用this.MaximizeBox = false;//设置添加不可用this.buttonAd.Enabled = false;//设置删除不可用this.buttondelete.Enabled = false;//设置为只读状态this.comboBoxCkeck.DropDownStyle = ComboBoxStyle.DropDownList;this.comboBoxList.DropDownStyle = ComboBoxStyle.DropDownList;//默认选中一行this.dataGridViewset.SelectionMode = DataGridViewSelectionMode.FullRowSelect;this.labelset.Text = "";this.labelp.Text = "";//调用初始化检查项方法IntitalHealthCheckItem();//调用将检查项目的数据绑定到下拉列表框的方法LoadComboxHealthCheckItem();//调用初始化套餐信息的方法IntitalHealthCheckSet();//调用将套餐数据绑定到下拉列表框的方法LoadHealthCheckSet();LoadcheckSetsItems();}// 加载初始化对应的套餐功能项public void LoadcheckSetsItems(){//创建套餐类的对象HealthCheckSet healthCheckSet = null;//创建检查项的对象HealthCheckItem healthCheckItem = null;string nameSet = "入学体检";//循环遍历得到对应的对象foreach (HealthCheckSet item in checkSets){if (nameSet.Equals(item.Name)){healthCheckSet = item;break;}}//清除对应的套餐对应的功能项healthCheckSet.HealthCheckItems.Clear();string name = "肝功";//循环遍历得到对应的对象foreach (HealthCheckItem item in checkItems){if (name.Equals(item.Name)){healthCheckItem = item;break;}}//创建检查项的对象HealthCheckItem healthCheckItem1 = null;string name1 = "视力";//循环遍历得到对应的对象foreach (HealthCheckItem item in checkItems){if (name1.Equals(item.Name)){healthCheckItem1 = item;break;}}//创建检查项的对象HealthCheckItem healthCheckItem2 = null;string name2 = "身高";//循环遍历得到对应的对象foreach (HealthCheckItem item in checkItems){if (name2.Equals(item.Name)){healthCheckItem2 = item;break;}}//将对象添加到healthCheckSet.HealthCheckItems.Add(healthCheckItem);//将对象添加到healthCheckSet.HealthCheckItems.Add(healthCheckItem1);//将对象添加到healthCheckSet.HealthCheckItems.Add(healthCheckItem2);}// 将数据绑定到DatagridViewpublic void LoadDatagridView(HealthCheckSet healthCheckSet){//将数据绑定到DatagridViewthis.dataGridViewset.DataSource = new BindingList<HealthCheckItem>(healthCheckSet.HealthCheckItems);}HealthCheckSet healthCheckSet = null;private void comboBox1_SelectedIndexChanged(object sender, EventArgs e){/// 当用户选中的是“请选择”的时候绑定数据为以下的集合List<HealthCheckItem> i = new List<HealthCheckItem>();//获取当前选中的项string name = this.comboBoxList.SelectedItem.ToString();//判断用户是否选中套餐名if (name.Equals("请选择")){//数据源为nullthis.dataGridViewset.DataSource = i;this.labelset.Text = "";this.labelp.Text = "";return;}//根据用户选中的套餐名查找对应的检查信息foreach (HealthCheckSet item in checkSets){if (name.Equals(item.Name)){healthCheckSet = item;break;}}//调用将套餐对应的数据绑定到DatagridView的方法LoadDatagridView(healthCheckSet);//加载价格healthCheckSet.CaloPrice();this.labelset.Text = healthCheckSet.Name;this.labelp.Text = healthCheckSet.Price.ToString();//将按年调为可用状态this.buttonAd.Enabled = true;this.buttondelete.Enabled = true;} //当用户点击”添加套餐“的时候响应的事件private void buttonAdd_Click(object sender, EventArgs e){//判断用户书否输入if (this.textBoxName.Text.Trim().Equals(string.Empty)){MessageBox.Show("请输入要添加的套餐内容!", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Information);this.textBoxName.Focus();return;}//获得用户输入的文本string name = this.textBoxName.Text.Trim();//判断是否有同名的套餐存在foreach (HealthCheckSet hc in checkSets){if (name.Equals(hc.Name)){MessageBox.Show("已经有相同名字的体检套餐存在!");return;}}//创建套餐对象HealthCheckSet healthCheckSet1 = new  HealthCheckSet();healthCheckSet1.Name = name;//将套餐对象添加到套餐集合中this.checkSets.Add(healthCheckSet1);//调用将套餐数据绑定到下拉列表框的方法LoadHealthCheckSet();//将套餐列表默认选中当前添加的项this.comboBoxList.SelectedItem = name;MessageBox.Show("添加成功!", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Information);this.textBoxName.Clear();}// 当用户点击”添加检查项“的时候响应的事件private void buttonAd_Click(object sender, EventArgs e){//获得用户选中的项string name = this.comboBoxCkeck.SelectedItem.ToString();HealthCheckItem hci = null;if (name.Equals("请选择")){MessageBox.Show("您当前为选择相应的添加功能!", "添加提示", MessageBoxButtons.OK, MessageBoxIcon.Information);return;}//判断套餐中是否已经存在要添加的项foreach (HealthCheckItem item in healthCheckSet.HealthCheckItems){if (name.Equals(item.Name)){MessageBox.Show("您已经添加了“" + item.Name + "”此检查项", "添加提示", MessageBoxButtons.OK, MessageBoxIcon.Information);return;}}//循环遍历得到用户选中的添加项的对象foreach (HealthCheckItem item in checkItems){if (name.Equals(item.Name)){hci = item;break;}}//HealthCheckSet checkset = new HealthCheckSet();healthCheckSet.HealthCheckItems.Add(hci);//价格刷新healthCheckSet.CaloPrice();this.labelset.Text = healthCheckSet.Name;this.labelp.Text = healthCheckSet.Price.ToString();//调用datagridview加载的方法LoadDatagridView(healthCheckSet);MessageBox.Show("添加成功!", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Information);}private void buttondelete_Click(object sender, EventArgs e){//判断用户是否选中if (this.dataGridViewset.SelectedRows.Count > 0){//获得用户选中的行的首行首列string name = Convert.ToString(this.dataGridViewset.SelectedRows[0].Cells[0].Value);//创建检查的项HealthCheckItem checkitem = null;//循环遍历集合得到对应的对象foreach (HealthCheckItem item in healthCheckSet.HealthCheckItems){if (name.Equals(item.Name)){checkitem = item;break;}}//删除用户选中的套餐的选中的项的方法healthCheckSet.HealthCheckItems.Remove(checkitem);//价格刷新healthCheckSet.CaloPrice();this.labelset.Text = healthCheckSet.Name;this.labelp.Text = healthCheckSet.Price.ToString();//调用datagridview加载的方法LoadDatagridView(healthCheckSet);MessageBox.Show("删除成功!", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Information);}}}}

C# 体检套餐管理系统相关推荐

  1. java集合体检套餐管理系统_体检套餐管理系统

    体检套餐管理系统 首先搭建一个窗体 创建体检项目的两个类一个是检查项目类(HealthCheckItem),另一个是套餐类(HealthCheckSet) 在HealthCheckItem类 中有 项 ...

  2. 案例 体检套餐管理系统 需求一览 c# 1614099219

    案例 体检套餐管理系统 需求一览 c# 1614099219 界面一览 步骤一 窗体搭建 查看与删除功能 给套餐添加检察项目 注意: 可帮助查询对象是否在数组中 列表.Contains(数据) 新建套 ...

  3. 第五章项目 体检套餐管理系统

    1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Da ...

  4. 05章 体检套餐管理系统

    1:搭建窗体 2:用户自定义类:HealthCheckItem和HealthCheckSet 1 namespace 体检套餐管理2 {3 public class HealthCheckItem4 ...

  5. java 体检套餐_体检套餐管理系统的综合版

    步骤: 定义几个类: HealthCheckItem类:检查项目 属性: public string Description { get; set; }public int Price { get; ...

  6. C#oop体检套餐管理系统

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  7. java集合体检套餐管理系统_基于ssm vue的综合项目 健康体检管理系统-第六章

    移动端开发对体检预约进行的查询 当页面加载完毕时,利用vue的钩子函数 已加载页面就直接查询数据将数据进行渲染 created() { axios.post("/setmeal/getSet ...

  8. 体检套餐管理系统 0421

    界面 结构分析 项目中的数据结构

  9. 基于Spring+SpringMVC+hibernate实现的体检中心管理系统

    源码及论文下载: http://www.byamd.xyz/tag/java/ 摘 要 随着人们生活水平的不断提高,人们的保健意识随之增强,体检已普遍成为人们保健的重要部分.特殊职业的体检.各种职业病 ...

最新文章

  1. CesiumLab V1.2 新功能 倾斜数据处理
  2. 【文本分类】混合CHI和MI的改进文本特征选择方法
  3. [architecture]-Cortex-A53的configuration signals
  4. oracle 循环语句总结(breakcontinue)
  5. MyBatis的删除数据操作
  6. BurpSuite插件 -- FastjsonScan(反序列化检测)
  7. 3.07 检测两个表中是否有相同的数据
  8. [LAMP]——mod_security和mod_evasive模块的安装
  9. Oracle PL SQL完全自学手册pdf
  10. sap 设置服务器信息,服务器上配置sap
  11. 不使用中国手机号码注册网易云音乐
  12. 容器-2018百战程序员JAVA全系列终结版第07阶:容器和数据结构
  13. 易用宝项目记录day2-框架搭建
  14. 如何打造团队的代码风格统一以及开发效率的提升
  15. linux fat32转ntfs,fat32怎么转换ntfs格式?不损坏数据FAT32转NTFS命令是什么 电脑维修技术网...
  16. 软件测试系列——冒烟测试
  17. sass、scss、和css的关系
  18. Vue路由懒加载报错问题解决
  19. 单片机期末实训---- 密码锁和交通灯
  20. JavaCV-学习笔记一

热门文章

  1. Java打印异常的正确方式
  2. 9000字深度详解华为绩效管理体系
  3. 2022-2028中国ITX电脑机箱市场现状研究分析与发展前景预测报告
  4. 墨云saas系统总结
  5. vscode编译 不允许使用与号()。 运算符是为将来使用而保留的;请用双引号将与号引起来(““),以将其作为字符串的一部分传递
  6. 计算机技术在测绘专业应用,浅析计算机在现代测绘技术应用.doc
  7. [ssh新闻发布系统五]删除新闻
  8. 没了超点,爱优腾日子更煎熬?
  9. iOS icon图标尺寸
  10. 堆在计算机中的作用,堆(数据结构)_百度百科