using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HealthCheck
{
    //检查项目
    class HealthCheckItem
    {
        private string name;
        public string Name
        {
            get { return name; }
            set { name = value; }
        }

private string bewrite;
        public string Bewrite
        {
            get { return bewrite; }
            set { bewrite = value; }
        }

private int price;
        public int Price
        {
            get { return price; }
            set { price = value; }
        }

public HealthCheckItem()
        {}
        
        public HealthCheckItem(string name,int price,string bewrite)
        {
            this.name = name;
            this.price = price;
            this.bewrite = bewrite;
        }

public static Dictionary<string, HealthCheckItem> ItemDic = new Dictionary<string, HealthCheckItem>()
        {
            {"身高",new HealthCheckItem("身高",5,"用于测量身高")},
            {"体重",new HealthCheckItem("体重",5,"用于测量体重")},
            {"视力",new HealthCheckItem("视力",5,"用于检查视力")},
            {"听力",new HealthCheckItem("听力",5,"用于检查听力")},
            {"肝功能",new HealthCheckItem("肝功能",200,"用于检测肝功能")},
            {"B超",new HealthCheckItem("B超",60,"用于B超检查")},
            {"心电图",new HealthCheckItem("心电图",100,"用于检查心电图")},
            {"肺活量",new HealthCheckItem("肺活量",8,"用于测量肺活量")}
        };
        
    }

}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HealthCheck
{
    //套餐
    class HealthCheckSet
    {
        private string name;
        public string Name
        {
            get { return name; }
            set { name = value; }
        }

public List<HealthCheckItem> ItemList=new List<HealthCheckItem>();
        public static Dictionary<string, List<HealthCheckItem>> SetDic = new Dictionary<string, List<HealthCheckItem>>();
        public HealthCheckSet()
        {
            this.ItemList = new List<HealthCheckItem>();
            ItemList.Add(HealthCheckItem.ItemDic["身高"]);
            ItemList.Add(HealthCheckItem.ItemDic["体重"]);
            ItemList.Add(HealthCheckItem.ItemDic["视力"]);
            ItemList.Add(HealthCheckItem.ItemDic["听力"]);
            ItemList.Add(HealthCheckItem.ItemDic["肺活量"]);
            SetDic.Add("入学体检",this.ItemList);
        }
        public HealthCheckSet(string name)
        {
            SetDic.Add(name,this.ItemList);
        }
            
        /// <summary>
        /// Dic_Values 添加
        /// </summary>
        /// <param name="str"></param>
        public static void DicAdd(List<HealthCheckItem> list,string str)
        {
           list.Add(HealthCheckItem.ItemDic[str]);
        }
    }
}

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 HealthCheck
{
    public partial class FrmMain : Form
    {
        public FrmMain()
        {
            InitializeComponent();
        }

private void FrmMain_Load(object sender, EventArgs e)
        {
            cboItem.Items.Add("请选择");
            cboItem.SelectedIndex = 0;
            RenovateItem();
            HealthCheckSet set = new HealthCheckSet();
            RenovateList();
            cboList.SelectedIndex = 0;
            cboItem.Enabled = false;
            btnAddItem.Enabled = false;
            btnDeleteItem.Enabled = false;
        }
        //更新检查项目列表
        private void RenovateItem()
        {
            foreach (KeyValuePair<string, HealthCheckItem> item in HealthCheckItem.ItemDic)
            {
                cboItem.Items.Add(item.Key);
            }
        }
        //更新套餐列表
        private void RenovateList()
        {
            cboList.Items.Clear();
            cboList.Items.Add("请选择");
            foreach (KeyValuePair<string, List<HealthCheckItem>> item in HealthCheckSet.SetDic)
            {
                cboList.Items.Add(item.Key);
            }
            if (cboList.Items.Count>2)
            {
                cboList.SelectedIndex = cboList.Items.Count - 1;   
            }
        }
        //套餐列表
        private void cboList_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cboList.SelectedIndex>0)
            {
                lblChooseName.Text = cboList.Text;
                cboItem.Enabled = true;
                RenovateDGV();
            }
            else
            {
                cboItem.Enabled = false;
            }
        }
        /// <summary>
        /// 刷新DGV列表
        /// </summary>
        private void RenovateDGV()
        {
            dgvHealthCheckInfo.DataSource = new BindingList<HealthCheckItem>(HealthCheckSet.SetDic[cboList.Text]);
            lblChoosePrice.Text = PriceSum(cboList.Text).ToString();
        }
        /// <summary>
        /// 检查总金额
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        private int PriceSum(string key)
        {
            int sum = 0;
            foreach (HealthCheckItem item in HealthCheckSet.SetDic[key])
            {
                sum += item.Price;
            }
            return sum;
        }
        //项目列表
        private void cboItem_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cboItem.SelectedIndex>0)
            {
                btnAddItem.Enabled = true;
            }
            else
            {
                btnAddItem.Enabled = false;
                btnDeleteItem.Enabled = false;
            }
        }
        //DGV单击事件
        private void dgvHealthCheckInfo_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (!btnDeleteItem.Enabled)
            {
                btnDeleteItem.Enabled = true;   
            }
        }
        //删除检查项目
        private void btnDeleteItem_Click(object sender, EventArgs e)
        {
            DialogResult result = MessageBox.Show("您确定要删除吗?","警告!",MessageBoxButtons.OKCancel,MessageBoxIcon.Information);
            if (result == DialogResult.OK)
            {
                if (dgvHealthCheckInfo.SelectedRows[0] != null && dgvHealthCheckInfo.SelectedRows[0].Cells[0] != null && dgvHealthCheckInfo.SelectedRows[0].Cells[0].Value != null)
                {
                    //删除 套餐中所选的与内置检查项目相匹配的项
                    HealthCheckSet.SetDic[cboList.Text].Remove(HealthCheckItem.ItemDic[dgvHealthCheckInfo.SelectedRows[0].Cells["clmItemName"].Value.ToString()]);
                    RenovateDGV();
                }
            }
        }
        //添加检查项目
        private void btnAddItem_Click(object sender, EventArgs e)
        {
            if (HealthCheckSet.SetDic[cboList.Text].Contains(HealthCheckItem.ItemDic[cboItem.Text]))
            {
                MessageBox.Show(cboList.Text+"套餐中已存在该检查项目!","错误",MessageBoxButtons.OK,MessageBoxIcon.Error);
            }
            else
            {
                HealthCheckSet.DicAdd(HealthCheckSet.SetDic[cboList.Text],cboItem.Text);
                RenovateDGV();
            }
        }
        //套餐添加
        private void btnAdd_Click(object sender, EventArgs e)
        {
            if (txtName.Text!="")
            {
                foreach (string item in HealthCheckSet.SetDic.Keys)
                {
                    if (txtName.Text.Equals(item))
                    {
                        MessageBox.Show("已经存在"+txtName.Text+"套餐!");
                        return;
                    }
                }
                HealthCheckSet dic = new HealthCheckSet(txtName.Text);
                RenovateList();
            }
        }
    }
}

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

  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. C# 体检套餐管理系统

    1.创建体检项目维护系统中的检查项目类 ,体检套餐类和一个泛型类如下图 2.窗体的搭建,如下图: 3.编写代码: using System; using System.Collections.Gene ...

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

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

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

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

  8. 体检套餐管理系统 0421

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

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

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

最新文章

  1. OpenCASCADE:Inspector的TInspectorEXE 示例
  2. 【算法学习】枚举与剪枝(一)
  3. javaCV - 视频截帧,清晰度调整,转gif,视频转音频
  4. spring boot测试_测试Spring Boot有条件的合理方式
  5. android开发中EditText自动获取焦点时隐藏hint的代码
  6. 南京宝坚电子,招聘图像算法工程师
  7. RPG 学习 一 基本
  8. Spark2.2(三十九):如何根据appName监控spark任务,当任务不存在则启动(任务存在当超过多久没有活动状态则kill,等待下次启动)...
  9. 免费制作gif图片工具
  10. pi/4QPSK调制解调原理
  11. ArcGIS重采样栅格后栅格数目居然不变(解决)
  12. DELL 笔记本 触摸板 驱动安装 与 禁用启动
  13. 计算机与通信会议排名
  14. 华为云学院学习文档如何下载
  15. 诗词温习集:跟梁瀚文一起重温诗词(宋词)之《雨霖铃.寒蝉凄切》宋.柳永
  16. Bit Miracle Jpegv2.1.1117
  17. 修改php fpm监听端口,怎样修正php fpm监听端口_后端开发
  18. 1148 数字字符出现频率
  19. Autonomous Driving in Adverse Weather Conditions: A Survey - 恶劣天气条件下的自动驾驶:一项调查 (arXiv 2021)
  20. mac怎么切换输入法(在外接键盘下)

热门文章

  1. 2022年YouTube营销:5个推荐的数据分析工具
  2. Telephone dialer
  3. 计算机的新兴技术在测绘工程领域的应用,GPS测绘技术在测绘工程中的具体应用...
  4. Cisco packet tracert汉化
  5. 威客相当地址收藏_无需整理
  6. g1gc调优的一次实战记录
  7. linux Runtime
  8. CSS div DIV 居中 XX XXX xx
  9. 9Django-----------Django框架------------安装使用、基本介绍
  10. XSS学习笔记:XSS Challenges 1-19通关全详解